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]