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
'+' 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
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=<size> option
+ + index-pack: add --max-input-size=<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[=<version>]
+ + 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 <rev>^! 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. <xmqqd1kef5k5.fsf@gitster.mtv.corp.google.com>
+* 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 <word>" does not follow the usual disambiguation
- rules when the <word> 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. <xmqq7famgnwo.fsf@gitster.mtv.corp.google.com>
+ "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'.
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 <path>'
+ . completion: fix completion after 'git -C <path>'
+ . 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=<path>' when listing remote refs
+ . completion: fix most spots not respecting 'git --git-dir=<path>'
+ . 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 "<file> <rev>" 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. <xmqq60ypbeng.fsf@gitster.mtv.corp.google.com>
+
+ 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 <path>'
- . completion: fix completion after 'git -C <path>'
- . 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=<path>' when listing remote refs
- . completion: fix most spots not respecting 'git --git-dir=<path>'
- . 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 <word>" does not follow the usual disambiguation
+ rules when the <word> 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 "<file> <rev>" 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. <xmqq60ypbeng.fsf@gitster.mtv.corp.google.com>
+* 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
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()
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=<size> option
- + index-pack: add --max-input-size=<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'.
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
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. <xmqqmvk2qcv8.fsf@gitster.mtv.corp.google.com>
+ Waiting for an ack to SQUASH???
* sb/push-make-submodule-check-the-default (2016-08-24) 1 commit
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 <rev>^! 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
- 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[=<version>]
- + 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
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
"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
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
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
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.