From: Junio C Hamano Date: Fri, 9 Sep 2016 22:44:21 +0000 (-0700) Subject: What's cooking (2016/09 #03) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2d155428fb87d581767555b59fb7bf15e99ca5d0;p=thirdparty%2Fgit.git What's cooking (2016/09 #03) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 1ac2c560f7..455872d75c 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 (Sep 2016, #02; Thu, 8) -X-master-at: 6ebdac1bab966b720d776aa43ca188fe378b1f4b -X-next-at: f2ff48496e8dc270b21b0290a2a3e4ef98e352ed +Subject: What's cooking in git.git (Sep 2016, #03; Fri, 9) +X-master-at: cda1bbd474805e653dda8a71d4ea3790e2a66cbb +X-next-at: 1e96ab9c6aed24fcda3720972963c6f1bc62496f -What's cooking in git.git (Sep 2016, #02; Thu, 8) +What's cooking in git.git (Sep 2016, #03; Fri, 9) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,11 +12,13 @@ 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. -There are a few more topics in flight that may be ready to be picked -up but I haven't, and other topics in flight that may not be quite -ready. I'll start merging topics that have been cooking in 'next' -to 'master', rewind and rebuild 'next', and merge those that have -been waiting in 'pu' to 'next' before picking them up. +I've started merging topics that have been cooking in 'next' to +'master', and the next step will be to rewind and rebuild 'next', +and merge those that have been waiting in 'pu' to 'next'. There are +a few more topics in flight that may be ready to be picked up but I +haven't, and other topics in flight that may not be quite ready. +They will be picked up after topics that have already been in-tree +starts quieting down. You can find the changes described here in the integration branches of the repositories listed at @@ -24,249 +26,151 @@ of the repositories listed at http://git-blame.blogspot.com/p/git-public-repositories.html -------------------------------------------------- -[New Topics] - -* bc/object-id (2016-09-07) 20 commits - - builtin/reset: convert to use struct object_id - - builtin/commit-tree: convert to struct object_id - - builtin/am: convert to struct object_id - - refs: add an update_ref_oid function. - - sha1_name: convert get_sha1_mb to struct object_id - - builtin/update-index: convert file to struct object_id - - notes: convert init_notes to use struct object_id - - builtin/rm: convert to use struct object_id - - builtin/blame: convert file to use struct object_id - - Convert read_mmblob to take struct object_id. - - notes-merge: convert struct notes_merge_pair to struct object_id - - builtin/checkout: convert some static functions to struct object_id - - streaming: make stream_blob_to_fd take struct object_id - - builtin: convert textconv_object to use struct object_id - - builtin/cat-file: convert some static functions to struct object_id - - builtin/cat-file: convert struct expand_data to use struct object_id - - builtin/log: convert some static functions to use struct object_id - - builtin/blame: convert struct origin to use struct object_id - - builtin/apply: convert static functions to struct object_id - - cache: convert struct cache_entry to use struct object_id - - The "unsigned char sha1[20]" to "struct object_id" conversion - continues. Notable changes in this round includes that ce->sha1, - i.e. the object name recorded in the cache_entry, turns into an - object_id. - - It had merge conflicts with a few topics in flight (Christian's - "apply.c split", Dscho's "cat-file --filters" and Jeff Hostetler's - "status --porcelain-v2"). Extra sets of eyes double-checking for - mismerges are highly appreciated. - - -* ep/use-git-trace-curl-in-tests (2016-09-07) 4 commits - - t5551-http-fetch-smart.sh: use the GIT_TRACE_CURL environment var - - t5550-http-fetch-dumb.sh: use the GIT_TRACE_CURL environment var - - test-lib.sh: preserve GIT_TRACE_CURL from the environment - - t5541-http-push-smart.sh: use the GIT_TRACE_CURL environment var - - Update a few tests that used to use GIT_CURL_VERBOSE to use the - newer GIT_TRACE_CURL. - - Will merge to 'next'. - - -* jk/pack-tag-of-tag (2016-09-07) 5 commits - - pack-objects: walk tag chains for --include-tag - - t5305: simplify packname handling - - t5305: use "git -C" - - t5305: drop "dry-run" of unpack-objects - - t5305: move cleanup into test block - - "git pack-objects --include-tag" was taught that when we know that - we are sending an object C, we want a tag B that directly points at - C but also a tag A that points at the tag B. We used to miss the - intermediate tag B in some cases. - - -* js/t6026-clean-up (2016-09-07) 1 commit - - t6026-merge-attr: clean up background process at end of test case - - A test spawned a short-lived background process, which sometimes - prevented the test directory from getting removed at the end of the - script on some platforms. - - Will merge to 'next'. - +[Graduated to "master"] -* js/t9903-chaining (2016-09-07) 1 commit - - t9903: fix broken && chain - - Will merge to 'next'. - - -* jt/accept-capability-advertisement-when-fetching-from-void (2016-09-07) 2 commits - - connect: advertized capability is not a ref - - tests: move test_lazy_prereq JGIT to test-lib.sh - - JGit can show a fake ref "capabilities^{}" to "git fetch" when it - does not advertise any refs, but "git fetch" was not prepared to - see such an advertisement. - - Waiting for a reroll. - Rewording the log, and avoiding making it overly loose are needed. - cf. <20160908013431.GC25016@google.com> - - -* rs/compat-strdup (2016-09-07) 1 commit - - compat: move strdup(3) replacement to its own file - - Will merge to 'next'. - - -* rs/hex2chr (2016-09-07) 1 commit - - introduce hex2chr() for converting two hexadecimal digits to a character - - Will merge to 'next'. - - -* rt/rebase-i-broken-insn-advise (2016-09-07) 1 commit - - rebase -i: improve advice on bad instruction lines - - When "git rebase -i" is given a broken instruction, it told the - user to fix it with "--edit-todo", but didn't say what the step - after that was (i.e. "--continue"). - - Will hold. - Dscho's "rebase -i" hopefully will become available in 'pu', by - which time an equivalent of this fix would be ported to C. This is - queued merely as a reminder. - - -* sb/xdiff-remove-unused-static-decl (2016-09-07) 1 commit - - xdiff: remove unneeded declarations +* bh/diff-highlight-graph (2016-08-31) 6 commits + (merged to 'next' on 2016-08-31 at 523a15f) + + diff-highlight: avoid highlighting combined diffs + + diff-highlight: add multi-byte tests + + diff-highlight: ignore test cruft + + diff-highlight: add support for --graph output + + diff-highlight: add failing test for handling --graph output + + diff-highlight: add some tests - Code cleanup. + "diff-highlight" script (in contrib/) learned to work better with + "git log -p --graph" output. - Will merge to 'next'. +* cc/receive-pack-limit (2016-08-24) 3 commits + (merged to 'next' on 2016-08-25 at bc74b5b) + + receive-pack: allow a maximum input size to be specified + + unpack-objects: add --max-input-size= option + + index-pack: add --max-input-size= option -* sy/git-gui-i18n-ja (2016-09-07) 7 commits - - Merge branch 'sy/i18n' of git-gui - - git-gui: update Japanese information - - git-gui: update Japanese translation - - git-gui: add Japanese language code - - git-gui: apply po template to Japanese translation - - git-gui: consistently use the same word for "blame" in Japanese - - git-gui: consistently use the same word for "remote" in Japanese + An incoming "git push" that attempts to push too many bytes can now + be rejected by setting a new configuration variable at the receiving + end. - Update Japanese translation for "git-gui". +* hv/doc-commit-reference-style (2016-08-26) 1 commit + (merged to 'next' on 2016-08-31 at 68fb778) + + SubmittingPatches: use gitk's "Copy commit summary" format -* ah/misc-message-fixes (2016-09-08) 5 commits - - unpack-trees: do not capitalize "working" - - git-merge-octopus: do not capitalize "octopus" - - git-rebase--interactive: fix English grammar - - cat-file: put spaces around pipes in usage string - - am: put spaces around pipe in usage string + A small doc update. - Message cleanup. - Will merge to 'next'. +* jh/status-v2-porcelain (2016-08-12) 9 commits + (merged to 'next' on 2016-08-31 at e71f595) + + status: unit tests for --porcelain=v2 + + test-lib-functions.sh: add lf_to_nul helper + + git-status.txt: describe --porcelain=v2 format + + status: print branch info with --porcelain=v2 --branch + + status: print per-file porcelain v2 status data + + status: collect per-file data for --porcelain=v2 + + status: support --porcelain[=] + + status: cleanup API to wt_status_print + + status: rename long-format print routines + Enhance "git status --porcelain" output by collecting more data on + the state of the index and the working tree files, which may + further be used to teach git-prompt (in contrib/) to make fewer + calls to git. -* jk/fix-remote-curl-url-wo-proto (2016-09-08) 1 commit - - remote-curl: handle URLs without protocol - "git fetch http::/site/path" did not die correctly and segfaulted - instead. +* jk/delta-base-cache (2016-08-23) 7 commits + (merged to 'next' on 2016-08-25 at f1c141a) + + t/perf: add basic perf tests for delta base cache + + delta_base_cache: use hashmap.h + + delta_base_cache: drop special treatment of blobs + + delta_base_cache: use list.h for LRU + + release_delta_base_cache: reuse existing detach function + + clear_delta_base_cache_entry: use a more descriptive name + + cache_or_unpack_entry: drop keep_cache parameter - Will merge to 'next'. + The delta-base-cache mechanism has been a key to the performance in + a repository with a tightly packed packfile, but it did not scale + well even with a larger value of core.deltaBaseCacheLimit. -* jn/fix-connect-unexpected-hangup-diag (2016-09-08) 1 commit - - connect: tighten check for unexpected early hang up +* jk/format-patch-number-singleton-patch-with-cover (2016-08-23) 1 commit + (merged to 'next' on 2016-08-25 at a4737fb) + + format-patch: show 0/1 and 1/1 for singleton patch with cover letter - When the other side disconnects without giving any ref - advertisement, we used to say "there may not be a repository at - that URL", but we may have seen other advertisement like "shallow" - and ".have" in which case we definitely know that a repository is - there. The code to detect this case has been updated. + "git format-patch --cover-letter HEAD^" to format a single patch + with a separate cover letter now numbers the output as [PATCH 0/1] + and [PATCH 1/1] by default. - Waiting for a reroll with test. - cf. <20160908015040.GF25016@google.com> +* po/range-doc (2016-08-13) 12 commits + (merged to 'next' on 2016-08-31 at d29870b) + + doc: revisions: sort examples and fix alignment of the unchanged + + doc: revisions: show revision expansion in examples + + doc: revisions - clarify reachability examples + + doc: revisions - define `reachable` + + doc: gitrevisions - clarify 'latter case' is revision walk + + doc: gitrevisions - use 'reachable' in page description + + doc: revisions: single vs multi-parent notation comparison + + doc: revisions: extra clarification of ^! notation effects + + doc: revisions: give headings for the two and three dot notations + + doc: show the actual left, right, and boundary marks + + doc: revisions - name the left and right sides + + doc: use 'symmetric difference' consistently -* jt/format-patch-base-info-above-sig (2016-09-08) 1 commit - - format-patch: show base info before email signature + Clarify various ways to specify the "revision ranges" in the + documentation. - "git format-patch --base=..." feature that was recently added - showed the base commit information after "-- " e-mail signature - line, which turned out to be inconvenient. The base information - has been moved above the signature line. - Needs rephrasing of the log message to describe an accidental bugfix. - cf. +* rt/help-unknown (2016-08-30) 3 commits + (merged to 'next' on 2016-08-30 at db2a5b0) + + help: make option --help open man pages only for Git commands + + help: introduce option --exclude-guides + + Merge branch 'js/no-html-bypass-on-windows' into rt/help-unknown + "git nosuchcommand --help" said "No manual entry for gitnosuchcommand", + which was not intuitive, given that "git nosuchcommand" said "git: + 'nosuchcommand' is not a git command". -* nd/checkout-disambiguation (2016-09-08) 3 commits - - checkout: fix ambiguity check in subdir - - checkout.txt: document a common case that ignores ambiguation rules - - checkout: add some spaces between code and comment - "git checkout " does not follow the usual disambiguation - rules when the can be both a rev and a path, to allow - checking out a branch 'foo' in a project that happens to have a - file 'foo' in the working tree without having to disambiguate. - This was poorly documented and the check was incorrect when the - command was run from a subdirectory. +* sb/submodule-clone-rr (2016-08-17) 8 commits + (merged to 'next' on 2016-08-31 at 08b4b7d) + + clone: recursive and reference option triggers submodule alternates + + clone: implement optional references + + clone: clarify option_reference as required + + clone: factor out checking for an alternate path + + submodule--helper update-clone: allow multiple references + + submodule--helper module-clone: allow multiple references + + t7408: merge short tests, factor out testing method + + t7408: modernize style - Waiting for a reroll. - cf. + "git clone --resurse-submodules --reference $path $URL" is a way to + reduce network transfer cost by borrowing objects in an existing + $path repository when cloning the superproject from $URL; it + learned to also peek into $path for presense of corresponding + repositories of submodules and borrow objects from there when able. +-------------------------------------------------- +[New Topics] -* sb/diff-cleanup (2016-09-08) 3 commits - - diff: remove dead code - - diff: omit found pointer from emit_callback - - diff.c: use diff_options directly +* jk/patch-ids-no-merges (2016-09-09) 2 commits + - patch-ids: define patch-id of merge commits as "null" + - patch-ids: turn off rename detection - Code cleanup. + "git log --cherry-pick" used to include merge commits as candidates + to be matched up with other commits, resulting a lot of wasted time. + The patch-id generation logic has been updated to ignore merges to + avoid the wastage. Will merge to 'next'. -* sb/transport-report-missing-submodule-on-stderr (2016-09-08) 1 commit - - transport: report missing submodule pushes consistently on stderr +* js/git-gui-commit-gpgsign (2016-09-09) 2 commits + - Merge branch 'js/commit-gpgsign' of ../git-gui into js/git-gui-commit-gpgsign + - git-gui: respect commit.gpgsign again - Message cleanup. - - Will merge to 'next'. - - -* sg/fix-versioncmp-with-common-suffix (2016-09-08) 5 commits - - versioncmp: cope with common leading parts in versionsort.prereleaseSuffix - - versioncmp: pass full tagnames to swap_prereleases() - - t7004-tag: add version sort tests to show prerelease reordering issues - - t7004-tag: use test_config helper - - t7004-tag: delete unnecessary tags with test_when_finished - - The prereleaseSuffix feature of version comparison that is used in - "git tag -l" did not correctly when two or more prereleases for the - same release were present (e.g. when 2.0, 2.0-beta1, and 2.0-beta2 - are there and the code needs to compare 2.0-beta1 and 2.0-beta2). - - Waiting for a reroll. - cf. <20160908223727.Horde.jVOOJ278ssZ3qkyjkmyqZD-@webmail.informatik.kit.edu> - - -* va/i18n (2016-09-08) 10 commits - - i18n: update-index: mark warning for translation - - i18n: show-branch: mark error messages for translation - - i18n: receive-pack: mark messages for translation - - notes: lowercase first word of error messages - - i18n: notes: mark error messages for translation - - i18n: merge-recursive: mark verbose message for translation - - i18n: merge-recursive: mark error messages for translation - - i18n: config: mark error message for translation - - i18n: branch: mark option description for translation - - i18n: blame: mark error messages for translation - - More i18n. + "git commit-tree" stopped reading commit.gpgsign configuration + variable that was meant for Porcelain "git commit" in Git 2.9; we + forgot to update "git gui" to look at the configuration to match + this change. Will merge to 'next'. @@ -441,135 +345,370 @@ of the repositories listed at The internal algorithm used in "git bisect" to find the next commit to check has been optimized greatly. - Was expecting a reroll, but now pb/bisect topic starts removinging - more and more parts from git-bisect.sh, this needs to see a fresh - reroll. + Was expecting a reroll, but now pb/bisect topic starts removinging + more and more parts from git-bisect.sh, this needs to see a fresh + reroll. + + Will discard. + cf. <1460294354-7031-1-git-send-email-s-beyer@gmx.net> + + +* sg/completion-updates (2016-02-28) 21 commits + . completion: cache the path to the repository + . completion: extract repository discovery from __gitdir() + . completion: don't guard git executions with __gitdir() + . completion: consolidate silencing errors from git commands + . completion: don't use __gitdir() for git commands + . completion: respect 'git -C ' + . completion: fix completion after 'git -C ' + . completion: don't offer commands when 'git --opt' needs an argument + . rev-parse: add '--absolute-git-dir' option + . completion: list short refs from a remote given as a URL + . completion: don't list 'HEAD' when trying refs completion outside of a repo + . completion: list refs from remote when remote's name matches a directory + . completion: respect 'git --git-dir=' when listing remote refs + . completion: fix most spots not respecting 'git --git-dir=' + . completion: ensure that the repository path given on the command line exists + . completion tests: add tests for the __git_refs() helper function + . completion tests: check __gitdir()'s output in the error cases + . completion tests: consolidate getting path of current working directory + . completion tests: make the $cur variable local to the test helper functions + . completion tests: don't add test cruft to the test repository + . completion: improve __git_refs()'s in-code documentation + + Has been waiting for a reroll for too long. + cf. <1456754714-25237-1-git-send-email-szeder@ira.uka.de> + + Will discard. + + +* ec/annotate-deleted (2015-11-20) 1 commit + - annotate: skip checking working tree if a revision is provided + + Usability fix for annotate-specific " " syntax with deleted + files. + + Has been waiting for a review for too long without seeing anything. + + Will discard. + + +* dk/gc-more-wo-pack (2016-01-13) 4 commits + - gc: clean garbage .bitmap files from pack dir + - t5304: ensure non-garbage files are not deleted + - t5304: test .bitmap garbage files + - prepare_packed_git(): find more garbage + + Follow-on to dk/gc-idx-wo-pack topic, to clean up stale + .bitmap and .keep files. + + Has been waiting for a reroll for too long. + cf. + + Will discard. + + +* jc/diff-b-m (2015-02-23) 5 commits + . WIPWIP + . WIP: diff-b-m + - diffcore-rename: allow easier debugging + - diffcore-rename.c: add locate_rename_src() + - diffcore-break: allow debugging + + "git diff -B -M" produced incorrect patch when the postimage of a + completely rewritten file is similar to the preimage of a removed + file; such a resulting file must not be expressed as a rename from + other place. + + The fix in this patch is broken, unfortunately. + + Will discard. + +-------------------------------------------------- +[Cooking] + +* bc/object-id (2016-09-07) 20 commits + - builtin/reset: convert to use struct object_id + - builtin/commit-tree: convert to struct object_id + - builtin/am: convert to struct object_id + - refs: add an update_ref_oid function. + - sha1_name: convert get_sha1_mb to struct object_id + - builtin/update-index: convert file to struct object_id + - notes: convert init_notes to use struct object_id + - builtin/rm: convert to use struct object_id + - builtin/blame: convert file to use struct object_id + - Convert read_mmblob to take struct object_id. + - notes-merge: convert struct notes_merge_pair to struct object_id + - builtin/checkout: convert some static functions to struct object_id + - streaming: make stream_blob_to_fd take struct object_id + - builtin: convert textconv_object to use struct object_id + - builtin/cat-file: convert some static functions to struct object_id + - builtin/cat-file: convert struct expand_data to use struct object_id + - builtin/log: convert some static functions to use struct object_id + - builtin/blame: convert struct origin to use struct object_id + - builtin/apply: convert static functions to struct object_id + - cache: convert struct cache_entry to use struct object_id + + The "unsigned char sha1[20]" to "struct object_id" conversion + continues. Notable changes in this round includes that ce->sha1, + i.e. the object name recorded in the cache_entry, turns into an + object_id. + + It had merge conflicts with a few topics in flight (Christian's + "apply.c split", Dscho's "cat-file --filters" and Jeff Hostetler's + "status --porcelain-v2"). Extra sets of eyes double-checking for + mismerges are highly appreciated. + + +* ep/use-git-trace-curl-in-tests (2016-09-07) 4 commits + (merged to 'next' on 2016-09-08 at 04372de) + + t5551-http-fetch-smart.sh: use the GIT_TRACE_CURL environment var + + t5550-http-fetch-dumb.sh: use the GIT_TRACE_CURL environment var + + test-lib.sh: preserve GIT_TRACE_CURL from the environment + + t5541-http-push-smart.sh: use the GIT_TRACE_CURL environment var + + Update a few tests that used to use GIT_CURL_VERBOSE to use the + newer GIT_TRACE_CURL. + + Will merge to 'master'. + + +* jk/pack-tag-of-tag (2016-09-07) 5 commits + - pack-objects: walk tag chains for --include-tag + - t5305: simplify packname handling + - t5305: use "git -C" + - t5305: drop "dry-run" of unpack-objects + - t5305: move cleanup into test block + + "git pack-objects --include-tag" was taught that when we know that + we are sending an object C, we want a tag B that directly points at + C but also a tag A that points at the tag B. We used to miss the + intermediate tag B in some cases. + + Will merge to 'next'. + + +* js/t6026-clean-up (2016-09-07) 1 commit + (merged to 'next' on 2016-09-08 at 5ad2fc1) + + t6026-merge-attr: clean up background process at end of test case + + A test spawned a short-lived background process, which sometimes + prevented the test directory from getting removed at the end of the + script on some platforms. + + Will merge to 'master'. + + +* js/t9903-chaining (2016-09-07) 1 commit + (merged to 'next' on 2016-09-08 at 162a3c9) + + t9903: fix broken && chain + + Will merge to 'master'. + + +* jt/accept-capability-advertisement-when-fetching-from-void (2016-09-09) 3 commits + - connect: advertized capability is not a ref + - connect: tighten check for unexpected early hang up + - tests: move test_lazy_prereq JGIT to test-lib.sh + + JGit can show a fake ref "capabilities^{}" to "git fetch" when it + does not advertise any refs, but "git fetch" was not prepared to + see such an advertisement. When the other side disconnects without + giving any ref advertisement, we used to say "there may not be a + repository at that URL", but we may have seen other advertisement + like "shallow" and ".have" in which case we definitely know that a + repository is there. The code to detect this case has also been + updated. + + Will merge to 'next'. + + +* rs/compat-strdup (2016-09-07) 1 commit + (merged to 'next' on 2016-09-08 at 46acfdf) + + compat: move strdup(3) replacement to its own file + + Will merge to 'master'. + + +* rs/hex2chr (2016-09-07) 1 commit + (merged to 'next' on 2016-09-08 at 7266d5b) + + introduce hex2chr() for converting two hexadecimal digits to a character + + Will merge to 'master'. + + +* rt/rebase-i-broken-insn-advise (2016-09-07) 1 commit + - rebase -i: improve advice on bad instruction lines + + When "git rebase -i" is given a broken instruction, it told the + user to fix it with "--edit-todo", but didn't say what the step + after that was (i.e. "--continue"). + + Will hold. + Dscho's "rebase -i" hopefully will become available in 'pu', by + which time an equivalent of this fix would be ported to C. This is + queued merely as a reminder. + + +* sb/xdiff-remove-unused-static-decl (2016-09-07) 1 commit + (merged to 'next' on 2016-09-08 at 39e41dd) + + xdiff: remove unneeded declarations + + Code cleanup. + + Will merge to 'master'. + + +* sy/git-gui-i18n-ja (2016-09-07) 7 commits + - Merge branch 'sy/i18n' of git-gui + - git-gui: update Japanese information + - git-gui: update Japanese translation + - git-gui: add Japanese language code + - git-gui: apply po template to Japanese translation + - git-gui: consistently use the same word for "blame" in Japanese + - git-gui: consistently use the same word for "remote" in Japanese + + Update Japanese translation for "git-gui". + + Will merge to 'next'. + + +* ah/misc-message-fixes (2016-09-08) 5 commits + - unpack-trees: do not capitalize "working" + - git-merge-octopus: do not capitalize "octopus" + - git-rebase--interactive: fix English grammar + - cat-file: put spaces around pipes in usage string + - am: put spaces around pipe in usage string + + Message cleanup. + + Will merge to 'next'. + + +* jk/fix-remote-curl-url-wo-proto (2016-09-08) 1 commit + - remote-curl: handle URLs without protocol + + "git fetch http::/site/path" did not die correctly and segfaulted + instead. + + Will merge to 'next'. + + +* jt/format-patch-base-info-above-sig (2016-09-09) 1 commit + - format-patch: show base info before email signature + + "git format-patch --base=..." feature that was recently added + showed the base commit information after "-- " e-mail signature + line, which turned out to be inconvenient. The base information + has been moved above the signature line. + + Needs an extra blank line before the baseinfo. - Will discard. - cf. <1460294354-7031-1-git-send-email-s-beyer@gmx.net> +* nd/checkout-disambiguation (2016-09-09) 4 commits + - fixup! checkout.txt: document a common case that ignores ambiguation rules + - checkout: fix ambiguity check in subdir + - checkout.txt: document a common case that ignores ambiguation rules + - checkout: add some spaces between code and comment -* sg/completion-updates (2016-02-28) 21 commits - . completion: cache the path to the repository - . completion: extract repository discovery from __gitdir() - . completion: don't guard git executions with __gitdir() - . completion: consolidate silencing errors from git commands - . completion: don't use __gitdir() for git commands - . completion: respect 'git -C ' - . completion: fix completion after 'git -C ' - . completion: don't offer commands when 'git --opt' needs an argument - . rev-parse: add '--absolute-git-dir' option - . completion: list short refs from a remote given as a URL - . completion: don't list 'HEAD' when trying refs completion outside of a repo - . completion: list refs from remote when remote's name matches a directory - . completion: respect 'git --git-dir=' when listing remote refs - . completion: fix most spots not respecting 'git --git-dir=' - . completion: ensure that the repository path given on the command line exists - . completion tests: add tests for the __git_refs() helper function - . completion tests: check __gitdir()'s output in the error cases - . completion tests: consolidate getting path of current working directory - . completion tests: make the $cur variable local to the test helper functions - . completion tests: don't add test cruft to the test repository - . completion: improve __git_refs()'s in-code documentation + "git checkout " does not follow the usual disambiguation + rules when the can be both a rev and a path, to allow + checking out a branch 'foo' in a project that happens to have a + file 'foo' in the working tree without having to disambiguate. + This was poorly documented and the check was incorrect when the + command was run from a subdirectory. - Has been waiting for a reroll for too long. - cf. <1456754714-25237-1-git-send-email-szeder@ira.uka.de> + Waiting for an Ack for fixup! - Will discard. +* sb/diff-cleanup (2016-09-08) 3 commits + - diff: remove dead code + - diff: omit found pointer from emit_callback + - diff.c: use diff_options directly -* ec/annotate-deleted (2015-11-20) 1 commit - - annotate: skip checking working tree if a revision is provided + Code cleanup. - Usability fix for annotate-specific " " syntax with deleted - files. + Will merge to 'next'. - Has been waiting for a review for too long without seeing anything. - Will discard. +* sb/transport-report-missing-submodule-on-stderr (2016-09-08) 1 commit + (merged to 'next' on 2016-09-08 at 3550831) + + transport: report missing submodule pushes consistently on stderr + Message cleanup. -* dk/gc-more-wo-pack (2016-01-13) 4 commits - - gc: clean garbage .bitmap files from pack dir - - t5304: ensure non-garbage files are not deleted - - t5304: test .bitmap garbage files - - prepare_packed_git(): find more garbage + Will merge to 'master'. - Follow-on to dk/gc-idx-wo-pack topic, to clean up stale - .bitmap and .keep files. - Has been waiting for a reroll for too long. - cf. +* sg/fix-versioncmp-with-common-suffix (2016-09-08) 5 commits + - versioncmp: cope with common leading parts in versionsort.prereleaseSuffix + - versioncmp: pass full tagnames to swap_prereleases() + - t7004-tag: add version sort tests to show prerelease reordering issues + - t7004-tag: use test_config helper + - t7004-tag: delete unnecessary tags with test_when_finished - Will discard. + The prereleaseSuffix feature of version comparison that is used in + "git tag -l" did not correctly when two or more prereleases for the + same release were present (e.g. when 2.0, 2.0-beta1, and 2.0-beta2 + are there and the code needs to compare 2.0-beta1 and 2.0-beta2). + Waiting for a reroll. + cf. <20160908223727.Horde.jVOOJ278ssZ3qkyjkmyqZD-@webmail.informatik.kit.edu> -* jc/diff-b-m (2015-02-23) 5 commits - . WIPWIP - . WIP: diff-b-m - - diffcore-rename: allow easier debugging - - diffcore-rename.c: add locate_rename_src() - - diffcore-break: allow debugging - "git diff -B -M" produced incorrect patch when the postimage of a - completely rewritten file is similar to the preimage of a removed - file; such a resulting file must not be expressed as a rename from - other place. +* va/i18n (2016-09-09) 10 commits + - i18n: update-index: mark warning for translation + - i18n: show-branch: mark error messages for translation + - i18n: receive-pack: mark messages for translation + - notes: downcase the first word of error messages + - i18n: notes: mark error messages for translation + - i18n: merge-recursive: mark verbose message for translation + - i18n: merge-recursive: mark error messages for translation + - i18n: config: mark error message for translation + - i18n: branch: mark option description for translation + - i18n: blame: mark error messages for translation - The fix in this patch is broken, unfortunately. + More i18n. - Will discard. + Will merge to 'next'. --------------------------------------------------- -[Cooking] * jc/submodule-anchor-git-dir (2016-09-01) 1 commit - - submodule: avoid auto-discovery in prepare_submodule_repo_env() + (merged to 'next' on 2016-09-08 at b6f20cf) + + submodule: avoid auto-discovery in prepare_submodule_repo_env() Having a submodule whose ".git" repository is somehow corrupt caused a few commands that recurse into submodules loop forever. - Will merge to 'next'. + Will merge to 'master'. * jc/forbid-symbolic-ref-d-HEAD (2016-09-02) 1 commit - - symbolic-ref -d: do not allow removal of HEAD + (merged to 'next' on 2016-09-08 at cd8c1b3) + + symbolic-ref -d: do not allow removal of HEAD "git symbolic-ref -d HEAD" happily removes the symbolic ref, but the resulting repository becomes an invalid one. Teach the command to forbid removal of HEAD. - Will merge to 'next'. - - -* bh/diff-highlight-graph (2016-08-31) 6 commits - (merged to 'next' on 2016-08-31 at 523a15f) - + diff-highlight: avoid highlighting combined diffs - + diff-highlight: add multi-byte tests - + diff-highlight: ignore test cruft - + diff-highlight: add support for --graph output - + diff-highlight: add failing test for handling --graph output - + diff-highlight: add some tests - - "diff-highlight" script (in contrib/) learned to work better with - "git log -p --graph" output. - Will merge to 'master'. * jc/am-read-author-file (2016-08-30) 1 commit - - am: refactor read_author_script() + (merged to 'next' on 2016-09-08 at d2db42f) + + am: refactor read_author_script() Extract a small helper out of the function that reads the authors script file "git am" internally uses. - Will merge to 'next'. + Will merge to 'master'. This by itself is not useful until a second caller appears in the future for "rebase -i" helper. * jk/test-lib-drop-pid-from-results (2016-08-30) 1 commit - - test-lib: drop PID from test-results/*.count + (merged to 'next' on 2016-09-08 at 0967b0b) + + test-lib: drop PID from test-results/*.count The test framework left the number of tests and success/failure count in the t/test-results directory, keyed by the name of the @@ -577,10 +716,13 @@ of the repositories listed at to serve any useful purpose. The process ID part of the filename has been removed. - Will merge to 'next'. + Will merge to 'master'. -* js/sequencer-wo-die (2016-08-29) 14 commits +* js/sequencer-wo-die (2016-09-09) 17 commits + - sequencer: ensure to release the lock when we could not read the index + - sequencer: lib'ify checkout_fast_forward() + - sequencer: lib'ify fast_forward_to() - sequencer: lib'ify save_opts() - sequencer: lib'ify save_todo() - sequencer: lib'ify save_head() @@ -600,44 +742,13 @@ of the repositories listed at sequencer.c files so that more helper functions in it can be used by callers that want to handle error conditions themselves. - Waiting for a reroll. + Will merge to 'next' after waiting for a few days for further comments. * jk/squelch-false-warning-from-gcc-o3 (2016-08-31) 2 commits - - color_parse_mem: initialize "struct color" temporary - - error_errno: use constant return similar to error() - - Will merge to 'next'. - - -* hv/doc-commit-reference-style (2016-08-26) 1 commit - (merged to 'next' on 2016-08-31 at 68fb778) - + SubmittingPatches: use gitk's "Copy commit summary" format - - A small doc update. - Will merge to 'master'. - - -* cc/receive-pack-limit (2016-08-24) 3 commits - (merged to 'next' on 2016-08-25 at bc74b5b) - + receive-pack: allow a maximum input size to be specified - + unpack-objects: add --max-input-size= option - + index-pack: add --max-input-size= option - - An incoming "git push" that attempts to push too many bytes can now - be rejected by setting a new configuration variable at the receiving - end. - - Will merge to 'master'. - - -* jk/format-patch-number-singleton-patch-with-cover (2016-08-23) 1 commit - (merged to 'next' on 2016-08-25 at a4737fb) - + format-patch: show 0/1 and 1/1 for singleton patch with cover letter - - "git format-patch --cover-letter HEAD^" to format a single patch - with a separate cover letter now numbers the output as [PATCH 0/1] - and [PATCH 1/1] by default. + (merged to 'next' on 2016-09-08 at c9a2af6) + + color_parse_mem: initialize "struct color" temporary + + error_errno: use constant return similar to error() Will merge to 'master'. @@ -652,24 +763,8 @@ of the repositories listed at Waiting for a review. -* jk/delta-base-cache (2016-08-23) 7 commits - (merged to 'next' on 2016-08-25 at f1c141a) - + t/perf: add basic perf tests for delta base cache - + delta_base_cache: use hashmap.h - + delta_base_cache: drop special treatment of blobs - + delta_base_cache: use list.h for LRU - + release_delta_base_cache: reuse existing detach function - + clear_delta_base_cache_entry: use a more descriptive name - + cache_or_unpack_entry: drop keep_cache parameter - - The delta-base-cache mechanism has been a key to the performance in - a repository with a tightly packed packfile, but it did not scale - well even with a larger value of core.deltaBaseCacheLimit. - - Will merge to 'master'. - - -* js/cat-file-filters (2016-08-24) 4 commits +* js/cat-file-filters (2016-09-09) 5 commits + - SQUASH??? "cat-file --filters" passes data as-is by default - cat-file: support --textconv/--filters in batch mode - cat-file --textconv/--filters: allow specifying the path separately - cat-file: introduce the --filters option @@ -685,8 +780,7 @@ of the repositories listed at lacked an equivalent mechanism to run the "Git-to-outside-world" conversion. The command learned the "--filters" option to do so. - Waiting for a reroll. - cf. + Waiting for an ack to SQUASH??? * sb/push-make-submodule-check-the-default (2016-08-24) 1 commit @@ -710,40 +804,6 @@ of the repositories listed at Needs review and testing. -* rt/help-unknown (2016-08-30) 3 commits - (merged to 'next' on 2016-08-30 at db2a5b0) - + help: make option --help open man pages only for Git commands - + help: introduce option --exclude-guides - + Merge branch 'js/no-html-bypass-on-windows' into rt/help-unknown - - "git nosuchcommand --help" said "No manual entry for gitnosuchcommand", - which was not intuitive, given that "git nosuchcommand" said "git: - 'nosuchcommand' is not a git command". - - Will merge to 'master'. - - -* po/range-doc (2016-08-13) 12 commits - (merged to 'next' on 2016-08-31 at d29870b) - + doc: revisions: sort examples and fix alignment of the unchanged - + doc: revisions: show revision expansion in examples - + doc: revisions - clarify reachability examples - + doc: revisions - define `reachable` - + doc: gitrevisions - clarify 'latter case' is revision walk - + doc: gitrevisions - use 'reachable' in page description - + doc: revisions: single vs multi-parent notation comparison - + doc: revisions: extra clarification of ^! notation effects - + doc: revisions: give headings for the two and three dot notations - + doc: show the actual left, right, and boundary marks - + doc: revisions - name the left and right sides - + doc: use 'symmetric difference' consistently - - Clarify various ways to specify the "revision ranges" in the - documentation. - - Will merge to 'master'. - - * jk/diff-submodule-diff-inline (2016-08-31) 8 commits (merged to 'next' on 2016-09-02 at 734e42c) + diff: teach diff to display submodule difference with an inline diff @@ -778,51 +838,12 @@ of the repositories listed at - pack-objects: use reachability bitmap index when generating non-stdout pack - pack-objects: respect --local/--honor-pack-keep/--incremental when bitmap is in use + What is the state of this thing? Waiting for the review discussion to settle. cf. <20160818175222.bmm3ivjheokf2qzl@sigill.intra.peff.net> cf. <20160818180615.q25p57v35m2xxtww@sigill.intra.peff.net> -* sb/submodule-clone-rr (2016-08-17) 8 commits - (merged to 'next' on 2016-08-31 at 08b4b7d) - + clone: recursive and reference option triggers submodule alternates - + clone: implement optional references - + clone: clarify option_reference as required - + clone: factor out checking for an alternate path - + submodule--helper update-clone: allow multiple references - + submodule--helper module-clone: allow multiple references - + t7408: merge short tests, factor out testing method - + t7408: modernize style - - "git clone --resurse-submodules --reference $path $URL" is a way to - reduce network transfer cost by borrowing objects in an existing - $path repository when cloning the superproject from $URL; it - learned to also peek into $path for presense of corresponding - repositories of submodules and borrow objects from there when able. - - Will merge to 'master'. - - -* jh/status-v2-porcelain (2016-08-12) 9 commits - (merged to 'next' on 2016-08-31 at e71f595) - + status: unit tests for --porcelain=v2 - + test-lib-functions.sh: add lf_to_nul helper - + git-status.txt: describe --porcelain=v2 format - + status: print branch info with --porcelain=v2 --branch - + status: print per-file porcelain v2 status data - + status: collect per-file data for --porcelain=v2 - + status: support --porcelain[=] - + status: cleanup API to wt_status_print - + status: rename long-format print routines - - Enhance "git status --porcelain" output by collecting more data on - the state of the index and the working tree files, which may - further be used to teach git-prompt (in contrib/) to make fewer - calls to git. - - Will merge to 'master'. - - * mh/diff-indent-heuristic (2016-09-07) 9 commits - SQAUSH??? - blame: honor the diff heuristic options and config @@ -840,8 +861,8 @@ of the repositories listed at are the same. A command line option is added to help with the experiment to find a good heuristics. - Rerolled. Needs adjustment of test numbers. Otherwise looked OK. + Waiting for an ack to SQUASH??? * cc/apply-am (2016-09-07) 41 commits @@ -890,7 +911,7 @@ of the repositories listed at "git am" has been taught to make an internal call to "git apply"'s innards without spawning the latter as a separate process. - Will merge to 'next'. + Will merge to 'next' after waiting for a few days for further comments. * jk/pack-objects-optim-mru (2016-08-11) 4 commits @@ -961,7 +982,7 @@ of the repositories listed at Will hold to see if people scream. -* mh/ref-store (2016-06-20) 38 commits +* mh/ref-store (2016-09-09) 38 commits - refs: implement iteration over only per-worktree refs - refs: make lock generic - refs: add method to rename refs @@ -1004,8 +1025,8 @@ of the repositories listed at The ref-store abstraction was introduced to the refs API so that we can plug in different backends to store references. - Needs a fixup. - cf. <576D9885.2020901@ramsayjones.plus.com> + Will merge to 'next' after waiting for a few days for further comments. + * nd/shallow-deepen (2016-06-13) 27 commits @@ -1123,3 +1144,12 @@ of the repositories listed at It has been reported that git-gui still uses the deprecated syntax, which needs to be fixed before this final step can proceed. cf. <5671DB28.8020901@kdbg.org> + +-------------------------------------------------- +[Discarded] + +* jn/fix-connect-unexpected-hangup-diag (2016-09-08) 1 commit + . connect: tighten check for unexpected early hang up + + Now part of jt/accept-capability-advertisement-when-fetching-from-void + topic.