From: Junio C Hamano Date: Sun, 19 May 2019 08:35:40 +0000 (+0900) Subject: What's cooking (2019/05 #03) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0eb100fb6cfd2bd7e49eae394cc7197211e4a89e;p=thirdparty%2Fgit.git What's cooking (2019/05 #03) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 886ab7c7af..9afc528852 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (May 2019, #02; Tue, 14) -X-master-at: ab15ad1a3b4b04a29415aef8c9afa2f64fc194a2 -X-next-at: e745c3d227fefd28dbcf0011398e178098d621e4 +Subject: What's cooking in git.git (May 2019, #03; Sun, 19) +X-master-at: aa25c82427ae70aebf3b8f970f2afd54e9a2a8c6 +X-next-at: 3120a1824446a317099b597aac098c4ec420be6e -What's cooking in git.git (May 2019, #02; Tue, 14) +What's cooking in git.git (May 2019, #03; Sun, 19) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,9 +12,10 @@ Here are the topics that have been cooking. Commits prefixed with '+' are in 'next'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. -An early preview 2.22-rc0 has been tagged. Among the topics merged -to 'master' there might be some that are a bit undercooked, but -hopefully we can stabilize them quickly enough. +The first release candidate Git 2.22-rc1 has been tagged. There +still are a few topics from 'next' that need to go to 'master' +before the final, but otherwise this should be pretty close to the +final version. Knock knock... You can find the changes described here in the integration branches of the repositories listed at @@ -24,188 +25,266 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* cc/access-on-aix-workaround (2019-04-25) 1 commit - (merged to 'next' on 2019-05-09 at 79b25b1954) - + git-compat-util: work around for access(X_OK) under root +* ab/perf-installed-fix (2019-05-08) 6 commits + (merged to 'next' on 2019-05-13 at ccd997a142) + + perf-lib.sh: forbid the use of GIT_TEST_INSTALLED + + perf tests: add "bindir" prefix to git tree test results + + perf-lib.sh: remove GIT_TEST_INSTALLED from perf-lib.sh + + perf-lib.sh: make "./run " use the correct gits + + perf aggregate: remove GIT_TEST_INSTALLED from --codespeed + + perf README: correct docs for 3c8f12c96c regression - Workaround for standard-compliant but less-than-useful behaviour of - access(2) for the root user. + Performance test framework has been broken and measured the version + of Git that happens to be on $PATH, not the specified one to + measure, for a while, which has been corrected. + cf. <20190507105434.9600-1-avarab@gmail.com> -* dl/no-extern-in-func-decl (2019-05-05) 3 commits - (merged to 'next' on 2019-05-09 at d165ac4cee) - + *.[ch]: manually align parameter lists - + *.[ch]: remove extern from function declarations using sed - + *.[ch]: remove extern from function declarations using spatch +* ab/sha1dc (2019-05-14) 1 commit + (merged to 'next' on 2019-05-16 at a663e08047) + + sha1dc: update from upstream - Mechanically and systematically drop "extern" from function - declarlation. + Update collision-detecting SHA-1 code to build properly on HP-UX. -* dl/rev-tilde-doc-clarify (2019-05-08) 4 commits - (merged to 'next' on 2019-05-09 at 6efd564b11) - + revisions.txt: remove ambibuity between : and : - + revisions.txt: mention ~ form - + revisions.txt: mark optional rev arguments with [] - + revisions.txt: change "rev" to "" +* ab/trace2-typofix (2019-05-13) 1 commit + (merged to 'next' on 2019-05-13 at f1229d4d9d) + + trace2: fix up a missing "leave" entry point - Docfix. + Typofix. -* ew/repack-with-bitmaps-by-default (2019-03-18) 3 commits - (merged to 'next' on 2019-05-09 at 4f8e8b01c8) - + pack-objects: default to writing bitmap hash-cache - + t5310: correctly remove bitmaps for jgit test - + repack: enable bitmaps by default on bare repos +* bl/t4253-exit-code-from-format-patch (2019-05-07) 1 commit + (merged to 'next' on 2019-05-15 at 4893c65956) + + t4253-am-keep-cr-dos: avoid using pipes - The connectivity bitmaps are created by default in bare - repositories now; also the pathname hash-cache is created by - default to avoid making crappy deltas when repacking. - cf. <87a7g2iuem.fsf@evledraar.gmail.com> + Avoid patterns to pipe output from a git command to feed another + command in tests. -* jc/make-dedup-ls-files-output (2019-04-22) 1 commit - (merged to 'next' on 2019-05-09 at e3d5825003) - + Makefile: dedup list of files obtained from ls-files +* cb/http-push-null-in-message-fix (2019-05-15) 1 commit + (merged to 'next' on 2019-05-16 at d9709e0c40) + + http-push: prevent format overflow warning with gcc >= 9 - A "ls-files" that emulates "find" to enumerate files in the working - tree resulted in duplicated Makefile rules that caused the build to - issue an unnecessary warning during a trial build after merge - conflicts are resolved in working tree *.h files but before the - resolved results are added to the index. This has been corrected. - A not-so-low hanging fruit to teach ls-files to dedup either optionally - or always has also been discussed, which probably is a good idea, - to prevent mistakes similar to the bug this topic fixes in the future. + Code clean-up. -* jh/trace2 (2019-05-10) 2 commits - (merged to 'next' on 2019-05-10 at 8b4b5564af) - + trace2: fix up a missing "leave" entry point - (merged to 'next' on 2019-05-09 at e1bba8aeac) - + trace2: fix incorrect function pointer check +* cm/notes-comment-fix (2019-05-07) 1 commit + (merged to 'next' on 2019-05-15 at af8fffab26) + + notes: correct documentation of format_display_notes() - A few embarrassing bugfixes. + A stale in-code comment has been updated. -* jh/trace2-sid-fix (2019-05-07) 11 commits - (merged to 'next' on 2019-05-10 at 71c39675ec) - + trace2: fixup access problem on /etc/gitconfig in read_very_early_config - (merged to 'next' on 2019-04-25 at a5c08f1226) - + trace2: update docs to describe system/global config settings - + trace2: make SIDs more unique - + trace2: clarify UTC datetime formatting - + trace2: report peak memory usage of the process - + trace2: use system/global config for default trace2 settings - + config: add read_very_early_config() - + trace2: find exec-dir before trace2 initialization - + trace2: add absolute elapsed time to start event - + trace2: refactor setting process starting time - + config: initialize opts structure in repo_read_config() +* cw/diff-highlight (2019-05-09) 1 commit + (merged to 'next' on 2019-05-13 at 050d707166) + + diff-highlight: use correct /dev/null for UNIX and Windows - Polishing of the new trace2 facility continues. The system-level - configuration can specify site-wide trace2 settings, which can be - overridden with per-user configuration and environment variables. - cf. (v4) + Portability fix for a diff-highlight tool (in contrib/). -* jk/ls-files-doc-markup-fix (2019-04-23) 1 commit - (merged to 'next' on 2019-05-09 at a68fe0ae72) - + doc/ls-files: put nested list for "-t" option into block +* dl/branch-from-3dot-merge-base (2019-05-07) 2 commits + (merged to 'next' on 2019-05-13 at 2eb387070e) + + branch: make create_branch accept a merge base rev + + t2018: cleanup in current test - Docfix. + "git branch new A...B" and "git checkout -b new A...B" have been + taught that in their contexts, the notation A...B means "the merge + base between these two commits", just like "git checkout A...B" + detaches HEAD at that commit. + cf. -* jk/p5302-avoid-collision-check-cost (2019-04-23) 1 commit - (merged to 'next' on 2019-05-09 at 8dc92cad96) - + p5302: create the repo in each index-pack test +* dl/difftool-mergetool (2019-05-13) 7 commits + (merged to 'next' on 2019-05-15 at 19ecd284b3) + + difftool: fallback on merge.guitool + + difftool: make --gui, --tool and --extcmd mutually exclusive + + mergetool: fallback to tool when guitool unavailable + + mergetool--lib: create gui_mode function + + mergetool: use get_merge_tool function + + t7610: add mergetool --gui tests + + t7610: unsuppress output - Fix index-pack perf test so that the repeated invocations always - run in an empty repository, which emulates the initial clone - situation better. + Update "git difftool" and "git mergetool" so that the combinations + of {diff,merge}.{tool,guitool} configuration variables serve as + fallback settings of each other in a sensible order. + cf. (v5) -* jk/perf-aggregate-wo-libjson (2019-04-24) 1 commit - (merged to 'next' on 2019-05-09 at e697c1993b) - + t/perf: depend on perl JSON only when using --codespeed +* dl/warn-tagging-a-tag (2019-05-09) 1 commit + (merged to 'next' on 2019-05-13 at a2f6365923) + + tag: fix typo in nested tagging hint - The script to aggregate perf result unconditionally depended on - libjson-perl even though it did not have to, which has been - corrected. + Typofix. -* js/partial-clone-connectivity-check (2019-05-05) 2 commits - (merged to 'next' on 2019-05-10 at e1d3a6ebde) - + t/perf: add perf script for partial clones - (merged to 'next' on 2019-04-25 at ebd8b4bffd) - + clone: do faster object check for partial clones - - During an initial "git clone --depth=..." partial clone, it is - pointless to spend cycles for a large portion of the connectivity - check that enumerates and skips promisor objects (which by - definition is all objects fetched from the other side). This has - been optimized out. - - -* pw/clean-sequencer-state-upon-final-commit (2019-04-17) 2 commits - (merged to 'next' on 2019-05-09 at cf6cce8ca7) - + fix cherry-pick/revert status after commit - + commit/reset: try to clean up sequencer state - - "git chery-pick" (and "revert" that shares the same runtime engine) - that deals with multiple commits got confused when the final step - gets stopped with a conflict and the user concluded the sequence - with "git commit". Attempt to fix it by cleaning up the state - files used by these commands in such a situation. - - -* pw/rebase-i-internal (2019-04-19) 13 commits - (merged to 'next' on 2019-05-09 at 1206aa6865) - + rebase -i: run without forking rebase--interactive - + rebase: use a common action enum - + rebase -i: use struct rebase_options in do_interactive_rebase() - + rebase -i: use struct rebase_options to parse args - + rebase -i: use struct object_id for squash_onto - + rebase -i: use struct commit when parsing options - + rebase -i: remove duplication - + rebase -i: combine rebase--interactive.c with rebase.c - + rebase: use OPT_RERERE_AUTOUPDATE() - + rebase: rename write_basic_state() - + rebase: don't translate trace strings - + sequencer: always discard index after checkout - + Merge branch 'ag/sequencer-reduce-rewriting-todo' into pw/rebase-i-internal - (this branch is used by pw/rebase-abort-clean-rewritten.) - - The internal implementation of "git rebase -i" has been updated to - avoid forking a separate "rebase--interactive" process. +* ds/cvsexportcommit-force-text (2019-05-07) 1 commit + (merged to 'next' on 2019-05-15 at 9874698ae0) + + cvsexportcommit: force crlf translation --------------------------------------------------- -[New Topics] + "git cvsexportcommit" running on msys did not expect cvsnt showed + "cvs status" output with CRLF line endings. -* cw/diff-highlight (2019-05-09) 1 commit - (merged to 'next' on 2019-05-13 at 050d707166) - + diff-highlight: use correct /dev/null for UNIX and Windows - Portability fix for a diff-highlight tool (in contrib/). +* ds/midx-too-many-packs (2019-05-07) 2 commits + (merged to 'next' on 2019-05-15 at 7203801e27) + + midx: add packs to packed_git linked list + + midx: pass a repository pointer - Will merge to 'master'. + The code to generate the multi-pack idx file was not prepared to + see too many packfiles and ran out of open file descriptor, which + has been corrected. -* dl/warn-tagging-a-tag (2019-05-09) 1 commit - (merged to 'next' on 2019-05-13 at a2f6365923) - + tag: fix typo in nested tagging hint +* ds/trace2-document-env-vars (2019-05-13) 1 commit + (merged to 'next' on 2019-05-15 at 7d28c6bd35) + + trace2: add variable description to git.txt - Typofix. + Doc update. - Will merge to 'master'. + +* en/unicode-in-refnames (2019-04-26) 1 commit + (merged to 'next' on 2019-05-15 at 53662a2843) + + Honor core.precomposeUnicode in more places + + On a filesystem like HFS+, the names of the refs stored as filesystem + entities may become different from what the end-user expects, just + like files in the working tree get "renamed". Work around the + mismatch by paying attention to the core.precomposeUnicode + configuration. + + +* es/check-non-portable-pre-5.10 (2019-05-13) 1 commit + (merged to 'next' on 2019-05-15 at 49228ada86) + + check-non-portable-shell: support Perl versions older than 5.10 + + Developer support update. + + +* id/windows-dep-aslr (2019-05-13) 2 commits + (merged to 'next' on 2019-05-13 at 33d57069f8) + + mingw: enable DEP and ASLR + + mingw: do not let ld strip relocations + + Allow DEP and ASLR for Windows build to for security hardening. + + +* jc/set-packet-header-signature-fix (2019-05-16) 1 commit + (merged to 'next' on 2019-05-16 at 6af28982a1) + + pkt-line: drop 'const'-ness of a param to set_packet_header() + + Code clean-up. + + +* jk/apache-lsan (2019-05-08) 1 commit + (merged to 'next' on 2019-05-13 at 1a055a6df0) + + t/lib-httpd: pass LSAN_OPTIONS through apache + + Allow tests that involve httpd to be run under leak sanitizer, just + like we can already do so under address sanitizer. + + +* jk/cocci-batch (2019-05-08) 2 commits + (merged to 'next' on 2019-05-13 at 8bbbfd3438) + + coccicheck: make batch size of 0 mean "unlimited" + + coccicheck: optionally batch spatch invocations + + Optionally "make coccicheck" can feed multiple source files to + spatch, gaining performance while spending more memory. + + +* jk/get-oid-indexed-object-name (2019-05-15) 1 commit + (merged to 'next' on 2019-05-16 at f4788d4b4a) + + get_oid: handle NULL repo->index + + The codepath to parse : that obtains the object name for an + indexed object has been made more robust. + + +* js/commit-graph-parse-leakfix (2019-05-07) 1 commit + (merged to 'next' on 2019-05-13 at 18df8ac778) + + commit-graph: fix memory leak + + Leakfix. * js/difftool-no-index (2019-05-09) 1 commit - - difftool --no-index: error out on --dir-diff (and don't crash) + (merged to 'next' on 2019-05-16 at 7b918fa9a4) + + difftool --no-index: error out on --dir-diff (and don't crash) The "--dir-diff" mode of "git difftool" is not useful in "--no-index" mode; they are now explicitly marked as mutually incompatible. - Will merge to 'next'. + +* js/fsmonitor-refresh-after-discarding-index (2019-05-08) 2 commits + (merged to 'next' on 2019-05-15 at 01dce0bf0e) + + fsmonitor: force a refresh after the index was discarded + + fsmonitor: demonstrate that it is not refreshed after discard_index() + + The fsmonitor interface got out of sync after the in-core index + file gets discarded, which has been corrected. + + +* js/parseopt-unknown-cb-returns-an-enum (2019-05-14) 1 commit + (merged to 'next' on 2019-05-16 at 0feef071b7) + + parse-options: adjust `parse_opt_unknown_cb()`s declared return type + + Code clean-up. + + +* js/rebase-i-label-shown-in-status-fix (2019-05-13) 1 commit + (merged to 'next' on 2019-05-15 at c7fefa1f9c) + + status: fix display of rebase -ir's `label` command + + "git status" did not know that the "label" instruction in the + todo-list "rebase -i -r" uses should not be shown as a hex object + name. + + +* js/stash-in-c-use-builtin-doc (2019-05-15) 1 commit + (merged to 'next' on 2019-05-16 at 26c8bfc106) + + stash: document stash.useBuiltin + + Doc update. + + +* js/t5580-unc-alternate-test (2019-05-07) 1 commit + (merged to 'next' on 2019-05-15 at dfff4a6397) + + t5580: verify that alternates can be UNC paths + + An additional test for MinGW + + +* js/t6500-use-windows-pid-on-mingw (2019-05-08) 1 commit + (merged to 'next' on 2019-05-13 at 24e5e27eb7) + + t6500(mingw): use the Windows PID of the shell + + Future-proof a test against an update to MSYS2 runtime v3.x series. + cf. + It might be helpful in the longer term to encapsulate the code that + uses /proc/$$/winpid into a helper function and use it anywhere $$ + is referenced, but let's defer it until we see such a callsite that + would be helped by such a move. + + +* mh/http-fread-api-fix (2019-05-08) 1 commit + (merged to 'next' on 2019-05-13 at f6af2d38d7) + + Make fread/fwrite-like functions in http.c more like fread/fwrite. + + A pair of private functions in http.c that had names similar to + fread/fwrite did not return the number of elements, which was found + to be confusing. + + +* nd/parse-options-aliases (2019-05-07) 1 commit + (merged to 'next' on 2019-05-13 at c77cc06452) + + parse-options: don't emit "ambiguous option" for aliases + + Attempt to use an abbreviated option in "git clone --recurs" is + responded by a request to disambiguate between --recursive and + --recurse-submodules, which is bad because these two are synonyms. + The parse-options API has been extended to define such synonyms + more easily and not produce an unnecessary failure. * nd/submodule-helper-incomplete-line-fix (2019-05-08) 1 commit @@ -214,135 +293,190 @@ of the repositories listed at Typofix. - Will merge to 'master'. +* sg/ci-libsvn-perl (2019-05-07) 1 commit + (merged to 'next' on 2019-05-15 at 8453976768) + + ci: install 'libsvn-perl' instead of 'git-svn' -* sb/format-patch-base-patch-id-fix (2019-05-08) 2 commits - - format-patch: make --base patch-id output stable - - format-patch: inform user that patch-id generation is unstable + To run tests for Git SVN, our scripts for CI used to install the + git-svn package (in the hope that it would bring in the right + dependencies). This has been updated to install the more direct + dependency, namely, libsvn-perl. - The recently added "--base" option of "format-patch" computed the - patch-ids for prerequisite patches in an unstable way, which has - been updated to compute in a way that is compatible with "git - patch-id --stable". - Will merge to 'next'. +* tt/no-ipv6-fallback-for-winxp (2019-05-07) 1 commit + (merged to 'next' on 2019-05-15 at f6c80e2c1b) + + mingw: remove obsolete IPv6-related code + Code cleanup. -* ab/send-email-transferencoding-fix (2019-05-13) 3 commits - (merged to 'next' on 2019-05-13 at 38c6a1e7e0) - + send-email: do defaults -> config -> getopt in that order - + send-email: rename the @bcclist variable for consistency - + send-email: move the read_config() function above getopts - Since "git send-email" learned to take 'auto' as the value for the - transfer-encoding, it by mistake stopped honoring the values given - to the configuration variables sendemail.transferencoding and/or - sendemail..transferencoding. This has been corrected to - (finally) redoing the order of setting the default, reading the - configuration and command line options. +* tz/test-lib-check-working-jgit (2019-05-15) 1 commit + (merged to 'next' on 2019-05-16 at 7ca75a34bf) + + test-lib: try harder to ensure a working jgit - Will merge to 'master'. + A prerequiste check in the test suite to see if a working jgit is + available was made more robust. +-------------------------------------------------- +[New Topics] -* ab/trace2-typofix (2019-05-13) 1 commit - (merged to 'next' on 2019-05-13 at f1229d4d9d) - + trace2: fix up a missing "leave" entry point +* ab/fail-prereqs-in-test (2019-05-14) 1 commit + (merged to 'next' on 2019-05-16 at d1be55f485) + + tests: add a special setup where prerequisites fail - Typofix. + Developer support to emulate unsatisfied prerequisites in tests to + ensure that the remainer of the tests still succeeds when tests + with prerequisites are skipped. - Will merge to 'master'. + Will cook in 'next'. -* dl/format-patch-notes-config (2019-05-13) 2 commits - - format-patch: teach format.notes config option - - git-format-patch.txt: document --no-notes option +* jk/help-unknown-ref-fix (2019-05-15) 2 commits + (merged to 'next' on 2019-05-19 at e3e01160f7) + + help_unknown_ref(): check for refname ambiguity + + help_unknown_ref(): duplicate collected refnames - "git format-patch" learns a configuration to set the default for - its --notes= option. + Improve the code to show args with potential typo that cannot be + interpreted as a commit-ish. - The interaction between config and option may be a little iffy. - cf. + Will cook in 'next'. -* ds/midx-too-many-packs (2019-05-07) 2 commits - - midx: add packs to packed_git linked list - - midx: pass a repository pointer +* js/rebase-cleanup (2019-05-15) 5 commits + (merged to 'next' on 2019-05-16 at ccfed8f263) + + rebase: fold git-rebase--common into the -p backend + + sequencer: the `am` and `rebase--interactive` scripts are gone + + .gitignore: there is no longer a built-in `git-rebase--interactive` + + t3400: stop referring to the scripted rebase + + Drop unused git-rebase--am.sh - The code to generate the multi-pack idx file was not prepared to - see too many packfiles and ran out of open file descriptor, which - has been corrected. + Update supporting parts of "git rebase" to remove code that should + no longer be used. - Will merge to 'next'. + Will cook in 'next'. -* ds/trace2-document-env-vars (2019-05-13) 1 commit - - trace2: add variable description to git.txt +* jt/partial-clone-missing-ref-delta-base (2019-05-15) 2 commits + - index-pack: prefetch missing REF_DELTA bases + - t5616: refactor packfile replacement - Doc update. + "git fetch" into a lazy clone forgot to fetch base objects that are + necessary to complete delta in a thin packfile, which has been + corrected. - Will merge to 'next'. +* bl/userdiff-octave (2019-05-19) 1 commit + (merged to 'next' on 2019-05-19 at 9ea1180d6c) + + userdiff: add Octave -* es/check-non-portable-pre-5.10 (2019-05-13) 1 commit - - check-non-portable-shell: support Perl versions older than 5.10 + The pattern "git diff/grep" use to extract funcname and words + boundary for Matlab has been extend to cover Octave, which is more + or less equivalent. - Developer support update. + Will cook in 'next'. - Will merge to 'next'. +* ew/update-server-info (2019-05-15) 1 commit + (merged to 'next' on 2019-05-19 at bf4f2871ab) + + update-server-info: avoid needless overwrites -* id/windows-dep-aslr (2019-05-13) 2 commits - (merged to 'next' on 2019-05-13 at 33d57069f8) - + mingw: enable DEP and ASLR - + mingw: do not let ld strip relocations + "git update-server-info" learned not to rewrite the file with the + same contents. - Allow DEP and ASLR for Windows build to for security hardening. + Will cook in 'next'. - Will merge to 'master'. +* nd/corrupt-worktrees (2019-05-15) 1 commit + (merged to 'next' on 2019-05-16 at d92c25f800) + + worktree add: be tolerant of corrupt worktrees -* jk/unused-params-final-batch (2019-05-13) 14 commits - - verify-commit: simplify parameters to run_gpg_verify() - - show-branch: drop unused parameter from show_independent() - - rev-list: drop unused void pointer from finish_commit() - - remove_all_fetch_refspecs(): drop unused "remote" parameter - - receive-pack: drop unused "commands" from prepare_shallow_update() - - pack-objects: drop unused rev_info parameters - - name-rev: drop unused parameters from is_better_name() - - mktree: drop unused length parameter - - wt-status: drop unused status parameter - - read-cache: drop unused parameter from threaded load - - clone: drop dest parameter from copy_alternates() - - submodule: drop unused prefix parameter from some functions - - builtin: consistently pass cmd_* prefix to parse_options - - cmd_{read,write}_tree: rename "unused" variable that is used + "git worktree add" used to fail when another worktree connected to + the same repository was corrupt, which has been corrected. - Remove many unused parameters throughout the codebase, with the - ultimate aim to allow us compile with -Wunused-parameter cleanly. + Will cook in 'next'. - Will merge to 'next'. +* mh/import-transport-fd-fix (2019-05-16) 2 commits + (merged to 'next' on 2019-05-19 at 5e86f92f7a) + + Use xmmap_gently instead of xmmap in use_pack + + dup() the input fd for fast-import used for remote helpers -* js/rebase-i-label-shown-in-status-fix (2019-05-13) 1 commit - - status: fix display of rebase -ir's `label` command + The ownership rule for the file descriptor to fast-import remote + backend was mixed up, leading to unrelated file descriptor getting + closed, which has been fixed. - "git status" did not know that the "label" instruction in the - todo-list "rebase -i -r" uses should not be shown as a hex object - name. + Will cook in 'next'. - Will merge to 'next'. +* ab/deprecate-R-for-dynpath (2019-05-19) 1 commit + (merged to 'next' on 2019-05-19 at 944976e981) + + Makefile: remove the NO_R_TO_GCC_LINKER flag -* nd/init-relative-template-fix (2019-05-13) 1 commit - - init: make --template path relative to $CWD + The way of specifying the path to find dynamic libraries at runtime + has been simplified. The old default to pass -R/path/to/dir has been + replaced with the new default to pass -Wl,-rpath,/path/to/dir, + which is the more recent GCC uses. Those who need to build with an + old GCC can still use "CC_LD_DYNPATH=-R" - A relative pathname given to "git init --template= " - ought to be relative to the directory "git init" gets invoked in, - but it instead was made relative to the repository, which has been + Will cook in 'next'. + + +* ba/clone-remote-submodules (2019-05-19) 1 commit + - clone: add `--remote-submodules` flag + + "git clone --recurse-submodules" learned to set up the submodules + to ignore commit object names recorded in the superproject gitlink + and instead use the commits that happen to be at the tip of the + remote-tracking branches from the get-go, by passing the new + "--remote-submodules" option. + + +* ds/close-object-store (2019-05-19) 3 commits + - packfile: close_all_packs to close_object_store + - packfile: close commit-graph in close_all_packs + - commit-graph: use raw_object_store when closing + (this branch uses ds/commit-graph-write-refactor.) + + The commit-graph file is now part of the "files that the runtime + may keep open file descriptors on, all of which would need to be + closed when done with the object store", and the file descriptor to + an existing commit-graph file now is closed before "gc" finializes + a new instance to replace it. + + Waiting on ds/commit-graph-write-refactor to stabilize. + + +* ja/diff-opt-typofix (2019-05-19) 1 commit + (merged to 'next' on 2019-05-19 at fedb594191) + + diff: fix mistake in translatable strings + + Typofix. + + Will merge to 'master'. + + +* ml/userdiff-rust (2019-05-17) 1 commit + (merged to 'next' on 2019-05-19 at 1266fddce5) + + userdiff: add built-in pattern for rust + + The pattern "git diff/grep" use to extract funcname and words + boundary for Rust has been added. + + Will cook in 'next'. + + +* pw/rebase-edit-message-for-replayed-merge (2019-05-19) 1 commit + (merged to 'next' on 2019-05-19 at dc3e30641c) + + rebase -r: always reword merge -c + + A "merge -c" instruction during "git rebase --rebase-merges" should + give the user a chance to edit the log message, even when there is + otherwise no need to create a new merge and replace the existing + one (i.e. fast-forward instead), but did not. Which has been corrected. - Will merge to 'next'. + Will cook in 'next'. -------------------------------------------------- [Stalled] @@ -383,7 +517,7 @@ of the repositories listed at WIP for allowing a response to "git fetch" to instruct the bulk of the pack contents to be instead taken from elsewhere (aka CDN). - Still being discussed. + Stalled * js/add-i-coalesce-after-editing-hunk (2018-08-28) 1 commit @@ -392,8 +526,7 @@ of the repositories listed at Applicability check after a patch is edited in a "git add -i/p" session has been improved. - Will hold. - cf. + Will drop as "add -i in C" topic seems to be getting ready to test. * js/protocol-advertise-multi (2018-12-28) 1 commit @@ -429,214 +562,132 @@ of the repositories listed at -------------------------------------------------- [Cooking] -* ab/perf-installed-fix (2019-05-08) 6 commits - (merged to 'next' on 2019-05-13 at ccd997a142) - + perf-lib.sh: forbid the use of GIT_TEST_INSTALLED - + perf tests: add "bindir" prefix to git tree test results - + perf-lib.sh: remove GIT_TEST_INSTALLED from perf-lib.sh - + perf-lib.sh: make "./run " use the correct gits - + perf aggregate: remove GIT_TEST_INSTALLED from --codespeed - + perf README: correct docs for 3c8f12c96c regression +* sb/format-patch-base-patch-id-fix (2019-05-08) 2 commits + (merged to 'next' on 2019-05-15 at 1ab7d2b71c) + + format-patch: make --base patch-id output stable + + format-patch: inform user that patch-id generation is unstable - Performance test framework has been broken and measured the version - of Git that happens to be on $PATH, not the specified one to - measure, for a while, which has been corrected. + The recently added "--base" option of "format-patch" computed the + patch-ids for prerequisite patches in an unstable way, which has + been updated to compute in a way that is compatible with "git + patch-id --stable". - Will merge to 'master'. - cf. <20190507105434.9600-1-avarab@gmail.com> + Will cook in 'next'. -* an/ignore-doc-update (2019-05-08) 1 commit - - gitignore.txt: make slash-rules more readable +* ab/send-email-transferencoding-fix (2019-05-19) 7 commits + . send-email: fix regression in sendemail.identity parsing + . send-email: document --no-[to|cc|bcc] + . send-email: fix broken transferEncoding tests + . send-email: remove cargo-culted multi-patch pattern in tests + (merged to 'next' on 2019-05-13 at 38c6a1e7e0) + + send-email: do defaults -> config -> getopt in that order + + send-email: rename the @bcclist variable for consistency + + send-email: move the read_config() function above getopts - The description about slashes in gitignore patterns (used to - indicate things like "anchored to this level only" and "only - matches directories") has been revamped. + Since "git send-email" learned to take 'auto' as the value for the + transfer-encoding, it by mistake stopped honoring the values given + to the configuration variables sendemail.transferencoding and/or + sendemail..transferencoding. This has been corrected to + (finally) redoing the order of setting the default, reading the + configuration and command line options. - Almost there. - cf. <20190507104507.18735-1-admin@in-ici.net> + Will merge to and cook in 'next'. -* bl/t4253-exit-code-from-format-patch (2019-05-07) 1 commit - - t4253-am-keep-cr-dos: avoid using pipes +* dl/format-patch-notes-config (2019-05-17) 2 commits + (merged to 'next' on 2019-05-19 at d3f6f1872b) + + format-patch: teach format.notes config option + + git-format-patch.txt: document --no-notes option - Avoid patterns to pipe output from a git command to feed another - command in tests. + "git format-patch" learns a configuration to set the default for + its --notes= option. - Will merge to 'next'. + Will cook in 'next'. -* cm/notes-comment-fix (2019-05-07) 1 commit - - notes: correct documentation of format_display_notes() +* jk/unused-params-final-batch (2019-05-13) 14 commits + (merged to 'next' on 2019-05-15 at ef7435264c) + + verify-commit: simplify parameters to run_gpg_verify() + + show-branch: drop unused parameter from show_independent() + + rev-list: drop unused void pointer from finish_commit() + + remove_all_fetch_refspecs(): drop unused "remote" parameter + + receive-pack: drop unused "commands" from prepare_shallow_update() + + pack-objects: drop unused rev_info parameters + + name-rev: drop unused parameters from is_better_name() + + mktree: drop unused length parameter + + wt-status: drop unused status parameter + + read-cache: drop unused parameter from threaded load + + clone: drop dest parameter from copy_alternates() + + submodule: drop unused prefix parameter from some functions + + builtin: consistently pass cmd_* prefix to parse_options + + cmd_{read,write}_tree: rename "unused" variable that is used - A stale in-code comment has been updated. + Remove many unused parameters throughout the codebase, with the + ultimate aim to allow us compile with -Wunused-parameter cleanly. - Will merge to 'next'. + Will cook in 'next'. -* dl/branch-from-3dot-merge-base (2019-05-07) 2 commits - (merged to 'next' on 2019-05-13 at 2eb387070e) - + branch: make create_branch accept a merge base rev - + t2018: cleanup in current test +* nd/init-relative-template-fix (2019-05-13) 1 commit + (merged to 'next' on 2019-05-15 at 4d5b17f712) + + init: make --template path relative to $CWD - "git branch new A...B" and "git checkout -b new A...B" have been - taught that in their contexts, the notation A...B means "the merge - base between these two commits", just like "git checkout A...B" - detaches HEAD at that commit. + A relative pathname given to "git init --template= " + ought to be relative to the directory "git init" gets invoked in, + but it instead was made relative to the repository, which has been + corrected. - Will merge to 'master'. - cf. + Will cook in 'next'. -* ds/cvsexportcommit-force-text (2019-05-07) 1 commit - - cvsexportcommit: force crlf translation +* an/ignore-doc-update (2019-05-08) 1 commit + - gitignore.txt: make slash-rules more readable - "git cvsexportcommit" running on msys did not expect cvsnt showed - "cvs status" output with CRLF line endings. + The description about slashes in gitignore patterns (used to + indicate things like "anchored to this level only" and "only + matches directories") has been revamped. - Will merge to 'next'. + Almost there. + cf. <20190507104507.18735-1-admin@in-ici.net> -* en/fast-export-encoding (2019-05-13) 5 commits - - fast-export: do automatic reencoding of commit messages only if requested - - fast-export: differentiate between explicitly utf-8 and implicitly utf-8 - - fast-export: avoid stripping encoding header if we cannot reencode - - fast-import: support 'encoding' commit header - - t9350: fix encoding test to actually test reencoding +* en/fast-export-encoding (2019-05-14) 5 commits + (merged to 'next' on 2019-05-16 at c88bd3edb5) + + fast-export: do automatic reencoding of commit messages only if requested + + fast-export: differentiate between explicitly UTF-8 and implicitly UTF-8 + + fast-export: avoid stripping encoding header if we cannot reencode + + fast-import: support 'encoding' commit header + + t9350: fix encoding test to actually test reencoding The "git fast-export/import" pair has been taught to handle commits with log messages in encoding other than UTF-8 better. - Will merge to 'next'. - cf. <20190510205335.19968-1-newren@gmail.com> - - -* jk/apache-lsan (2019-05-08) 1 commit - (merged to 'next' on 2019-05-13 at 1a055a6df0) - + t/lib-httpd: pass LSAN_OPTIONS through apache - - Allow tests that involve httpd to be run under leak sanitizer, just - like we can already do so under address sanitizer. - - Will merge to 'master'. - - -* jk/cocci-batch (2019-05-08) 2 commits - (merged to 'next' on 2019-05-13 at 8bbbfd3438) - + coccicheck: make batch size of 0 mean "unlimited" - + coccicheck: optionally batch spatch invocations - - Optionally "make coccicheck" can feed multiple source files to - spatch, gaining performance while spending more memory. - - Will merge to 'master'. - + Will cook in 'next'. -* js/commit-graph-parse-leakfix (2019-05-07) 1 commit - (merged to 'next' on 2019-05-13 at 18df8ac778) - + commit-graph: fix memory leak - Leakfix. - - Will merge to 'master'. - - -* js/fsmonitor-refresh-after-discarding-index (2019-05-08) 2 commits - - fsmonitor: force a refresh after the index was discarded - - fsmonitor: demonstrate that it is not refreshed after discard_index() - - The fsmonitor interface got out of sync after the in-core index - file gets discarded, which has been corrected. - - Will merge to 'next'. - - -* js/t5580-unc-alternate-test (2019-05-07) 1 commit - - t5580: verify that alternates can be UNC paths - - An additional test for MinGW - - Will merge to 'next'. - - -* js/t6500-use-windows-pid-on-mingw (2019-05-08) 1 commit - (merged to 'next' on 2019-05-13 at 24e5e27eb7) - + t6500(mingw): use the Windows PID of the shell - - Future-proof a test against an update to MSYS2 runtime v3.x series. - - Will merge to 'master'. - cf. - It might be helpful in the longer term to encapsulate the code that - uses /proc/$$/winpid into a helper function and use it anywhere $$ - is referenced, but let's defer it until we see such a callsite that - would be helped by such a move. - - -* mh/http-fread-api-fix (2019-05-08) 1 commit - (merged to 'next' on 2019-05-13 at f6af2d38d7) - + Make fread/fwrite-like functions in http.c more like fread/fwrite. - - A pair of private functions in http.c that had names similar to - fread/fwrite did not return the number of elements, which was found - to be confusing. - - Will merge to 'master'. - - -* nd/merge-quit (2019-05-13) 2 commits - - merge: add --quit - - merge: remove drop_save() in favor of remove_merge_branch_state() +* nd/merge-quit (2019-05-19) 2 commits + (merged to 'next' on 2019-05-19 at 9880e7ee4e) + + merge: add --quit + + merge: remove drop_save() in favor of remove_merge_branch_state() "git merge" learned "--quit" option that cleans up the in-progress merge while leaving the working tree and the index still in a mess. - On hold. - cf. - Windows seems to have problems with the code, and may need a - follow-up fixes. + Will cook in 'next'. -* nd/parse-options-aliases (2019-05-07) 1 commit - (merged to 'next' on 2019-05-13 at c77cc06452) - + parse-options: don't emit "ambiguous option" for aliases - - Attempt to use an abbreviated option in "git clone --recurs" is - responded by a request to disambiguate between --recursive and - --recurse-submodules, which is bad because these two are synonyms. - The parse-options API has been extended to define such synonyms - more easily and not produce an unnecessary failure. - - Will merge to 'master'. - - -* pw/rebase-abort-clean-rewritten (2019-05-08) 1 commit - - rebase --abort: cleanup refs/rewritten +* pw/rebase-abort-clean-rewritten (2019-05-15) 4 commits + - rebase --abort/--quit: cleanup refs/rewritten + - sequencer: return errors from sequencer_remove_state() + - rebase: warn if state directory cannot be removed + - rebase: fix a memory leak "git rebase --abort" used to leave refs/rewritten/ when concluding "git rebase -r", which has been corrected. On hold. - cf. <6726f99a-ec27-b72f-39d7-03eecb555197@gmail.com> - - -* sg/ci-libsvn-perl (2019-05-07) 1 commit - - ci: install 'libsvn-perl' instead of 'git-svn' - - To run tests for Git SVN, our scripts for CI used to install the - git-svn package (in the hope that it would bring in the right - dependencies). This has been updated to install the more direct - dependency, namely, libsvn-perl. - - Will merge to 'next'. - - -* tt/no-ipv6-fallback-for-winxp (2019-05-07) 1 commit - - mingw: remove obsolete IPv6-related code - - Code cleanup. - - Will merge to 'next'. + cf. <20190514180349.17245-1-phillip.wood123@gmail.com> * nb/branch-show-other-worktrees-head (2019-05-07) 3 commits @@ -650,44 +701,16 @@ of the repositories listed at with '*' in front. -* en/unicode-in-refnames (2019-04-26) 1 commit - - Honor core.precomposeUnicode in more places - - On a filesystem like HFS+, the names of the refs stored as filesystem - entities may become different from what the end-user expects, just - like files in the working tree get "renamed". Work around the - mismatch by paying attention to the core.precomposeUnicode - configuration. - - Will merge to 'next'. - - -* dl/difftool-mergetool (2019-05-13) 7 commits - - difftool: fallback on merge.guitool - - difftool: make --gui, --tool and --extcmd mutually exclusive - - mergetool: fallback to tool when guitool unavailable - - mergetool--lib: create gui_mode function - - mergetool: use get_merge_tool function - - t7610: add mergetool --gui tests - - t7610: unsuppress output - - Update "git difftool" and "git mergetool" so that the combinations - of {diff,merge}.{tool,guitool} configuration variables serve as - fallback settings of each other in a sensible order. - - Will merge to 'next'. - cf. (v5) - - -* es/first-contrib-tutorial (2019-05-08) 2 commits - - documentation: add anchors to MyFirstContribution - - documentation: add tutorial for first contribution +* es/first-contrib-tutorial (2019-05-19) 2 commits + (merged to 'next' on 2019-05-19 at 9ddfae82bf) + + documentation: add anchors to MyFirstContribution + + documentation: add tutorial for first contribution A new tutorial targetting specifically aspiring git-core developers. - I think we are almost there. - cf. <20190507213040.151799-1-emilyshaffer@google.com> (v5) + Will cook in 'next'. + cf. <20190517190359.21676-1-emilyshaffer@google.com> (v6) * cc/multi-promisor (2019-04-15) 17 commits @@ -818,17 +841,16 @@ of the repositories listed at cf. -* nd/worktree-name-sanitization (2019-03-20) 2 commits - - SQUASH??? - - worktree add: sanitize worktree names +* nd/worktree-name-sanitization (2019-05-15) 1 commit + (merged to 'next' on 2019-05-16 at 9a2dd33122) + + worktree add: sanitize worktree names In recent versions of Git, per-worktree refs are exposed in refs/worktrees// hierarchy, which means that worktree names must be a valid refname component. The code now sanitizes the names given to worktrees, to make sure these refs are well-formed. - I am inclined to squash the fix at the tip in and merge the result - to 'next'. Opinions? + Will cook in 'next'. * ds/commit-graph-write-refactor (2019-05-13) 11 commits @@ -843,6 +865,7 @@ of the repositories listed at - commit-graph: collapse parameters into flags - commit-graph: return with errors during write - commit-graph: fix the_repository reference + (this branch is used by ds/close-object-store.) Renamed from commit-graph-format-v2 and changed scope. @@ -852,21 +875,22 @@ of the repositories listed at cf. <17829620-1084-74e5-54ad-aa95990f4dbd@gmail.com> -* br/blame-ignore (2019-04-14) 6 commits - - blame: use a fingerprint heuristic to match ignored lines +* br/blame-ignore (2019-05-17) 10 commits + - SQUASH??? test-lint -- seq not portable + - SQUASH??? error: decl-after-stmt + - blame: use the fingerprint heuristic to match ignored lines + - blame: add a fingerprint heuristic to match ignored lines - blame: optionally track line fingerprints during fill_blame_origin() - - blame: add config options to handle output for ignored lines + - blame: add config options for the output of ignored or unblamable lines - blame: add the ability to ignore commits and their changes - blame: use a helper function in blame_chunk() - - Move init_skiplist() outside of fsck + - Move oidset_parse_file() to oidset.c + - fsck: rename and touch up init_skiplist() "git blame" learned to "ignore" commits in the history, whose effects (as well as their presence) get ignored. - Expecting a reroll. - cf. <20190410162409.117264-1-brho@google.com> (v6) - cf. - cf. <3db6bad3-e7a5-af1d-3fe2-321bd17db2c6@google.com> + cf. <20190515214503.77162-1-brho@google.com> (v7) -------------------------------------------------- [Discarded] @@ -887,61 +911,9 @@ of the repositories listed at the reason of redtraction. -* nd/config-move-to (2019-01-14) 7 commits - . config.h: fix hdr-check warnings - . config: add --move-to - . config: factor out set_config_source_file() - . config: use OPT_FILENAME() - . config.c: add repo_config_set_worktree_gently() - . worktree.c: add get_worktree_config() - . config.c: avoid git_path() in do_git_config_sequence() - - Dropped. - cf. - - -* dm/some-stdio-functions-are-macro-on-freebsd (2019-02-01) 1 commit - . http: cast result to FILE * - - Variants of BSD define fileno(fh) as a macro, breaking a program - that passes a "void *" to it. - - Can be safely discarded. - cf. - - -* hs/send-email-transferencoding-fix (2019-04-10) 1 commit - . send-email: honor transferencoding config option again - - cf. - Replaced by jc/send-email-transferencoding-fix - - * jc/send-email-transferencoding-fix (2019-05-09) 2 commits . send-email: honor transferencoding config option again . send-email: update the mechanism to set default configuration values Replaced by Ævar's "do the default in the right order" approach. cf. <20190508105607.178244-1-gitster@pobox.com> (v2) - - -* ds/midx-expire-repack (2019-04-25) 11 commits - . t5319-multi-pack-index.sh: test batch size zero - . midx: add test that 'expire' respects .keep files - . multi-pack-index: test expire while adding packs - . midx: implement midx_repack() - . multi-pack-index: prepare 'repack' subcommand - . multi-pack-index: implement 'expire' subcommand - . midx: refactor permutation logic and pack sorting - . midx: simplify computation of pack name lengths - . multi-pack-index: prepare for 'expire' subcommand - . Docs: rearrange subcommands for multi-pack-index - . repack: refactor pack deletion for future use - - "git multi-pack-index expire/repack" are new subcommands that - consult midx file and are used to drop unused pack files and - coalesce small pack files that are still in use. - - Tentatively dropped - cf. <20190424151428.170316-1-dstolee@microsoft.com> (v5) - cf. <1733843e-f0e4-0e25-468b-64727f6855d5@gmail.com>