What's cooking (2016/09 #03)

Junio C Hamano committed Sep 9, 2016 at 15:44 UTC 2d155428fb87d581767555b59fb7bf15e99ca5d0
1 file changed +465 -435
whats-cooking.txt
+465 -435
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Sep 2016, #02; Thu, 8)
4 -X-master-at: 6ebdac1bab966b720d776aa43ca188fe378b1f4b
5 -X-next-at: f2ff48496e8dc270b21b0290a2a3e4ef98e352ed
3 +Subject: What's cooking in git.git (Sep 2016, #03; Fri, 9)
4 +X-master-at: cda1bbd474805e653dda8a71d4ea3790e2a66cbb
5 +X-next-at: 1e96ab9c6aed24fcda3720972963c6f1bc62496f
6
7 -What's cooking in git.git (Sep 2016, #02; Thu, 8)
7 +What's cooking in git.git (Sep 2016, #03; Fri, 9)
8 --------------------------------------------------
9
10 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
12 '+' are in 'next'. The ones marked with '.' do not appear in any of
13 the integration branches, but I am still holding onto them.
14
15 -There are a few more topics in flight that may be ready to be picked
16 -up but I haven't, and other topics in flight that may not be quite
17 -ready. I'll start merging topics that have been cooking in 'next'
18 -to 'master', rewind and rebuild 'next', and merge those that have
19 -been waiting in 'pu' to 'next' before picking them up.
15 +I've started merging topics that have been cooking in 'next' to
16 +'master', and the next step will be to rewind and rebuild 'next',
17 +and merge those that have been waiting in 'pu' to 'next'. There are
18 +a few more topics in flight that may be ready to be picked up but I
19 +haven't, and other topics in flight that may not be quite ready.
20 +They will be picked up after topics that have already been in-tree
21 +starts quieting down.
22
23 You can find the changes described here in the integration branches
24 of the repositories listed at
@@ -24,249 +26,151 @@ of the repositories listed at
26 http://git-blame.blogspot.com/p/git-public-repositories.html
27
28 --------------------------------------------------
27 -[New Topics]
28 -
29 -* bc/object-id (2016-09-07) 20 commits
30 - - builtin/reset: convert to use struct object_id
31 - - builtin/commit-tree: convert to struct object_id
32 - - builtin/am: convert to struct object_id
33 - - refs: add an update_ref_oid function.
34 - - sha1_name: convert get_sha1_mb to struct object_id
35 - - builtin/update-index: convert file to struct object_id
36 - - notes: convert init_notes to use struct object_id
37 - - builtin/rm: convert to use struct object_id
38 - - builtin/blame: convert file to use struct object_id
39 - - Convert read_mmblob to take struct object_id.
40 - - notes-merge: convert struct notes_merge_pair to struct object_id
41 - - builtin/checkout: convert some static functions to struct object_id
42 - - streaming: make stream_blob_to_fd take struct object_id
43 - - builtin: convert textconv_object to use struct object_id
44 - - builtin/cat-file: convert some static functions to struct object_id
45 - - builtin/cat-file: convert struct expand_data to use struct object_id
46 - - builtin/log: convert some static functions to use struct object_id
47 - - builtin/blame: convert struct origin to use struct object_id
48 - - builtin/apply: convert static functions to struct object_id
49 - - cache: convert struct cache_entry to use struct object_id
50 -
51 - The "unsigned char sha1[20]" to "struct object_id" conversion
52 - continues. Notable changes in this round includes that ce->sha1,
53 - i.e. the object name recorded in the cache_entry, turns into an
54 - object_id.
55 -
56 - It had merge conflicts with a few topics in flight (Christian's
57 - "apply.c split", Dscho's "cat-file --filters" and Jeff Hostetler's
58 - "status --porcelain-v2"). Extra sets of eyes double-checking for
59 - mismerges are highly appreciated.
60 -
61 -
62 -* ep/use-git-trace-curl-in-tests (2016-09-07) 4 commits
63 - - t5551-http-fetch-smart.sh: use the GIT_TRACE_CURL environment var
64 - - t5550-http-fetch-dumb.sh: use the GIT_TRACE_CURL environment var
65 - - test-lib.sh: preserve GIT_TRACE_CURL from the environment
66 - - t5541-http-push-smart.sh: use the GIT_TRACE_CURL environment var
67 -
68 - Update a few tests that used to use GIT_CURL_VERBOSE to use the
69 - newer GIT_TRACE_CURL.
70 -
71 - Will merge to 'next'.
72 -
73 -
74 -* jk/pack-tag-of-tag (2016-09-07) 5 commits
75 - - pack-objects: walk tag chains for --include-tag
76 - - t5305: simplify packname handling
77 - - t5305: use "git -C"
78 - - t5305: drop "dry-run" of unpack-objects
79 - - t5305: move cleanup into test block
80 -
81 - "git pack-objects --include-tag" was taught that when we know that
82 - we are sending an object C, we want a tag B that directly points at
83 - C but also a tag A that points at the tag B. We used to miss the
84 - intermediate tag B in some cases.
85 -
86 -
87 -* js/t6026-clean-up (2016-09-07) 1 commit
88 - - t6026-merge-attr: clean up background process at end of test case
89 -
90 - A test spawned a short-lived background process, which sometimes
91 - prevented the test directory from getting removed at the end of the
92 - script on some platforms.
93 -
94 - Will merge to 'next'.
95 -
29 +[Graduated to "master"]
30
97 -* js/t9903-chaining (2016-09-07) 1 commit
98 - - t9903: fix broken && chain
99 -
100 - Will merge to 'next'.
101 -
102 -
103 -* jt/accept-capability-advertisement-when-fetching-from-void (2016-09-07) 2 commits
104 - - connect: advertized capability is not a ref
105 - - tests: move test_lazy_prereq JGIT to test-lib.sh
106 -
107 - JGit can show a fake ref "capabilities^{}" to "git fetch" when it
108 - does not advertise any refs, but "git fetch" was not prepared to
109 - see such an advertisement.
110 -
111 - Waiting for a reroll.
112 - Rewording the log, and avoiding making it overly loose are needed.
113 - cf. <20160908013431.GC25016@google.com>
114 -
115 -
116 -* rs/compat-strdup (2016-09-07) 1 commit
117 - - compat: move strdup(3) replacement to its own file
118 -
119 - Will merge to 'next'.
120 -
121 -
122 -* rs/hex2chr (2016-09-07) 1 commit
123 - - introduce hex2chr() for converting two hexadecimal digits to a character
124 -
125 - Will merge to 'next'.
126 -
127 -
128 -* rt/rebase-i-broken-insn-advise (2016-09-07) 1 commit
129 - - rebase -i: improve advice on bad instruction lines
130 -
131 - When "git rebase -i" is given a broken instruction, it told the
132 - user to fix it with "--edit-todo", but didn't say what the step
133 - after that was (i.e. "--continue").
134 -
135 - Will hold.
136 - Dscho's "rebase -i" hopefully will become available in 'pu', by
137 - which time an equivalent of this fix would be ported to C. This is
138 - queued merely as a reminder.
139 -
140 -
141 -* sb/xdiff-remove-unused-static-decl (2016-09-07) 1 commit
142 - - xdiff: remove unneeded declarations
31 +* bh/diff-highlight-graph (2016-08-31) 6 commits
32 + (merged to 'next' on 2016-08-31 at 523a15f)
33 + + diff-highlight: avoid highlighting combined diffs
34 + + diff-highlight: add multi-byte tests
35 + + diff-highlight: ignore test cruft
36 + + diff-highlight: add support for --graph output
37 + + diff-highlight: add failing test for handling --graph output
38 + + diff-highlight: add some tests
39
144 - Code cleanup.
40 + "diff-highlight" script (in contrib/) learned to work better with
41 + "git log -p --graph" output.
42
146 - Will merge to 'next'.
43
44 +* cc/receive-pack-limit (2016-08-24) 3 commits
45 + (merged to 'next' on 2016-08-25 at bc74b5b)
46 + + receive-pack: allow a maximum input size to be specified
47 + + unpack-objects: add --max-input-size=<size> option
48 + + index-pack: add --max-input-size=<size> option
49
149 -* sy/git-gui-i18n-ja (2016-09-07) 7 commits
150 - - Merge branch 'sy/i18n' of git-gui
151 - - git-gui: update Japanese information
152 - - git-gui: update Japanese translation
153 - - git-gui: add Japanese language code
154 - - git-gui: apply po template to Japanese translation
155 - - git-gui: consistently use the same word for "blame" in Japanese
156 - - git-gui: consistently use the same word for "remote" in Japanese
50 + An incoming "git push" that attempts to push too many bytes can now
51 + be rejected by setting a new configuration variable at the receiving
52 + end.
53
158 - Update Japanese translation for "git-gui".
54
55 +* hv/doc-commit-reference-style (2016-08-26) 1 commit
56 + (merged to 'next' on 2016-08-31 at 68fb778)
57 + + SubmittingPatches: use gitk's "Copy commit summary" format
58
161 -* ah/misc-message-fixes (2016-09-08) 5 commits
162 - - unpack-trees: do not capitalize "working"
163 - - git-merge-octopus: do not capitalize "octopus"
164 - - git-rebase--interactive: fix English grammar
165 - - cat-file: put spaces around pipes in usage string
166 - - am: put spaces around pipe in usage string
59 + A small doc update.
60
168 - Message cleanup.
61
170 - Will merge to 'next'.
62 +* jh/status-v2-porcelain (2016-08-12) 9 commits
63 + (merged to 'next' on 2016-08-31 at e71f595)
64 + + status: unit tests for --porcelain=v2
65 + + test-lib-functions.sh: add lf_to_nul helper
66 + + git-status.txt: describe --porcelain=v2 format
67 + + status: print branch info with --porcelain=v2 --branch
68 + + status: print per-file porcelain v2 status data
69 + + status: collect per-file data for --porcelain=v2
70 + + status: support --porcelain[=<version>]
71 + + status: cleanup API to wt_status_print
72 + + status: rename long-format print routines
73
74 + Enhance "git status --porcelain" output by collecting more data on
75 + the state of the index and the working tree files, which may
76 + further be used to teach git-prompt (in contrib/) to make fewer
77 + calls to git.
78
173 -* jk/fix-remote-curl-url-wo-proto (2016-09-08) 1 commit
174 - - remote-curl: handle URLs without protocol
79
176 - "git fetch http::/site/path" did not die correctly and segfaulted
177 - instead.
80 +* jk/delta-base-cache (2016-08-23) 7 commits
81 + (merged to 'next' on 2016-08-25 at f1c141a)
82 + + t/perf: add basic perf tests for delta base cache
83 + + delta_base_cache: use hashmap.h
84 + + delta_base_cache: drop special treatment of blobs
85 + + delta_base_cache: use list.h for LRU
86 + + release_delta_base_cache: reuse existing detach function
87 + + clear_delta_base_cache_entry: use a more descriptive name
88 + + cache_or_unpack_entry: drop keep_cache parameter
89
179 - Will merge to 'next'.
90 + The delta-base-cache mechanism has been a key to the performance in
91 + a repository with a tightly packed packfile, but it did not scale
92 + well even with a larger value of core.deltaBaseCacheLimit.
93
94
182 -* jn/fix-connect-unexpected-hangup-diag (2016-09-08) 1 commit
183 - - connect: tighten check for unexpected early hang up
95 +* jk/format-patch-number-singleton-patch-with-cover (2016-08-23) 1 commit
96 + (merged to 'next' on 2016-08-25 at a4737fb)
97 + + format-patch: show 0/1 and 1/1 for singleton patch with cover letter
98
185 - When the other side disconnects without giving any ref
186 - advertisement, we used to say "there may not be a repository at
187 - that URL", but we may have seen other advertisement like "shallow"
188 - and ".have" in which case we definitely know that a repository is
189 - there. The code to detect this case has been updated.
99 + "git format-patch --cover-letter HEAD^" to format a single patch
100 + with a separate cover letter now numbers the output as [PATCH 0/1]
101 + and [PATCH 1/1] by default.
102
191 - Waiting for a reroll with test.
192 - cf. <20160908015040.GF25016@google.com>
103
104 +* po/range-doc (2016-08-13) 12 commits
105 + (merged to 'next' on 2016-08-31 at d29870b)
106 + + doc: revisions: sort examples and fix alignment of the unchanged
107 + + doc: revisions: show revision expansion in examples
108 + + doc: revisions - clarify reachability examples
109 + + doc: revisions - define `reachable`
110 + + doc: gitrevisions - clarify 'latter case' is revision walk
111 + + doc: gitrevisions - use 'reachable' in page description
112 + + doc: revisions: single vs multi-parent notation comparison
113 + + doc: revisions: extra clarification of <rev>^! notation effects
114 + + doc: revisions: give headings for the two and three dot notations
115 + + doc: show the actual left, right, and boundary marks
116 + + doc: revisions - name the left and right sides
117 + + doc: use 'symmetric difference' consistently
118
195 -* jt/format-patch-base-info-above-sig (2016-09-08) 1 commit
196 - - format-patch: show base info before email signature
119 + Clarify various ways to specify the "revision ranges" in the
120 + documentation.
121
198 - "git format-patch --base=..." feature that was recently added
199 - showed the base commit information after "-- " e-mail signature
200 - line, which turned out to be inconvenient. The base information
201 - has been moved above the signature line.
122
203 - Needs rephrasing of the log message to describe an accidental bugfix.
204 - cf. <xmqqd1kef5k5.fsf@gitster.mtv.corp.google.com>
123 +* rt/help-unknown (2016-08-30) 3 commits
124 + (merged to 'next' on 2016-08-30 at db2a5b0)
125 + + help: make option --help open man pages only for Git commands
126 + + help: introduce option --exclude-guides
127 + + Merge branch 'js/no-html-bypass-on-windows' into rt/help-unknown
128
129 + "git nosuchcommand --help" said "No manual entry for gitnosuchcommand",
130 + which was not intuitive, given that "git nosuchcommand" said "git:
131 + 'nosuchcommand' is not a git command".
132
207 -* nd/checkout-disambiguation (2016-09-08) 3 commits
208 - - checkout: fix ambiguity check in subdir
209 - - checkout.txt: document a common case that ignores ambiguation rules
210 - - checkout: add some spaces between code and comment
133
212 - "git checkout <word>" does not follow the usual disambiguation
213 - rules when the <word> can be both a rev and a path, to allow
214 - checking out a branch 'foo' in a project that happens to have a
215 - file 'foo' in the working tree without having to disambiguate.
216 - This was poorly documented and the check was incorrect when the
217 - command was run from a subdirectory.
134 +* sb/submodule-clone-rr (2016-08-17) 8 commits
135 + (merged to 'next' on 2016-08-31 at 08b4b7d)
136 + + clone: recursive and reference option triggers submodule alternates
137 + + clone: implement optional references
138 + + clone: clarify option_reference as required
139 + + clone: factor out checking for an alternate path
140 + + submodule--helper update-clone: allow multiple references
141 + + submodule--helper module-clone: allow multiple references
142 + + t7408: merge short tests, factor out testing method
143 + + t7408: modernize style
144
219 - Waiting for a reroll.
220 - cf. <xmqq7famgnwo.fsf@gitster.mtv.corp.google.com>
145 + "git clone --resurse-submodules --reference $path $URL" is a way to
146 + reduce network transfer cost by borrowing objects in an existing
147 + $path repository when cloning the superproject from $URL; it
148 + learned to also peek into $path for presense of corresponding
149 + repositories of submodules and borrow objects from there when able.
150
151 +--------------------------------------------------
152 +[New Topics]
153
223 -* sb/diff-cleanup (2016-09-08) 3 commits
224 - - diff: remove dead code
225 - - diff: omit found pointer from emit_callback
226 - - diff.c: use diff_options directly
154 +* jk/patch-ids-no-merges (2016-09-09) 2 commits
155 + - patch-ids: define patch-id of merge commits as "null"
156 + - patch-ids: turn off rename detection
157
228 - Code cleanup.
158 + "git log --cherry-pick" used to include merge commits as candidates
159 + to be matched up with other commits, resulting a lot of wasted time.
160 + The patch-id generation logic has been updated to ignore merges to
161 + avoid the wastage.
162
163 Will merge to 'next'.
164
165
233 -* sb/transport-report-missing-submodule-on-stderr (2016-09-08) 1 commit
234 - - transport: report missing submodule pushes consistently on stderr
166 +* js/git-gui-commit-gpgsign (2016-09-09) 2 commits
167 + - Merge branch 'js/commit-gpgsign' of ../git-gui into js/git-gui-commit-gpgsign
168 + - git-gui: respect commit.gpgsign again
169
236 - Message cleanup.
237 -
238 - Will merge to 'next'.
239 -
240 -
241 -* sg/fix-versioncmp-with-common-suffix (2016-09-08) 5 commits
242 - - versioncmp: cope with common leading parts in versionsort.prereleaseSuffix
243 - - versioncmp: pass full tagnames to swap_prereleases()
244 - - t7004-tag: add version sort tests to show prerelease reordering issues
245 - - t7004-tag: use test_config helper
246 - - t7004-tag: delete unnecessary tags with test_when_finished
247 -
248 - The prereleaseSuffix feature of version comparison that is used in
249 - "git tag -l" did not correctly when two or more prereleases for the
250 - same release were present (e.g. when 2.0, 2.0-beta1, and 2.0-beta2
251 - are there and the code needs to compare 2.0-beta1 and 2.0-beta2).
252 -
253 - Waiting for a reroll.
254 - cf. <20160908223727.Horde.jVOOJ278ssZ3qkyjkmyqZD-@webmail.informatik.kit.edu>
255 -
256 -
257 -* va/i18n (2016-09-08) 10 commits
258 - - i18n: update-index: mark warning for translation
259 - - i18n: show-branch: mark error messages for translation
260 - - i18n: receive-pack: mark messages for translation
261 - - notes: lowercase first word of error messages
262 - - i18n: notes: mark error messages for translation
263 - - i18n: merge-recursive: mark verbose message for translation
264 - - i18n: merge-recursive: mark error messages for translation
265 - - i18n: config: mark error message for translation
266 - - i18n: branch: mark option description for translation
267 - - i18n: blame: mark error messages for translation
268 -
269 - More i18n.
170 + "git commit-tree" stopped reading commit.gpgsign configuration
171 + variable that was meant for Porcelain "git commit" in Git 2.9; we
172 + forgot to update "git gui" to look at the configuration to match
173 + this change.
174
175 Will merge to 'next'.
176
@@ -441,135 +345,370 @@ of the repositories listed at
345 The internal algorithm used in "git bisect" to find the next commit
346 to check has been optimized greatly.
347
444 - Was expecting a reroll, but now pb/bisect topic starts removinging
445 - more and more parts from git-bisect.sh, this needs to see a fresh
446 - reroll.
348 + Was expecting a reroll, but now pb/bisect topic starts removinging
349 + more and more parts from git-bisect.sh, this needs to see a fresh
350 + reroll.
351 +
352 + Will discard.
353 + cf. <1460294354-7031-1-git-send-email-s-beyer@gmx.net>
354 +
355 +
356 +* sg/completion-updates (2016-02-28) 21 commits
357 + . completion: cache the path to the repository
358 + . completion: extract repository discovery from __gitdir()
359 + . completion: don't guard git executions with __gitdir()
360 + . completion: consolidate silencing errors from git commands
361 + . completion: don't use __gitdir() for git commands
362 + . completion: respect 'git -C <path>'
363 + . completion: fix completion after 'git -C <path>'
364 + . completion: don't offer commands when 'git --opt' needs an argument
365 + . rev-parse: add '--absolute-git-dir' option
366 + . completion: list short refs from a remote given as a URL
367 + . completion: don't list 'HEAD' when trying refs completion outside of a repo
368 + . completion: list refs from remote when remote's name matches a directory
369 + . completion: respect 'git --git-dir=<path>' when listing remote refs
370 + . completion: fix most spots not respecting 'git --git-dir=<path>'
371 + . completion: ensure that the repository path given on the command line exists
372 + . completion tests: add tests for the __git_refs() helper function
373 + . completion tests: check __gitdir()'s output in the error cases
374 + . completion tests: consolidate getting path of current working directory
375 + . completion tests: make the $cur variable local to the test helper functions
376 + . completion tests: don't add test cruft to the test repository
377 + . completion: improve __git_refs()'s in-code documentation
378 +
379 + Has been waiting for a reroll for too long.
380 + cf. <1456754714-25237-1-git-send-email-szeder@ira.uka.de>
381 +
382 + Will discard.
383 +
384 +
385 +* ec/annotate-deleted (2015-11-20) 1 commit
386 + - annotate: skip checking working tree if a revision is provided
387 +
388 + Usability fix for annotate-specific "<file> <rev>" syntax with deleted
389 + files.
390 +
391 + Has been waiting for a review for too long without seeing anything.
392 +
393 + Will discard.
394 +
395 +
396 +* dk/gc-more-wo-pack (2016-01-13) 4 commits
397 + - gc: clean garbage .bitmap files from pack dir
398 + - t5304: ensure non-garbage files are not deleted
399 + - t5304: test .bitmap garbage files
400 + - prepare_packed_git(): find more garbage
401 +
402 + Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
403 + .bitmap and .keep files.
404 +
405 + Has been waiting for a reroll for too long.
406 + cf. <xmqq60ypbeng.fsf@gitster.mtv.corp.google.com>
407 +
408 + Will discard.
409 +
410 +
411 +* jc/diff-b-m (2015-02-23) 5 commits
412 + . WIPWIP
413 + . WIP: diff-b-m
414 + - diffcore-rename: allow easier debugging
415 + - diffcore-rename.c: add locate_rename_src()
416 + - diffcore-break: allow debugging
417 +
418 + "git diff -B -M" produced incorrect patch when the postimage of a
419 + completely rewritten file is similar to the preimage of a removed
420 + file; such a resulting file must not be expressed as a rename from
421 + other place.
422 +
423 + The fix in this patch is broken, unfortunately.
424 +
425 + Will discard.
426 +
427 +--------------------------------------------------
428 +[Cooking]
429 +
430 +* bc/object-id (2016-09-07) 20 commits
431 + - builtin/reset: convert to use struct object_id
432 + - builtin/commit-tree: convert to struct object_id
433 + - builtin/am: convert to struct object_id
434 + - refs: add an update_ref_oid function.
435 + - sha1_name: convert get_sha1_mb to struct object_id
436 + - builtin/update-index: convert file to struct object_id
437 + - notes: convert init_notes to use struct object_id
438 + - builtin/rm: convert to use struct object_id
439 + - builtin/blame: convert file to use struct object_id
440 + - Convert read_mmblob to take struct object_id.
441 + - notes-merge: convert struct notes_merge_pair to struct object_id
442 + - builtin/checkout: convert some static functions to struct object_id
443 + - streaming: make stream_blob_to_fd take struct object_id
444 + - builtin: convert textconv_object to use struct object_id
445 + - builtin/cat-file: convert some static functions to struct object_id
446 + - builtin/cat-file: convert struct expand_data to use struct object_id
447 + - builtin/log: convert some static functions to use struct object_id
448 + - builtin/blame: convert struct origin to use struct object_id
449 + - builtin/apply: convert static functions to struct object_id
450 + - cache: convert struct cache_entry to use struct object_id
451 +
452 + The "unsigned char sha1[20]" to "struct object_id" conversion
453 + continues. Notable changes in this round includes that ce->sha1,
454 + i.e. the object name recorded in the cache_entry, turns into an
455 + object_id.
456 +
457 + It had merge conflicts with a few topics in flight (Christian's
458 + "apply.c split", Dscho's "cat-file --filters" and Jeff Hostetler's
459 + "status --porcelain-v2"). Extra sets of eyes double-checking for
460 + mismerges are highly appreciated.
461 +
462 +
463 +* ep/use-git-trace-curl-in-tests (2016-09-07) 4 commits
464 + (merged to 'next' on 2016-09-08 at 04372de)
465 + + t5551-http-fetch-smart.sh: use the GIT_TRACE_CURL environment var
466 + + t5550-http-fetch-dumb.sh: use the GIT_TRACE_CURL environment var
467 + + test-lib.sh: preserve GIT_TRACE_CURL from the environment
468 + + t5541-http-push-smart.sh: use the GIT_TRACE_CURL environment var
469 +
470 + Update a few tests that used to use GIT_CURL_VERBOSE to use the
471 + newer GIT_TRACE_CURL.
472 +
473 + Will merge to 'master'.
474 +
475 +
476 +* jk/pack-tag-of-tag (2016-09-07) 5 commits
477 + - pack-objects: walk tag chains for --include-tag
478 + - t5305: simplify packname handling
479 + - t5305: use "git -C"
480 + - t5305: drop "dry-run" of unpack-objects
481 + - t5305: move cleanup into test block
482 +
483 + "git pack-objects --include-tag" was taught that when we know that
484 + we are sending an object C, we want a tag B that directly points at
485 + C but also a tag A that points at the tag B. We used to miss the
486 + intermediate tag B in some cases.
487 +
488 + Will merge to 'next'.
489 +
490 +
491 +* js/t6026-clean-up (2016-09-07) 1 commit
492 + (merged to 'next' on 2016-09-08 at 5ad2fc1)
493 + + t6026-merge-attr: clean up background process at end of test case
494 +
495 + A test spawned a short-lived background process, which sometimes
496 + prevented the test directory from getting removed at the end of the
497 + script on some platforms.
498 +
499 + Will merge to 'master'.
500 +
501 +
502 +* js/t9903-chaining (2016-09-07) 1 commit
503 + (merged to 'next' on 2016-09-08 at 162a3c9)
504 + + t9903: fix broken && chain
505 +
506 + Will merge to 'master'.
507 +
508 +
509 +* jt/accept-capability-advertisement-when-fetching-from-void (2016-09-09) 3 commits
510 + - connect: advertized capability is not a ref
511 + - connect: tighten check for unexpected early hang up
512 + - tests: move test_lazy_prereq JGIT to test-lib.sh
513 +
514 + JGit can show a fake ref "capabilities^{}" to "git fetch" when it
515 + does not advertise any refs, but "git fetch" was not prepared to
516 + see such an advertisement. When the other side disconnects without
517 + giving any ref advertisement, we used to say "there may not be a
518 + repository at that URL", but we may have seen other advertisement
519 + like "shallow" and ".have" in which case we definitely know that a
520 + repository is there. The code to detect this case has also been
521 + updated.
522 +
523 + Will merge to 'next'.
524 +
525 +
526 +* rs/compat-strdup (2016-09-07) 1 commit
527 + (merged to 'next' on 2016-09-08 at 46acfdf)
528 + + compat: move strdup(3) replacement to its own file
529 +
530 + Will merge to 'master'.
531 +
532 +
533 +* rs/hex2chr (2016-09-07) 1 commit
534 + (merged to 'next' on 2016-09-08 at 7266d5b)
535 + + introduce hex2chr() for converting two hexadecimal digits to a character
536 +
537 + Will merge to 'master'.
538 +
539 +
540 +* rt/rebase-i-broken-insn-advise (2016-09-07) 1 commit
541 + - rebase -i: improve advice on bad instruction lines
542 +
543 + When "git rebase -i" is given a broken instruction, it told the
544 + user to fix it with "--edit-todo", but didn't say what the step
545 + after that was (i.e. "--continue").
546 +
547 + Will hold.
548 + Dscho's "rebase -i" hopefully will become available in 'pu', by
549 + which time an equivalent of this fix would be ported to C. This is
550 + queued merely as a reminder.
551 +
552 +
553 +* sb/xdiff-remove-unused-static-decl (2016-09-07) 1 commit
554 + (merged to 'next' on 2016-09-08 at 39e41dd)
555 + + xdiff: remove unneeded declarations
556 +
557 + Code cleanup.
558 +
559 + Will merge to 'master'.
560 +
561 +
562 +* sy/git-gui-i18n-ja (2016-09-07) 7 commits
563 + - Merge branch 'sy/i18n' of git-gui
564 + - git-gui: update Japanese information
565 + - git-gui: update Japanese translation
566 + - git-gui: add Japanese language code
567 + - git-gui: apply po template to Japanese translation
568 + - git-gui: consistently use the same word for "blame" in Japanese
569 + - git-gui: consistently use the same word for "remote" in Japanese
570 +
571 + Update Japanese translation for "git-gui".
572 +
573 + Will merge to 'next'.
574 +
575 +
576 +* ah/misc-message-fixes (2016-09-08) 5 commits
577 + - unpack-trees: do not capitalize "working"
578 + - git-merge-octopus: do not capitalize "octopus"
579 + - git-rebase--interactive: fix English grammar
580 + - cat-file: put spaces around pipes in usage string
581 + - am: put spaces around pipe in usage string
582 +
583 + Message cleanup.
584 +
585 + Will merge to 'next'.
586 +
587 +
588 +* jk/fix-remote-curl-url-wo-proto (2016-09-08) 1 commit
589 + - remote-curl: handle URLs without protocol
590 +
591 + "git fetch http::/site/path" did not die correctly and segfaulted
592 + instead.
593 +
594 + Will merge to 'next'.
595 +
596 +
597 +* jt/format-patch-base-info-above-sig (2016-09-09) 1 commit
598 + - format-patch: show base info before email signature
599 +
600 + "git format-patch --base=..." feature that was recently added
601 + showed the base commit information after "-- " e-mail signature
602 + line, which turned out to be inconvenient. The base information
603 + has been moved above the signature line.
604 +
605 + Needs an extra blank line before the baseinfo.
606
448 - Will discard.
449 - cf. <1460294354-7031-1-git-send-email-s-beyer@gmx.net>
607
608 +* nd/checkout-disambiguation (2016-09-09) 4 commits
609 + - fixup! checkout.txt: document a common case that ignores ambiguation rules
610 + - checkout: fix ambiguity check in subdir
611 + - checkout.txt: document a common case that ignores ambiguation rules
612 + - checkout: add some spaces between code and comment
613
452 -* sg/completion-updates (2016-02-28) 21 commits
453 - . completion: cache the path to the repository
454 - . completion: extract repository discovery from __gitdir()
455 - . completion: don't guard git executions with __gitdir()
456 - . completion: consolidate silencing errors from git commands
457 - . completion: don't use __gitdir() for git commands
458 - . completion: respect 'git -C <path>'
459 - . completion: fix completion after 'git -C <path>'
460 - . completion: don't offer commands when 'git --opt' needs an argument
461 - . rev-parse: add '--absolute-git-dir' option
462 - . completion: list short refs from a remote given as a URL
463 - . completion: don't list 'HEAD' when trying refs completion outside of a repo
464 - . completion: list refs from remote when remote's name matches a directory
465 - . completion: respect 'git --git-dir=<path>' when listing remote refs
466 - . completion: fix most spots not respecting 'git --git-dir=<path>'
467 - . completion: ensure that the repository path given on the command line exists
468 - . completion tests: add tests for the __git_refs() helper function
469 - . completion tests: check __gitdir()'s output in the error cases
470 - . completion tests: consolidate getting path of current working directory
471 - . completion tests: make the $cur variable local to the test helper functions
472 - . completion tests: don't add test cruft to the test repository
473 - . completion: improve __git_refs()'s in-code documentation
614 + "git checkout <word>" does not follow the usual disambiguation
615 + rules when the <word> can be both a rev and a path, to allow
616 + checking out a branch 'foo' in a project that happens to have a
617 + file 'foo' in the working tree without having to disambiguate.
618 + This was poorly documented and the check was incorrect when the
619 + command was run from a subdirectory.
620
475 - Has been waiting for a reroll for too long.
476 - cf. <1456754714-25237-1-git-send-email-szeder@ira.uka.de>
621 + Waiting for an Ack for fixup!
622
478 - Will discard.
623
624 +* sb/diff-cleanup (2016-09-08) 3 commits
625 + - diff: remove dead code
626 + - diff: omit found pointer from emit_callback
627 + - diff.c: use diff_options directly
628
481 -* ec/annotate-deleted (2015-11-20) 1 commit
482 - - annotate: skip checking working tree if a revision is provided
629 + Code cleanup.
630
484 - Usability fix for annotate-specific "<file> <rev>" syntax with deleted
485 - files.
631 + Will merge to 'next'.
632
487 - Has been waiting for a review for too long without seeing anything.
633
489 - Will discard.
634 +* sb/transport-report-missing-submodule-on-stderr (2016-09-08) 1 commit
635 + (merged to 'next' on 2016-09-08 at 3550831)
636 + + transport: report missing submodule pushes consistently on stderr
637
638 + Message cleanup.
639
492 -* dk/gc-more-wo-pack (2016-01-13) 4 commits
493 - - gc: clean garbage .bitmap files from pack dir
494 - - t5304: ensure non-garbage files are not deleted
495 - - t5304: test .bitmap garbage files
496 - - prepare_packed_git(): find more garbage
640 + Will merge to 'master'.
641
498 - Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
499 - .bitmap and .keep files.
642
501 - Has been waiting for a reroll for too long.
502 - cf. <xmqq60ypbeng.fsf@gitster.mtv.corp.google.com>
643 +* sg/fix-versioncmp-with-common-suffix (2016-09-08) 5 commits
644 + - versioncmp: cope with common leading parts in versionsort.prereleaseSuffix
645 + - versioncmp: pass full tagnames to swap_prereleases()
646 + - t7004-tag: add version sort tests to show prerelease reordering issues
647 + - t7004-tag: use test_config helper
648 + - t7004-tag: delete unnecessary tags with test_when_finished
649
504 - Will discard.
650 + The prereleaseSuffix feature of version comparison that is used in
651 + "git tag -l" did not correctly when two or more prereleases for the
652 + same release were present (e.g. when 2.0, 2.0-beta1, and 2.0-beta2
653 + are there and the code needs to compare 2.0-beta1 and 2.0-beta2).
654
655 + Waiting for a reroll.
656 + cf. <20160908223727.Horde.jVOOJ278ssZ3qkyjkmyqZD-@webmail.informatik.kit.edu>
657
507 -* jc/diff-b-m (2015-02-23) 5 commits
508 - . WIPWIP
509 - . WIP: diff-b-m
510 - - diffcore-rename: allow easier debugging
511 - - diffcore-rename.c: add locate_rename_src()
512 - - diffcore-break: allow debugging
658
514 - "git diff -B -M" produced incorrect patch when the postimage of a
515 - completely rewritten file is similar to the preimage of a removed
516 - file; such a resulting file must not be expressed as a rename from
517 - other place.
659 +* va/i18n (2016-09-09) 10 commits
660 + - i18n: update-index: mark warning for translation
661 + - i18n: show-branch: mark error messages for translation
662 + - i18n: receive-pack: mark messages for translation
663 + - notes: downcase the first word of error messages
664 + - i18n: notes: mark error messages for translation
665 + - i18n: merge-recursive: mark verbose message for translation
666 + - i18n: merge-recursive: mark error messages for translation
667 + - i18n: config: mark error message for translation
668 + - i18n: branch: mark option description for translation
669 + - i18n: blame: mark error messages for translation
670
519 - The fix in this patch is broken, unfortunately.
671 + More i18n.
672
521 - Will discard.
673 + Will merge to 'next'.
674
523 ---------------------------------------------------
524 -[Cooking]
675
676 * jc/submodule-anchor-git-dir (2016-09-01) 1 commit
527 - - submodule: avoid auto-discovery in prepare_submodule_repo_env()
677 + (merged to 'next' on 2016-09-08 at b6f20cf)
678 + + submodule: avoid auto-discovery in prepare_submodule_repo_env()
679
680 Having a submodule whose ".git" repository is somehow corrupt
681 caused a few commands that recurse into submodules loop forever.
682
532 - Will merge to 'next'.
683 + Will merge to 'master'.
684
685
686 * jc/forbid-symbolic-ref-d-HEAD (2016-09-02) 1 commit
536 - - symbolic-ref -d: do not allow removal of HEAD
687 + (merged to 'next' on 2016-09-08 at cd8c1b3)
688 + + symbolic-ref -d: do not allow removal of HEAD
689
690 "git symbolic-ref -d HEAD" happily removes the symbolic ref, but
691 the resulting repository becomes an invalid one. Teach the command
692 to forbid removal of HEAD.
693
542 - Will merge to 'next'.
543 -
544 -
545 -* bh/diff-highlight-graph (2016-08-31) 6 commits
546 - (merged to 'next' on 2016-08-31 at 523a15f)
547 - + diff-highlight: avoid highlighting combined diffs
548 - + diff-highlight: add multi-byte tests
549 - + diff-highlight: ignore test cruft
550 - + diff-highlight: add support for --graph output
551 - + diff-highlight: add failing test for handling --graph output
552 - + diff-highlight: add some tests
553 -
554 - "diff-highlight" script (in contrib/) learned to work better with
555 - "git log -p --graph" output.
556 -
694 Will merge to 'master'.
695
696
697 * jc/am-read-author-file (2016-08-30) 1 commit
561 - - am: refactor read_author_script()
698 + (merged to 'next' on 2016-09-08 at d2db42f)
699 + + am: refactor read_author_script()
700
701 Extract a small helper out of the function that reads the authors
702 script file "git am" internally uses.
703
566 - Will merge to 'next'.
704 + Will merge to 'master'.
705 This by itself is not useful until a second caller appears in the
706 future for "rebase -i" helper.
707
708
709 * jk/test-lib-drop-pid-from-results (2016-08-30) 1 commit
572 - - test-lib: drop PID from test-results/*.count
710 + (merged to 'next' on 2016-09-08 at 0967b0b)
711 + + test-lib: drop PID from test-results/*.count
712
713 The test framework left the number of tests and success/failure
714 count in the t/test-results directory, keyed by the name of the
@@ -577,10 +716,13 @@ of the repositories listed at
716 to serve any useful purpose. The process ID part of the filename
717 has been removed.
718
580 - Will merge to 'next'.
719 + Will merge to 'master'.
720
721
583 -* js/sequencer-wo-die (2016-08-29) 14 commits
722 +* js/sequencer-wo-die (2016-09-09) 17 commits
723 + - sequencer: ensure to release the lock when we could not read the index
724 + - sequencer: lib'ify checkout_fast_forward()
725 + - sequencer: lib'ify fast_forward_to()
726 - sequencer: lib'ify save_opts()
727 - sequencer: lib'ify save_todo()
728 - sequencer: lib'ify save_head()
@@ -600,44 +742,13 @@ of the repositories listed at
742 sequencer.c files so that more helper functions in it can be used
743 by callers that want to handle error conditions themselves.
744
603 - Waiting for a reroll.
745 + Will merge to 'next' after waiting for a few days for further comments.
746
747
748 * jk/squelch-false-warning-from-gcc-o3 (2016-08-31) 2 commits
607 - - color_parse_mem: initialize "struct color" temporary
608 - - error_errno: use constant return similar to error()
609 -
610 - Will merge to 'next'.
611 -
612 -
613 -* hv/doc-commit-reference-style (2016-08-26) 1 commit
614 - (merged to 'next' on 2016-08-31 at 68fb778)
615 - + SubmittingPatches: use gitk's "Copy commit summary" format
616 -
617 - A small doc update.
618 - Will merge to 'master'.
619 -
620 -
621 -* cc/receive-pack-limit (2016-08-24) 3 commits
622 - (merged to 'next' on 2016-08-25 at bc74b5b)
623 - + receive-pack: allow a maximum input size to be specified
624 - + unpack-objects: add --max-input-size=<size> option
625 - + index-pack: add --max-input-size=<size> option
626 -
627 - An incoming "git push" that attempts to push too many bytes can now
628 - be rejected by setting a new configuration variable at the receiving
629 - end.
630 -
631 - Will merge to 'master'.
632 -
633 -
634 -* jk/format-patch-number-singleton-patch-with-cover (2016-08-23) 1 commit
635 - (merged to 'next' on 2016-08-25 at a4737fb)
636 - + format-patch: show 0/1 and 1/1 for singleton patch with cover letter
637 -
638 - "git format-patch --cover-letter HEAD^" to format a single patch
639 - with a separate cover letter now numbers the output as [PATCH 0/1]
640 - and [PATCH 1/1] by default.
749 + (merged to 'next' on 2016-09-08 at c9a2af6)
750 + + color_parse_mem: initialize "struct color" temporary
751 + + error_errno: use constant return similar to error()
752
753 Will merge to 'master'.
754
@@ -652,24 +763,8 @@ of the repositories listed at
763 Waiting for a review.
764
765
655 -* jk/delta-base-cache (2016-08-23) 7 commits
656 - (merged to 'next' on 2016-08-25 at f1c141a)
657 - + t/perf: add basic perf tests for delta base cache
658 - + delta_base_cache: use hashmap.h
659 - + delta_base_cache: drop special treatment of blobs
660 - + delta_base_cache: use list.h for LRU
661 - + release_delta_base_cache: reuse existing detach function
662 - + clear_delta_base_cache_entry: use a more descriptive name
663 - + cache_or_unpack_entry: drop keep_cache parameter
664 -
665 - The delta-base-cache mechanism has been a key to the performance in
666 - a repository with a tightly packed packfile, but it did not scale
667 - well even with a larger value of core.deltaBaseCacheLimit.
668 -
669 - Will merge to 'master'.
670 -
671 -
672 -* js/cat-file-filters (2016-08-24) 4 commits
766 +* js/cat-file-filters (2016-09-09) 5 commits
767 + - SQUASH??? "cat-file --filters" passes data as-is by default
768 - cat-file: support --textconv/--filters in batch mode
769 - cat-file --textconv/--filters: allow specifying the path separately
770 - cat-file: introduce the --filters option
@@ -685,8 +780,7 @@ of the repositories listed at
780 lacked an equivalent mechanism to run the "Git-to-outside-world"
781 conversion. The command learned the "--filters" option to do so.
782
688 - Waiting for a reroll.
689 - cf. <xmqqmvk2qcv8.fsf@gitster.mtv.corp.google.com>
783 + Waiting for an ack to SQUASH???
784
785
786 * sb/push-make-submodule-check-the-default (2016-08-24) 1 commit
@@ -710,40 +804,6 @@ of the repositories listed at
804 Needs review and testing.
805
806
713 -* rt/help-unknown (2016-08-30) 3 commits
714 - (merged to 'next' on 2016-08-30 at db2a5b0)
715 - + help: make option --help open man pages only for Git commands
716 - + help: introduce option --exclude-guides
717 - + Merge branch 'js/no-html-bypass-on-windows' into rt/help-unknown
718 -
719 - "git nosuchcommand --help" said "No manual entry for gitnosuchcommand",
720 - which was not intuitive, given that "git nosuchcommand" said "git:
721 - 'nosuchcommand' is not a git command".
722 -
723 - Will merge to 'master'.
724 -
725 -
726 -* po/range-doc (2016-08-13) 12 commits
727 - (merged to 'next' on 2016-08-31 at d29870b)
728 - + doc: revisions: sort examples and fix alignment of the unchanged
729 - + doc: revisions: show revision expansion in examples
730 - + doc: revisions - clarify reachability examples
731 - + doc: revisions - define `reachable`
732 - + doc: gitrevisions - clarify 'latter case' is revision walk
733 - + doc: gitrevisions - use 'reachable' in page description
734 - + doc: revisions: single vs multi-parent notation comparison
735 - + doc: revisions: extra clarification of <rev>^! notation effects
736 - + doc: revisions: give headings for the two and three dot notations
737 - + doc: show the actual left, right, and boundary marks
738 - + doc: revisions - name the left and right sides
739 - + doc: use 'symmetric difference' consistently
740 -
741 - Clarify various ways to specify the "revision ranges" in the
742 - documentation.
743 -
744 - Will merge to 'master'.
745 -
746 -
807 * jk/diff-submodule-diff-inline (2016-08-31) 8 commits
808 (merged to 'next' on 2016-09-02 at 734e42c)
809 + diff: teach diff to display submodule difference with an inline diff
@@ -778,51 +838,12 @@ of the repositories listed at
838 - pack-objects: use reachability bitmap index when generating non-stdout pack
839 - pack-objects: respect --local/--honor-pack-keep/--incremental when bitmap is in use
840
841 + What is the state of this thing?
842 Waiting for the review discussion to settle.
843 cf. <20160818175222.bmm3ivjheokf2qzl@sigill.intra.peff.net>
844 cf. <20160818180615.q25p57v35m2xxtww@sigill.intra.peff.net>
845
846
786 -* sb/submodule-clone-rr (2016-08-17) 8 commits
787 - (merged to 'next' on 2016-08-31 at 08b4b7d)
788 - + clone: recursive and reference option triggers submodule alternates
789 - + clone: implement optional references
790 - + clone: clarify option_reference as required
791 - + clone: factor out checking for an alternate path
792 - + submodule--helper update-clone: allow multiple references
793 - + submodule--helper module-clone: allow multiple references
794 - + t7408: merge short tests, factor out testing method
795 - + t7408: modernize style
796 -
797 - "git clone --resurse-submodules --reference $path $URL" is a way to
798 - reduce network transfer cost by borrowing objects in an existing
799 - $path repository when cloning the superproject from $URL; it
800 - learned to also peek into $path for presense of corresponding
801 - repositories of submodules and borrow objects from there when able.
802 -
803 - Will merge to 'master'.
804 -
805 -
806 -* jh/status-v2-porcelain (2016-08-12) 9 commits
807 - (merged to 'next' on 2016-08-31 at e71f595)
808 - + status: unit tests for --porcelain=v2
809 - + test-lib-functions.sh: add lf_to_nul helper
810 - + git-status.txt: describe --porcelain=v2 format
811 - + status: print branch info with --porcelain=v2 --branch
812 - + status: print per-file porcelain v2 status data
813 - + status: collect per-file data for --porcelain=v2
814 - + status: support --porcelain[=<version>]
815 - + status: cleanup API to wt_status_print
816 - + status: rename long-format print routines
817 -
818 - Enhance "git status --porcelain" output by collecting more data on
819 - the state of the index and the working tree files, which may
820 - further be used to teach git-prompt (in contrib/) to make fewer
821 - calls to git.
822 -
823 - Will merge to 'master'.
824 -
825 -
847 * mh/diff-indent-heuristic (2016-09-07) 9 commits
848 - SQAUSH???
849 - blame: honor the diff heuristic options and config
@@ -840,8 +861,8 @@ of the repositories listed at
861 are the same. A command line option is added to help with the
862 experiment to find a good heuristics.
863
843 - Rerolled.
864 Needs adjustment of test numbers. Otherwise looked OK.
865 + Waiting for an ack to SQUASH???
866
867
868 * cc/apply-am (2016-09-07) 41 commits
@@ -890,7 +911,7 @@ of the repositories listed at
911 "git am" has been taught to make an internal call to "git apply"'s
912 innards without spawning the latter as a separate process.
913
893 - Will merge to 'next'.
914 + Will merge to 'next' after waiting for a few days for further comments.
915
916
917 * jk/pack-objects-optim-mru (2016-08-11) 4 commits
@@ -961,7 +982,7 @@ of the repositories listed at
982 Will hold to see if people scream.
983
984
964 -* mh/ref-store (2016-06-20) 38 commits
985 +* mh/ref-store (2016-09-09) 38 commits
986 - refs: implement iteration over only per-worktree refs
987 - refs: make lock generic
988 - refs: add method to rename refs
@@ -1004,8 +1025,8 @@ of the repositories listed at
1025 The ref-store abstraction was introduced to the refs API so that we
1026 can plug in different backends to store references.
1027
1007 - Needs a fixup.
1008 - cf. <576D9885.2020901@ramsayjones.plus.com>
1028 + Will merge to 'next' after waiting for a few days for further comments.
1029 +
1030
1031
1032 * nd/shallow-deepen (2016-06-13) 27 commits
@@ -1123,3 +1144,12 @@ of the repositories listed at
1144 It has been reported that git-gui still uses the deprecated syntax,
1145 which needs to be fixed before this final step can proceed.
1146 cf. <5671DB28.8020901@kdbg.org>
1147 +
1148 +--------------------------------------------------
1149 +[Discarded]
1150 +
1151 +* jn/fix-connect-unexpected-hangup-diag (2016-09-08) 1 commit
1152 + . connect: tighten check for unexpected early hang up
1153 +
1154 + Now part of jt/accept-capability-advertisement-when-fetching-from-void
1155 + topic.