What's cooking (2016/10 #02)

Junio C Hamano committed Oct 6, 2016 at 15:20 UTC 5a6f4274a8ba3aa61f9265b2a38bb1f5371bf571
1 file changed +220 -344
whats-cooking.txt
+220 -344
@@ -1,10 +1,10 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Oct 2016, #01; Mon, 3)
4 -X-master-at: 0cf36115dce7438a0eafad54a81cc57175e8fb54
5 -X-next-at: 9af6bb63e9b9efbcd0064516a7811092873d1ddf
3 +Subject: What's cooking in git.git (Oct 2016, #02; Thu, 6)
4 +X-master-at: a23ca1b8dc42ffd4de2ef30d67ce1e21ded29886
5 +X-next-at: d4ef1078455682bd5fab0e8b62e2351d25268477
6
7 -What's cooking in git.git (Oct 2016, #01; Mon, 3)
7 +What's cooking in git.git (Oct 2016, #02; Thu, 6)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
@@ -26,193 +26,6 @@ of the repositories listed at
26 --------------------------------------------------
27 [Graduated to "master"]
28
29 -* dt/mailinfo (2016-09-26) 1 commit
30 - (merged to 'next' on 2016-09-27 at 59e95dbc0e)
31 - + add David Turner's Two Sigma address
32 -
33 -
34 -* dt/tree-fsck (2016-09-27) 2 commits
35 - (merged to 'next' on 2016-09-28 at afdfdbbf37)
36 - + fsck: handle bad trees like other errors
37 - + tree-walk: be more specific about corrupt tree errors
38 -
39 - The codepath in "git fsck" to detect malformed tree objects has
40 - been updated not to die but keep going after detecting them.
41 -
42 -
43 -* ik/gitweb-force-highlight (2016-09-25) 2 commits
44 - (merged to 'next' on 2016-09-27 at cbb8391a76)
45 - + gitweb: use highlight's shebang detection
46 - + gitweb: remove unused guess_file_syntax() parameter
47 -
48 - "gitweb" can spawn "highlight" to show blob contents with
49 - (programming) language-specific syntax highlighting, but only
50 - when the language is known. "highlight" can however be told
51 - to make the guess itself by giving it "--force" option, which
52 - has been enabled.
53 -
54 -
55 -* jc/verify-loose-object-header (2016-09-26) 2 commits
56 - (merged to 'next' on 2016-09-27 at 2947f95f14)
57 - + unpack_sha1_header(): detect malformed object header
58 - + streaming: make sure to notice corrupt object
59 -
60 - Codepaths that read from an on-disk loose object were too loose in
61 - validating what they are reading is a proper object file and
62 - sometimes read past the data they read from the disk, which has
63 - been corrected. H/t to Gustavo Grieco for reporting.
64 -
65 -
66 -* jc/worktree-config (2016-09-27) 1 commit
67 - (merged to 'next' on 2016-09-28 at 0c262f6)
68 - + worktree: honor configuration variables
69 -
70 - "git worktree", even though it used the default_abbrev setting that
71 - ought to be affected by core.abbrev configuration variable, ignored
72 - the variable setting. The command has been taught to read the
73 - default set of configuration variables to correct this.
74 -
75 -
76 -* jk/ident-ai-canonname-could-be-null (2016-09-23) 1 commit
77 - (merged to 'next' on 2016-09-26 at 0eefb29)
78 - + ident: handle NULL ai_canonname
79 -
80 - In the codepath that comes up with the hostname to be used in an
81 - e-mail when the user didn't tell us, we looked at ai_canonname
82 - field in struct addrinfo without making sure it is not NULL first.
83 -
84 -
85 -* jk/verify-packfile-gently (2016-09-22) 1 commit
86 - (merged to 'next' on 2016-09-26 at f5abba5)
87 - + verify_packfile: check pack validity before accessing data
88 -
89 - A low-level function verify_packfile() was meant to show errors
90 - that were detected without dying itself, but under some conditions
91 - it didn't and died instead, which has been fixed.
92 -
93 -
94 -* jt/fetch-pack-in-vain-count-with-stateless (2016-09-23) 1 commit
95 - (merged to 'next' on 2016-09-26 at 9645629)
96 - + fetch-pack: do not reset in_vain on non-novel acks
97 -
98 - When "git fetch" tries to find where the history of the repository
99 - it runs in has diverged from what the other side has, it has a
100 - mechanism to avoid digging too deep into irrelevant side branches.
101 - This however did not work well over the "smart-http" transport due
102 - to a design bug, which has been fixed.
103 -
104 -
105 -* jt/mailinfo-fold-in-body-headers (2016-09-21) 3 commits
106 - (merged to 'next' on 2016-09-26 at 4235eb6)
107 - + mailinfo: handle in-body header continuations
108 - + mailinfo: make is_scissors_line take plain char *
109 - + mailinfo: separate in-body header processing
110 -
111 - When "git format-patch --stdout" output is placed as an in-body
112 - header and it uses the RFC2822 header folding, "git am" failed to
113 - put the header line back into a single logical line. The
114 - underlying "git mailinfo" was taught to handle this properly.
115 -
116 -
117 -* kd/mailinfo-quoted-string (2016-09-28) 2 commits
118 - (merged to 'next' on 2016-09-28 at 2aaeb57804)
119 - + mailinfo: unescape quoted-pair in header fields
120 - + t5100-mailinfo: replace common path prefix with variable
121 -
122 - An author name, that spelled a backslash-quoted double quote in the
123 - human readable part "My \"double quoted\" name", was not unquoted
124 - correctly while applying a patch from a piece of e-mail.
125 -
126 -
127 -* mh/diff-indent-heuristic (2016-09-27) 1 commit
128 - (merged to 'next' on 2016-09-27 at 3d6fb6605a)
129 - + xdiff: rename "struct group" to "struct xdlgroup"
130 -
131 - Clean-up for a recently graduated topic.
132 -
133 -
134 -* nd/init-core-worktree-in-multi-worktree-world (2016-09-25) 5 commits
135 - (merged to 'next' on 2016-09-27 at 619f7f3a3b)
136 - + init: kill git_link variable
137 - + init: do not set unnecessary core.worktree
138 - + init: kill set_git_dir_init()
139 - + init: call set_git_dir_init() from within init_db()
140 - + init: correct re-initialization from a linked worktree
141 -
142 - "git init" tried to record core.worktree in the repository's
143 - 'config' file when GIT_WORK_TREE environment variable was set and
144 - it was different from where GIT_DIR appears as ".git" at its top,
145 - but the logic was faulty when .git is a "gitdir:" file that points
146 - at the real place, causing trouble in working trees that are
147 - managed by "git worktree". This has been corrected.
148 -
149 -
150 -* pb/rev-list-reverse-with-count (2016-09-27) 1 commit
151 - (merged to 'next' on 2016-09-28 at 2905d0adbc)
152 - + rev-list-options: clarify the usage of --reverse
153 -
154 - Doc update to clarify what "log -3 --reverse" does.
155 -
156 -
157 -* rs/copy-array (2016-09-25) 2 commits
158 - (merged to 'next' on 2016-09-27 at c92e020669)
159 - + use COPY_ARRAY
160 - + add COPY_ARRAY
161 -
162 - Code cleanup.
163 -
164 -
165 -* rs/git-gui-use-modern-git-merge-syntax (2016-09-26) 2 commits
166 - (merged to 'next' on 2016-09-27 at f55850df7d)
167 - + Merge branch 'rs/use-modern-git-merge-syntax' of git-gui into rs/git-gui-use-modern-git-merge-syntax
168 - + git-gui: stop using deprecated merge syntax
169 -
170 - The original command line syntax for "git merge", which was "git
171 - merge <msg> HEAD <parent>...", has been deprecated for quite some
172 - time, and "git gui" was the last in-tree user of the syntax. This
173 - is finally fixed, so that we can move forward with the deprecation.
174 -
175 -
176 -* va/git-gui-i18n (2016-09-26) 3 commits
177 - (merged to 'next' on 2016-09-27 at ab0f66ff8a)
178 - + Merge branch 'va/i18n' of ../git-gui into va/git-gui-i18n
179 - + git-gui: l10n: add Portuguese translation
180 - + git-gui i18n: mark strings for translation
181 -
182 - "git gui" l10n to Portuguese.
183 -
184 ---------------------------------------------------
185 -[New Topics]
186 -
187 -* rs/cocci (2016-10-03) 4 commits
188 - (merged to 'next' on 2016-10-03 at 758cc6de9c)
189 - + coccicheck: make transformation for strbuf_addf(sb, "...") more precise
190 - (merged to 'next' on 2016-09-28 at 26462645f9)
191 - + use strbuf_add_unique_abbrev() for adding short hashes, part 2
192 - + use strbuf_addstr() instead of strbuf_addf() with "%s", part 2
193 - + gitignore: ignore output files of coccicheck make target
194 -
195 - Code clean-up with help from coccinelle tool continues.
196 -
197 - Will merge to 'master'.
198 -
199 -
200 -* nd/ita-empty-commit (2016-09-28) 3 commits
201 - - commit: don't be fooled by ita entries when creating initial commit
202 - - diff-lib.c: enable --shift-ita in index_differs_from()
203 - - Resurrect "diff-lib.c: adjust position of i-t-a entries in diff"
204 -
205 - When new paths were added by "git add -N" to the index, it was
206 - enough to circumvent the check by "git commit" to refrain from
207 - making an empty commit without "--allow-empty". The same logic
208 - prevented "git status" to show such a path as "new file" in the
209 - "Changes not staged for commit" section.
210 -
211 - Expecting a reroll.
212 - cf. <xmqqzimrj03j.fsf@gitster.mtv.corp.google.com>
213 - cf. <xmqq8tubkgg5.fsf@gitster.mtv.corp.google.com>
214 -
215 -
29 * jc/blame-abbrev (2016-09-28) 1 commit
30 (merged to 'next' on 2016-10-03 at 8ec86ff1e1)
31 + blame: use DEFAULT_ABBREV macro
@@ -221,37 +34,29 @@ of the repositories listed at
34 setting for the abbreviation, but "git blame" peeked into
35 underlying variable bypassing the macro for no good reason.
36
224 - Will merge to 'master'.
225 -
226 -
227 -* lt/abbrev-auto (2016-10-03) 3 commits
228 - (merged to 'next' on 2016-10-03 at bb188d00f7)
229 - + abbrev: auto size the default abbreviation
230 - + abbrev: prepare for new world order
231 - + abbrev: add FALLBACK_DEFAULT_ABBREV to prepare for auto sizing
232 - (this branch uses jk/ambiguous-short-object-names.)
233 -
234 - Allow the default abbreviation length, which has historically been
235 - 7, to scale as the repository grows. The logic suggests to use 12
236 - hexdigits for the Linux kernel, and 9 to 10 for Git itself.
237 -
238 - Will merge to 'master'.
239 -
240 -
241 -* dt/http-empty-auth (2016-10-03) 1 commit
242 - - http: http.emptyauth should allow empty (not just NULL) usernames
243 -
244 - http.emptyauth configuration is a way to allow an empty username to
245 - pass when attempting to authenticate using mechanisms like
246 - Kerberos. We took an unspecified (NULL) username and sent ":"
247 - (i.e. no username, no password) to CURLOPT_USERPWD, but did not do
248 - the same when the username is explicitly set to an empty string.
249 -
250 - cf. <20161003210100.t5nqknwfotag3lmj@sigill.intra.peff.net>
37
38 +* jk/ambiguous-short-object-names (2016-09-27) 11 commits
39 + (merged to 'next' on 2016-09-28 at 1b85295323)
40 + + get_short_sha1: make default disambiguation configurable
41 + + get_short_sha1: list ambiguous objects on error
42 + + for_each_abbrev: drop duplicate objects
43 + + sha1_array: let callbacks interrupt iteration
44 + + get_short_sha1: mark ambiguity error for translation
45 + + get_short_sha1: NUL-terminate hex prefix
46 + + get_short_sha1: refactor init of disambiguation code
47 + + get_short_sha1: parse tags when looking for treeish
48 + + get_sha1: propagate flags to child functions
49 + + get_sha1: avoid repeating ourselves via ONLY_TO_DIE
50 + + get_sha1: detect buggy calls with multiple disambiguators
51 + (this branch is used by jk/abbrev-auto and lt/abbrev-auto.)
52
253 -* jc/diff-unique-abbrev-comments (2016-09-30) 1 commit
254 - - diff_unique_abbrev(): document its assumption and limitation
53 + When given an abbreviated object name that is not (or more
54 + realistically, "no longer") unique, we gave a fatal error
55 + "ambiguous argument". This error is now accompanied by hints that
56 + lists the objects that begins with the given prefix. During the
57 + course of development of this new feature, numerous minor bugs were
58 + uncovered and corrected, the most notable one of which is that we
59 + gave "short SHA1 xxxx is ambiguous." twice without good reason.
60
61
62 * jk/graph-padding-fix (2016-09-29) 1 commit
@@ -263,28 +68,6 @@ of the repositories listed at
68 has been fixed; this did not affect any existing code as nobody
69 tried to write anything after the padding on such a line, though.
70
266 - Will merge to 'master'.
267 -
268 -
269 -* jk/quarantine-received-objects (2016-10-03) 5 commits
270 - - tmp-objdir: do not migrate files starting with '.'
271 - - tmp-objdir: put quarantine information in the environment
272 - - receive-pack: quarantine objects until pre-receive accepts
273 - - tmp-objdir: introduce API for temporary object directories
274 - - check_connected: accept an env argument
275 - (this branch uses jk/alt-odb-cleanup.)
276 -
277 - In order for the receiving end of "git push" to inspect the
278 - received history and decide to reject the push, the objects sent
279 - from the sending end need to be made available to the hook and
280 - the mechanism for the connectivity check, and this was done
281 - traditionally by storing the objects in the receiving repository
282 - and letting "git gc" to expire it. Instead, store the newly
283 - received objects in a temporary area, and make them available by
284 - reusing the alternate object store mechanism to them only while we
285 - decide if we accept the check, and once we decide, either migrate
286 - them to the repository or purge them immediately.
287 -
71
72 * ps/http-gssapi-cred-delegation (2016-09-29) 1 commit
73 (merged to 'next' on 2016-10-03 at 310fbe8f24)
@@ -294,8 +77,6 @@ of the repositories listed at
77 disabled by default due to CVE-2011-2192; introduce a configuration
78 to selectively allow enabling this.
79
297 - Will merge to 'master'.
298 -
80
81 * rs/c-auto-resets-attributes (2016-09-29) 1 commit
82 (merged to 'next' on 2016-10-03 at 6a0b946a79)
@@ -303,24 +84,18 @@ of the repositories listed at
84
85 When "%C(auto)" appears at the very beginning of the pretty format
86 string, it did not need to issue the reset sequence, but it did.
306 -
307 - Will merge to 'master'.
87 This is a small optimization to already graduated topic.
88
89
311 -* rs/qsort (2016-10-03) 6 commits
312 - - show-branch: use QSORT
313 - - use QSORT, part 2
314 - - coccicheck: use --all-includes by default
315 - - remove unnecessary check before QSORT
316 - - use QSORT
317 - - add QSORT
318 -
319 - We call "qsort(array, nelem, sizeof(array[0]), fn)", and most of
320 - the time third parameter is redundant. A new QSORT() macro lets us
321 - omit it.
90 +* rs/cocci (2016-10-03) 4 commits
91 + (merged to 'next' on 2016-10-03 at 758cc6de9c)
92 + + coccicheck: make transformation for strbuf_addf(sb, "...") more precise
93 + (merged to 'next' on 2016-09-28 at 26462645f9)
94 + + use strbuf_add_unique_abbrev() for adding short hashes, part 2
95 + + use strbuf_addstr() instead of strbuf_addf() with "%s", part 2
96 + + gitignore: ignore output files of coccicheck make target
97
323 - Will merge to 'next'.
98 + Code clean-up with help from coccinelle tool continues.
99
100
101 * sg/ref-filter-parse-optim (2016-10-03) 1 commit
@@ -330,29 +105,62 @@ of the repositories listed at
105 The code that parses the format parameter of for-each-ref command
106 has seen a micro-optimization.
107
333 - Will merge to 'master'.
108
109 +* vn/revision-shorthand-for-side-branch-log (2016-09-27) 1 commit
110 + (merged to 'next' on 2016-09-28 at c1237b24f6)
111 + + revision: new rev^-n shorthand for rev^n..rev
112
336 -* jk/alt-odb-cleanup (2016-10-03) 18 commits
337 - - alternates: use fspathcmp to detect duplicates
338 - - sha1_file: always allow relative paths to alternates
339 - - count-objects: report alternates via verbose mode
340 - - fill_sha1_file: write into a strbuf
341 - - alternates: store scratch buffer as strbuf
342 - - fill_sha1_file: write "boring" characters
343 - - alternates: use a separate scratch space
344 - - alternates: encapsulate alt->base munging
345 - - alternates: provide helper for allocating alternate
346 - - alternates: provide helper for adding to alternates list
347 - - link_alt_odb_entry: refactor string handling
348 - - link_alt_odb_entry: handle normalize_path errors
349 - - t5613: clarify "too deep" recursion tests
350 - - t5613: do not chdir in main process
351 - - t5613: whitespace/style cleanups
352 - - t5613: use test_must_fail
353 - - t5613: drop test_valid_repo function
354 - - t5613: drop reachable_via function
355 - (this branch is used by jk/quarantine-received-objects.)
113 + "git log rev^..rev" is an often-used revision range specification
114 + to show what was done on a side branch merged at rev. This has
115 + gained a short-hand "rev^-1". In general "rev^-$n" is the same as
116 + "^rev^$n rev", i.e. what has happened on other branches while the
117 + history leading to nth parent was looking the other way.
118 +
119 +--------------------------------------------------
120 +[New Topics]
121 +
122 +* jc/ws-error-highlight (2016-10-04) 4 commits
123 + - diff: introduce diff.wsErrorHighlight option
124 + - diff.c: move ws-error-highlight parsing helpers up
125 + - diff.c: refactor parse_ws_error_highlight()
126 + - t4015: split out the "setup" part of ws-error-highlight test
127 +
128 + "git diff/log --ws-error-highlight=<kind>" lacked the corresponding
129 + configuration variable to set it by default.
130 +
131 + Undecided.
132 +
133 +
134 +* jk/abbrev-auto (2016-10-03) 1 commit
135 + - find_unique_abbrev: move logic out of get_short_sha1()
136 + (this branch uses lt/abbrev-auto.)
137 +
138 + Updates the way approximate count of total objects is computed
139 + while attempting to come up with a unique abbreviated object name,
140 + which in turn needs to estimate how many hexdigits are necessary to
141 + ensure uniqueness.
142 +
143 + Undecided.
144 +
145 +
146 +* jk/clone-copy-alternates-fix (2016-10-05) 1 commit
147 + - clone: detect errors in normalize_path_copy
148 +
149 + "git clone" of a local repository can be done at the filesystem
150 + level, but the codepath did not check errors while copying and
151 + adjusting the file that lists alternate object stores.
152 +
153 + Will merge to 'next'.
154 +
155 +
156 +* nd/commit-p-doc (2016-10-05) 1 commit
157 + - git-commit.txt: clarify --patch mode with pathspec
158 +
159 + Documentation for "git commit" was updated to clarify that "commit
160 + -p <paths>" adds to the current contents of the index to come up
161 + with what to commit.
162 +
163 + Will merge to 'next'.
164
165 --------------------------------------------------
166 [Stalled]
@@ -655,32 +463,115 @@ of the repositories listed at
463 --------------------------------------------------
464 [Cooking]
465
658 -* jk/ambiguous-short-object-names (2016-09-27) 11 commits
659 - (merged to 'next' on 2016-09-28 at 1b85295323)
660 - + get_short_sha1: make default disambiguation configurable
661 - + get_short_sha1: list ambiguous objects on error
662 - + for_each_abbrev: drop duplicate objects
663 - + sha1_array: let callbacks interrupt iteration
664 - + get_short_sha1: mark ambiguity error for translation
665 - + get_short_sha1: NUL-terminate hex prefix
666 - + get_short_sha1: refactor init of disambiguation code
667 - + get_short_sha1: parse tags when looking for treeish
668 - + get_sha1: propagate flags to child functions
669 - + get_sha1: avoid repeating ourselves via ONLY_TO_DIE
670 - + get_sha1: detect buggy calls with multiple disambiguators
671 - (this branch is used by lt/abbrev-auto.)
466 +* nd/ita-empty-commit (2016-09-28) 3 commits
467 + - commit: don't be fooled by ita entries when creating initial commit
468 + - diff-lib.c: enable --shift-ita in index_differs_from()
469 + - Resurrect "diff-lib.c: adjust position of i-t-a entries in diff"
470 +
471 + When new paths were added by "git add -N" to the index, it was
472 + enough to circumvent the check by "git commit" to refrain from
473 + making an empty commit without "--allow-empty". The same logic
474 + prevented "git status" to show such a path as "new file" in the
475 + "Changes not staged for commit" section.
476 +
477 + Expecting a reroll.
478 + cf. <xmqqzimrj03j.fsf@gitster.mtv.corp.google.com>
479 + cf. <xmqq8tubkgg5.fsf@gitster.mtv.corp.google.com>
480
673 - When given an abbreviated object name that is not (or more
674 - realistically, "no longer") unique, we gave a fatal error
675 - "ambiguous argument". This error is now accompanied by hints that
676 - lists the objects that begins with the given prefix. During the
677 - course of development of this new feature, numerous minor bugs were
678 - uncovered and corrected, the most notable one of which is that we
679 - gave "short SHA1 xxxx is ambiguous." twice without good reason.
481 +
482 +* lt/abbrev-auto (2016-10-03) 3 commits
483 + (merged to 'next' on 2016-10-03 at bb188d00f7)
484 + + abbrev: auto size the default abbreviation
485 + + abbrev: prepare for new world order
486 + + abbrev: add FALLBACK_DEFAULT_ABBREV to prepare for auto sizing
487 + (this branch is used by jk/abbrev-auto.)
488 +
489 + Allow the default abbreviation length, which has historically been
490 + 7, to scale as the repository grows. The logic suggests to use 12
491 + hexdigits for the Linux kernel, and 9 to 10 for Git itself.
492 +
493 + Will hold to see if people scream.
494 +
495 +
496 +* dt/http-empty-auth (2016-10-04) 1 commit
497 + - http: http.emptyauth should allow empty (not just NULL) usernames
498 +
499 + http.emptyauth configuration is a way to allow an empty username to
500 + pass when attempting to authenticate using mechanisms like
501 + Kerberos. We took an unspecified (NULL) username and sent ":"
502 + (i.e. no username, no password) to CURLOPT_USERPWD, but did not do
503 + the same when the username is explicitly set to an empty string.
504 +
505 + Will merge to 'next'.
506 +
507 +
508 +* jc/diff-unique-abbrev-comments (2016-09-30) 1 commit
509 + - diff_unique_abbrev(): document its assumption and limitation
510 +
511 +
512 +* jk/quarantine-received-objects (2016-10-05) 5 commits
513 + - tmp-objdir: do not migrate files starting with '.'
514 + - tmp-objdir: put quarantine information in the environment
515 + - receive-pack: quarantine objects until pre-receive accepts
516 + - tmp-objdir: introduce API for temporary object directories
517 + - check_connected: accept an env argument
518 + (this branch uses jk/alt-odb-cleanup.)
519 +
520 + In order for the receiving end of "git push" to inspect the
521 + received history and decide to reject the push, the objects sent
522 + from the sending end need to be made available to the hook and
523 + the mechanism for the connectivity check, and this was done
524 + traditionally by storing the objects in the receiving repository
525 + and letting "git gc" to expire it. Instead, store the newly
526 + received objects in a temporary area, and make them available by
527 + reusing the alternate object store mechanism to them only while we
528 + decide if we accept the check, and once we decide, either migrate
529 + them to the repository or purge them immediately.
530 +
531 + Will merge to 'next' after whipping jk/alt-odb-cleanup into shape.
532 +
533 +
534 +* rs/qsort (2016-10-03) 6 commits
535 + (merged to 'next' on 2016-10-06 at 32a5bd3c88)
536 + + show-branch: use QSORT
537 + + use QSORT, part 2
538 + + coccicheck: use --all-includes by default
539 + + remove unnecessary check before QSORT
540 + + use QSORT
541 + + add QSORT
542 +
543 + We call "qsort(array, nelem, sizeof(array[0]), fn)", and most of
544 + the time third parameter is redundant. A new QSORT() macro lets us
545 + omit it.
546
547 Will merge to 'master'.
548
549
550 +* jk/alt-odb-cleanup (2016-10-05) 19 commits
551 + - alternates: use fspathcmp to detect duplicates
552 + - sha1_file: always allow relative paths to alternates
553 + - count-objects: report alternates via verbose mode
554 + - fill_sha1_file: write into a strbuf
555 + - alternates: store scratch buffer as strbuf
556 + - fill_sha1_file: write "boring" characters
557 + - alternates: use a separate scratch space
558 + - alternates: encapsulate alt->base munging
559 + - alternates: provide helper for allocating alternate
560 + - alternates: provide helper for adding to alternates list
561 + - link_alt_odb_entry: refactor string handling
562 + - link_alt_odb_entry: handle normalize_path errors
563 + - fixup! t5613: clarify "too deep" recursion tests
564 + - t5613: clarify "too deep" recursion tests
565 + - t5613: do not chdir in main process
566 + - t5613: whitespace/style cleanups
567 + - t5613: use test_must_fail
568 + - t5613: drop test_valid_repo function
569 + - t5613: drop reachable_via function
570 + (this branch is used by jk/quarantine-received-objects.)
571 +
572 + Will merge to 'next' after squashing the fixup! in.
573 +
574 +
575 * va/i18n-perl-scripts (2016-09-25) 11 commits
576 - i18n: difftool: mark warnings for translation
577 - i18n: send-email: mark string with interpolation for translation
@@ -696,21 +587,7 @@ of the repositories listed at
587
588 Porcelain scripts written in Perl are getting internationalized.
589
699 - Waiting for a reroll.
700 - cf. <1474913721.1035.9.camel@sapo.pt>
701 -
702 -
703 -* vn/revision-shorthand-for-side-branch-log (2016-09-27) 1 commit
704 - (merged to 'next' on 2016-09-28 at c1237b24f6)
705 - + revision: new rev^-n shorthand for rev^n..rev
706 -
707 - "git log rev^..rev" is an often-used revision range specification
708 - to show what was done on a side branch merged at rev. This has
709 - gained a short-hand "rev^-1". In general "rev^-$n" is the same as
710 - "^rev^$n rev", i.e. what has happened on other branches while the
711 - history leading to nth parent was looking the other way.
712 -
713 - Will merge to 'master'.
590 + Waiting for comments.
591
592
593 * jc/latin-1 (2016-09-26) 2 commits
@@ -725,7 +602,8 @@ of the repositories listed at
602 Will hold to see if people scream.
603
604
728 -* mg/gpg-richer-status (2016-09-28) 1 commit
605 +* mg/gpg-richer-status (2016-10-06) 2 commits
606 + - SQUASH: gpg-interface: use more status letters
607 - gpg-interface: use more status letters
608
609 The GPG verification status shown in "%G?" pretty format specifier
@@ -733,6 +611,8 @@ of the repositories listed at
611 key, a signature made by a revoked key, etc. New output letters
612 have been assigned to express them.
613
614 + Waiting for a response to ping/squash.
615 +
616
617 * jc/blame-reverse (2016-06-14) 2 commits
618 (merged to 'next' on 2016-09-22 at d1a8e9ce99)
@@ -744,13 +624,14 @@ of the repositories listed at
624 in path in an old revision OLD have survived up to the current
625 commit.
626
747 - Will hold to see if it is broken.
627 + Will merge to 'master'.
628
629
750 -* js/libify-require-clean-work-tree (2016-09-12) 5 commits
630 +* js/libify-require-clean-work-tree (2016-10-05) 6 commits
631 + - wt-status: begin error messages with lower-case
632 - wt-status: teach has_{unstaged,uncommitted}_changes() about submodules
752 - - Export also the has_un{staged,committed}_changed() functions
753 - - Make the require_clean_work_tree() function truly reusable
633 + - wt-status: export also the has_un{staged,committed}_changed()
634 + - wt-status: make the require_clean_work_tree() function reusable
635 - pull: make code more similar to the shell script again
636 - pull: drop confusing prefix parameter of die_on_unclean_work_tree()
637
@@ -758,10 +639,7 @@ of the repositories listed at
639 pull" was rewritten from shell; the helper is now made available to
640 other callers in preparation for upcoming "rebase -i" work.
641
761 - Waiting for comments.
762 - Modulo a few minor nits, this looked almost ready.
763 - cf. <xmqqtwdl2bhm.fsf@gitster.mtv.corp.google.com>
764 - cf. <xmqqpoo92bdr.fsf@gitster.mtv.corp.google.com>
642 + Will merge to 'next'.
643
644
645 * bw/ls-files-recurse-submodules (2016-10-03) 4 commits
@@ -780,18 +658,21 @@ of the repositories listed at
658 Looking good. Is this ready for 'next'?
659
660
783 -* ls/filter-process (2016-09-23) 11 commits
661 +* ls/filter-process (2016-10-04) 14 commits
662 + - contrib/long-running-filter: add long running filter example
663 - convert: add filter.<driver>.process option
664 + - convert: prepare filter.<driver>.process option
665 - convert: make apply_filter() adhere to standard Git error handling
786 - - convert: modernize tests
787 - - convert: quote filter names in error messages
666 - pkt-line: add functions to read/write flush terminated packet streams
667 - pkt-line: add packet_write_gently()
668 - pkt-line: add packet_flush_gently()
669 - pkt-line: add packet_write_fmt_gently()
792 - - run-command: move check_pipe() from write_or_die to run_command
670 - pkt-line: extract set_packet_header()
671 - pkt-line: rename packet_write() to packet_write_fmt()
672 + - run-command: add wait_on_exit
673 + - run-command: move check_pipe() from write_or_die to run_command
674 + - convert: modernize tests
675 + - convert: quote filter names in error messages
676
677 The smudge/clean filter API expect an external process is spawned
678 to filter the contents for each path that has a filter defined. A
@@ -800,9 +681,6 @@ of the repositories listed at
681 all filtering need is served by this single process for multiple
682 paths, reducing the process creation overhead.
683
803 - Somehow I thought this was getting ready for 'next' but it seems
804 - at least another round of reroll is coming?
805 -
684
685 * hv/submodule-not-yet-pushed-fix (2016-09-14) 2 commits
686 - serialize collection of refs that contain submodule changes
@@ -844,20 +722,18 @@ of the repositories listed at
722 complete "git cmd ^mas<HT>" to complete the negative end of
723 reference to "git cmd ^master".
724
847 - Will hold to see if it is broken.
725 + Will merge to 'master'.
726
727
850 -* sb/push-make-submodule-check-the-default (2016-08-24) 1 commit
851 - - push: change submodule default to check
728 +* sb/push-make-submodule-check-the-default (2016-10-06) 2 commits
729 + - push: change submodule default to check when submodules exist
730 + - submodule add: extend force flag to add existing repos
731
853 - Turn the default of "push.recurseSubmodules" to "check".
732 + Turn the default of "push.recurseSubmodules" to "check" when
733 + submodules seem to be in use.
734
735 Will hold to wait for hv/submodule-not-yet-pushed-fix
736
857 - This reveals that the "check" mode is too inefficient to use in
858 - real projects, even in ones as small as git itself.
859 - cf. <xmqqh9aaot49.fsf@gitster.mtv.corp.google.com>
860 -
737
738 * ak/curl-imap-send-explicit-scheme (2016-08-17) 1 commit
739 (merged to 'next' on 2016-09-22 at 4449584c26)
@@ -868,7 +744,7 @@ of the repositories listed at
744 imap(s):// before the destination. To some folks, that didn't work
745 and the library tried to make HTTP(s) requests instead.
746
871 - Will hold to see if it is broken.
747 + Will merge to 'master'.
748
749
750 * jk/pack-objects-optim-mru (2016-08-11) 4 commits
@@ -885,7 +761,7 @@ of the repositories listed at
761 the packfiles are now optimized by checking the most-recently-used
762 packfile first.
763
888 - Will hold to see if people scream.
764 + Will merge to 'master'.
765
766
767 * dp/autoconf-curl-ssl (2016-06-28) 1 commit
@@ -895,7 +771,7 @@ of the repositories listed at
771 The ./configure script generated from configure.ac was taught how
772 to detect support of SSL by libcurl better.
773
898 - Will hold to see if it is broken.
774 + Will merge to 'master'.
775
776
777 * jc/pull-rebase-ff (2016-07-28) 1 commit
@@ -966,7 +842,7 @@ of the repositories listed at
842 "I am interested only in the recent N months worth of history" and
843 "Give me only the history since that version".
844
969 - Will hold to see if it is broken.
845 + Will merge to 'master'.
846
847
848 * jc/merge-drop-old-syntax (2015-04-29) 1 commit
@@ -980,7 +856,7 @@ of the repositories listed at
856 which needs to be fixed before this final step can proceed.
857 cf. <5671DB28.8020901@kdbg.org>
858
983 - Will hold to wait for rs/git-gui-use-modern-git-merge-syntax
859 + Will merge to 'next'.
860
861 --------------------------------------------------
862 [Discarded]