What's cooking (2016/10 #01)
Junio C Hamano committed
Oct 3, 2016 at 15:25 UTC
374104b7461c270398f753ed892b89224a97a987
1 file changed
+313
-336
whats-cooking.txt
+313
-336
@@ -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, #08; Tue, 27)
4
-X-master-at: 21f862b498925194f8f1ebe8203b7a7df756555b
5
-X-next-at: 59e95dbc0e21ff4f326eb160a9f4c21e1a059f56
3
+Subject: What's cooking in git.git (Oct 2016, #01; Mon, 3)
4
+X-master-at: 0cf36115dce7438a0eafad54a81cc57175e8fb54
5
+X-next-at: 9af6bb63e9b9efbcd0064516a7811092873d1ddf
6
7
-What's cooking in git.git (Sep 2016, #08; Tue, 27)
7
+What's cooking in git.git (Oct 2016, #01; Mon, 3)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,6 +12,12 @@ 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
+With fixes since 2.10 accumulated on the 'master' front, the first
16
+maintenance release 2.10.1 has been tagged. The auto-abbreviation
17
+by Linus and Peff is now in 'next'. The tip of 'master' has quite a
18
+many topics merged since the last report. Pat is back and hopefully
19
+be more active as the git-gui maintainer. Life is good ;-)
20
+
21
You can find the changes described here in the integration branches
22
of the repositories listed at
23
@@ -20,243 +26,144 @@ of the repositories listed at
26
--------------------------------------------------
27
[Graduated to "master"]
28
23
-* mh/diff-indent-heuristic (2016-09-19) 8 commits
24
- (merged to 'next' on 2016-09-22 at e71d742)
25
- + blame: honor the diff heuristic options and config
26
- + parse-options: add parse_opt_unknown_cb()
27
- + diff: improve positioning of add/delete blocks in diffs
28
- + xdl_change_compact(): introduce the concept of a change group
29
- + recs_match(): take two xrecord_t pointers as arguments
30
- + is_blank_line(): take a single xrecord_t as argument
31
- + xdl_change_compact(): only use heuristic if group can't be matched
32
- + xdl_change_compact(): fix compaction heuristic to adjust ixo
33
-
34
- Output from "git diff" can be made easier to read by selecting
35
- which lines are common and which lines are added/deleted
36
- intelligently when the lines before and after the changed section
37
- are the same. A command line option is added to help with the
38
- experiment to find a good heuristics.
39
- * mh/diff-indent-heuristic (2016-09-27) 1 commit
40
- - xdiff: rename "struct group" to "struct xdlgroup"
41
-
42
- Clean-up for a recently graduated topic.
43
-
44
-
45
-* rs/cocci (2016-09-15) 3 commits
46
- (merged to 'next' on 2016-09-22 at aa54fa4)
47
- + use strbuf_addstr() for adding constant strings to a strbuf, part 2
48
- + add coccicheck make target
49
- + contrib/coccinelle: fix semantic patch for oid_to_hex_r()
50
-
51
- Code cleanup.
52
-
53
-
54
-* ep/doc-check-ref-format-example (2016-09-21) 1 commit
55
- (merged to 'next' on 2016-09-22 at 6d0d79e)
56
- + git-check-ref-format.txt: fixup documentation
57
-
58
- A shell script example in check-ref-format documentation has been
59
- fixed.
60
-
61
-
62
-* jk/clone-recursive-progress (2016-09-22) 1 commit
63
- (merged to 'next' on 2016-09-22 at 8310c42)
64
- + clone: pass --progress decision to recursive submodules
65
-
66
- "git clone --recurse-submodules" lost the progress eye-candy in
67
- recent update, which has been corrected.
68
-
69
-
70
-* jk/doc-cvs-update (2016-09-22) 3 commits
71
- (merged to 'next' on 2016-09-22 at c0f949f)
72
- + docs/cvs-migration: mention cvsimport caveats
73
- + docs/cvs-migration: update link to cvsps homepage
74
- + docs/cvsimport: prefer cvs-fast-export to parsecvs
75
-
76
- Documentation around tools to import from CVS was fairly outdated.
77
-
78
-
79
-* js/regexec-buf (2016-09-21) 3 commits
80
- (merged to 'next' on 2016-09-22 at 2ee2477)
81
- + regex: use regexec_buf()
82
- + regex: add regexec_buf() that can work on a non NUL-terminated string
83
- + regex: -G<pattern> feeds a non NUL-terminated string to regexec() and fails
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
85
- Some codepaths in "git diff" used regexec(3) on a buffer that was
86
- mmap(2)ed, which may not have a terminating NUL, leading to a read
87
- beyond the end of the mapped region. This was fixed by introducing
88
- a regexec_buf() helper that takes a <ptr,len> pair with REG_STARTEND
89
- extension.
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
92
-* jt/format-patch-rfc (2016-09-21) 1 commit
93
- (merged to 'next' on 2016-09-22 at 3b39442)
94
- + format-patch: add "--rfc" for the common case of [RFC PATCH]
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
96
- In some projects, it is common to use "[RFC PATCH]" as the subject
97
- prefix for a patch meant for discussion rather than application. A
98
- new option "--rfc" was a short-hand for "--subject-prefix=RFC PATCH"
99
- to help the participants of such projects.
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
102
-* ls/travis-homebrew-path-fix (2016-09-22) 1 commit
103
- (merged to 'next' on 2016-09-22 at 310e620)
104
- + travis-ci: ask homebrew for its path instead of hardcoding it
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
106
- The procedure to build Git on Mac OS X for Travis CI hardcoded the
107
- internal directory structure we assumed HomeBrew uses, which was a
108
- no-no. The procedure has been updated to ask HomeBrew things we
109
- need to know to fix this.
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
112
-* mm/config-color-ui-default-to-auto (2016-09-16) 1 commit
113
- (merged to 'next' on 2016-09-22 at 4eac0cb)
114
- + Documentation/config: default for color.* is color.ui
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
116
- Documentation for individual configuration variables to control use
117
- of color (like `color.grep`) said that their default value is
118
- 'false', instead of saying their default is taken from `color.ui`.
119
- When we updated the default value for color.ui from 'false' to
120
- 'auto' quite a while ago, all of them broke. This has been
121
- corrected.
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
124
-* nd/checkout-disambiguation (2016-09-21) 3 commits
125
- (merged to 'next' on 2016-09-22 at ebfa365)
126
- + checkout: fix ambiguity check in subdir
127
- + checkout.txt: document a common case that ignores ambiguation rules
128
- + checkout: add some spaces between code and comment
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
130
- "git checkout <word>" does not follow the usual disambiguation
131
- rules when the <word> can be both a rev and a path, to allow
132
- checking out a branch 'foo' in a project that happens to have a
133
- file 'foo' in the working tree without having to disambiguate.
134
- This was poorly documented and the check was incorrect when the
135
- command was run from a subdirectory.
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
138
-* rs/c-auto-resets-attributes (2016-09-19) 1 commit
139
- (merged to 'next' on 2016-09-22 at 68f2e4a)
140
- + pretty: let %C(auto) reset all attributes
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
142
- The pretty-format specifier "%C(auto)" used by the "log" family of
143
- commands to enable coloring of the output is taught to also issue a
144
- color-reset sequence to the output.
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
147
-* rs/checkout-init-macro (2016-09-22) 1 commit
148
- (merged to 'next' on 2016-09-22 at 6513755)
149
- + introduce CHECKOUT_INIT
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
151
- Code cleanup.
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
154
-* rt/rebase-i-broken-insn-advise (2016-09-07) 1 commit
155
- (merged to 'next' on 2016-09-23 at 0d12484)
156
- + rebase -i: improve advice on bad instruction lines
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
158
- When "git rebase -i" is given a broken instruction, it told the
159
- user to fix it with "--edit-todo", but didn't say what the step
160
- after that was (i.e. "--continue").
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
163
-* tg/add-chmod+x-fix (2016-09-21) 6 commits
164
- (merged to 'next' on 2016-09-22 at 6afdd21)
165
- + t3700-add: do not check working tree file mode without POSIXPERM
166
- + t3700-add: create subdirectory gently
167
- + add: modify already added files when --chmod is given
168
- + read-cache: introduce chmod_index_entry
169
- + update-index: add test for chmod flags
170
- + Merge branch 'ib/t3700-add-chmod-x-updates' into tg/add-chmod+x-fix
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
172
- "git add --chmod=+x <pathspec>" added recently only toggled the
173
- executable bit for paths that are either new or modified. This has
174
- been corrected to flip the executable bit for all paths that match
175
- the given pathspec.
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
178
-* va/i18n-more (2016-09-21) 6 commits
179
- (merged to 'next' on 2016-09-22 at bea26e8)
180
- + i18n: stash: mark messages for translation
181
- + i18n: notes-merge: mark die messages for translation
182
- + i18n: ident: mark hint for translation
183
- + i18n: i18n: diff: mark die messages for translation
184
- + i18n: connect: mark die messages for translation
185
- + i18n: commit: mark message for translation
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
187
- Even more i18n.
188
-
189
---------------------------------------------------
190
-[New Topics]
126
127
* mh/diff-indent-heuristic (2016-09-27) 1 commit
193
- (merged to 'next' on 2016-09-27 at 3d6fb66)
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
198
- Will merge to 'master'.
199
-
200
-
201
-* rs/cocci (2016-09-27) 3 commits
202
- - use strbuf_add_unique_abbrev() for adding short hashes, part 2
203
- - use strbuf_addstr() instead of strbuf_addf() with "%s", part 2
204
- - gitignore: ignore output files of coccicheck make target
205
-
206
- Code clean-up with help from coccinelle tool continues.
207
-
208
- Will merge to 'next'.
209
-
210
-
211
-* jc/verify-loose-object-header (2016-09-26) 2 commits
212
- (merged to 'next' on 2016-09-27 at 2947f95)
213
- + unpack_sha1_header(): detect malformed object header
214
- + streaming: make sure to notice corrupt object
215
-
216
- Codepaths that read from an on-disk loose object were too loose in
217
- validating what they are reading is a proper object file and
218
- sometimes read past the data they read from the disk, which has
219
- been corrected. H/t to Gustavo Grieco for reporting.
133
221
- Will merge to 'master'.
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
224
-* jk/ambiguous-short-object-names (2016-09-27) 11 commits
225
- - get_short_sha1: make default disambiguation configurable
226
- - get_short_sha1: list ambiguous objects on error
227
- - for_each_abbrev: drop duplicate objects
228
- - sha1_array: let callbacks interrupt iteration
229
- - get_short_sha1: mark ambiguity error for translation
230
- - get_short_sha1: NUL-terminate hex prefix
231
- - get_short_sha1: refactor init of disambiguation code
232
- - get_short_sha1: parse tags when looking for treeish
233
- - get_sha1: propagate flags to child functions
234
- - get_sha1: avoid repeating ourselves via ONLY_TO_DIE
235
- - get_sha1: detect buggy calls with multiple disambiguators
149
237
- When given an abbreviated object name that is not (or more
238
- realistically, "no longer") unique, we gave a fatal error
239
- "ambiguous argument". This error is now accompanied by hints that
240
- lists the objects that begins with the given prefix. During the
241
- course of development of this new feature, numerous minor bugs were
242
- uncovered and corrected, the most notable one of which is that we
243
- gave "short SHA1 xxxx is ambiguous." twice without good reason.
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
245
- Will merge to 'next'.
154
+ Doc update to clarify what "log -3 --reverse" does.
155
156
157
* rs/copy-array (2016-09-25) 2 commits
249
- (merged to 'next' on 2016-09-27 at c92e020)
158
+ (merged to 'next' on 2016-09-27 at c92e020669)
159
+ use COPY_ARRAY
160
+ add COPY_ARRAY
161
162
Code cleanup.
163
255
- Will merge to 'master'.
256
-
164
165
* rs/git-gui-use-modern-git-merge-syntax (2016-09-26) 2 commits
259
- (merged to 'next' on 2016-09-27 at f55850d)
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
@@ -265,108 +172,188 @@ of the repositories listed at
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
268
- Will merge to 'master'.
269
-
175
176
* va/git-gui-i18n (2016-09-26) 3 commits
272
- (merged to 'next' on 2016-09-27 at ab0f66f)
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
282
-* va/i18n-perl-scripts (2016-09-25) 11 commits
283
- - i18n: difftool: mark warnings for translation
284
- - i18n: send-email: mark string with interpolation for translation
285
- - i18n: send-email: mark warnings and errors for translation
286
- - i18n: send-email: mark strings for translation
287
- - i18n: add--interactive: mark edit_hunk_manually message for translation
288
- - i18n: add--interactive: i18n of help_patch_cmd
289
- - i18n: add--interactive: mark message for translation
290
- - i18n: add--interactive: mark plural strings
291
- - i18n: add--interactive: mark strings with interpolation for translation
292
- - i18n: add--interactive: mark simple here documents for translation
293
- - i18n: add--interactive: mark strings for translation
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
295
- Porcelain scripts written in Perl are getting internationalized.
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
297
- Waiting for a reroll.
298
- cf. <1474913721.1035.9.camel@sapo.pt>
211
+ Expecting a reroll.
212
+ cf. <xmqqzimrj03j.fsf@gitster.mtv.corp.google.com>
213
+ cf. <xmqq8tubkgg5.fsf@gitster.mtv.corp.google.com>
214
215
301
-* vn/revision-shorthand-for-side-branch-log (2016-09-27) 1 commit
302
- - revision: new rev^-n shorthand for rev^n..rev
216
+* jc/blame-abbrev (2016-09-28) 1 commit
217
+ (merged to 'next' on 2016-10-03 at 8ec86ff1e1)
218
+ + blame: use DEFAULT_ABBREV macro
219
304
- "git log rev^..rev" is an often-used revision range specification
305
- to show what was done on a side branch merged at rev, which has
306
- gained a short-hand "rev^-1". In general "rev^-$n" is the same as
307
- "^rev^$n rev", i.e. what was done while the history leading to nth
308
- parent was looking the other way.
220
+ Almost everybody uses DEFAULT_ABBREV to refer to the default
221
+ setting for the abbreviation, but "git blame" peeked into
222
+ underlying variable bypassing the macro for no good reason.
223
310
- Will merge to 'next'.
224
+ Will merge to 'master'.
225
226
313
-* dt/mailinfo (2016-09-26) 1 commit
314
- (merged to 'next' on 2016-09-27 at 59e95db)
315
- + add David Turner's Two Sigma address
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
320
-* dt/tree-fsck (2016-09-27) 2 commits
321
- - fsck: handle bad trees like other errors
322
- - tree-walk: be more specific about corrupt tree errors
241
+* dt/http-empty-auth (2016-10-03) 1 commit
242
+ - http: http.emptyauth should allow empty (not just NULL) usernames
243
324
- The codepath in "git fsck" to detect malformed tree objects has
325
- been updated not to die but keep going after detecting them.
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
327
- Will merge to 'next'.
250
+ cf. <20161003210100.t5nqknwfotag3lmj@sigill.intra.peff.net>
251
252
330
-* jc/latin-1 (2016-09-26) 2 commits
331
- - utf8: accept "latin-1" as ISO-8859-1
332
- - utf8: refactor code to decide fallback encoding
253
+* jc/diff-unique-abbrev-comments (2016-09-30) 1 commit
254
+ - diff_unique_abbrev(): document its assumption and limitation
255
334
- Some platforms no longer understand "latin-1" that is still seen in
335
- the wild in e-mail headers; replace them with "iso-8859-1" that is
336
- more widely known when conversion fails from/to it.
256
338
- Will merge to 'next'.
257
+* jk/graph-padding-fix (2016-09-29) 1 commit
258
+ (merged to 'next' on 2016-10-03 at 3f526e0f38)
259
+ + graph: fix extra spaces in graph_padding_line
260
261
+ The "graph" API used in "git log --graph" miscounted the number of
262
+ output columns consumed so far when drawing a padding line, which
263
+ has been fixed; this did not affect any existing code as nobody
264
+ tried to write anything after the padding on such a line, though.
265
341
-* jc/worktree-config (2016-09-27) 1 commit
342
- - worktree: honor configuration variables
266
+ Will merge to 'master'.
267
344
- "git worktree", even though it used the default_abbrev setting that
345
- ought to be affected by core.abbrev configuration variable, ignored
346
- the variable setting. The command has been taught to read the
347
- default set of configuration variables to correct this.
268
349
- Will merge to 'next'.
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
352
-* mg/gpg-richer-status (2016-09-27) 1 commit
353
- - gpg-interface: use more status letters
288
355
- The GPG verification status shown in "%G?" pretty format specifier
356
- was not rich enough to differentiate a signature made by an expired
357
- key, a signature made by a revoked key, etc. New output letters
358
- have been assigned to express them.
289
+* ps/http-gssapi-cred-delegation (2016-09-29) 1 commit
290
+ (merged to 'next' on 2016-10-03 at 310fbe8f24)
291
+ + http: control GSSAPI credential delegation
292
360
- Will merge to 'next'.
293
+ In recent versions of cURL, GSSAPI credential delegation is
294
+ disabled by default due to CVE-2011-2192; introduce a configuration
295
+ to selectively allow enabling this.
296
+
297
+ Will merge to 'master'.
298
299
363
-* pb/rev-list-reverse-with-count (2016-09-27) 1 commit
364
- - rev-list-options: clarify the usage of --reverse
300
+* rs/c-auto-resets-attributes (2016-09-29) 1 commit
301
+ (merged to 'next' on 2016-10-03 at 6a0b946a79)
302
+ + pretty: avoid adding reset for %C(auto) if output is empty
303
366
- Doc update.
304
+ When "%C(auto)" appears at the very beginning of the pretty format
305
+ string, it did not need to issue the reset sequence, but it did.
306
+
307
+ Will merge to 'master'.
308
+ This is a small optimization to already graduated topic.
309
+
310
+
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.
322
323
Will merge to 'next'.
324
325
+
326
+* sg/ref-filter-parse-optim (2016-10-03) 1 commit
327
+ (merged to 'next' on 2016-10-03 at 9af6bb63e9)
328
+ + ref-filter: strip format option after a field name only once while parsing
329
+
330
+ The code that parses the format parameter of for-each-ref command
331
+ has seen a micro-optimization.
332
+
333
+ Will merge to 'master'.
334
+
335
+
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.)
356
+
357
--------------------------------------------------
358
[Stalled]
359
@@ -668,57 +655,87 @@ of the repositories listed at
655
--------------------------------------------------
656
[Cooking]
657
671
-* jk/verify-packfile-gently (2016-09-22) 1 commit
672
- (merged to 'next' on 2016-09-26 at f5abba5)
673
- + verify_packfile: check pack validity before accessing data
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.)
672
675
- A low-level function verify_packfile() was meant to show errors
676
- that were detected without dying itself, but under some conditions
677
- it didn't and died instead, which has been fixed.
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.
680
681
Will merge to 'master'.
682
683
682
-* jt/fetch-pack-in-vain-count-with-stateless (2016-09-23) 1 commit
683
- (merged to 'next' on 2016-09-26 at 9645629)
684
- + fetch-pack: do not reset in_vain on non-novel acks
684
+* va/i18n-perl-scripts (2016-09-25) 11 commits
685
+ - i18n: difftool: mark warnings for translation
686
+ - i18n: send-email: mark string with interpolation for translation
687
+ - i18n: send-email: mark warnings and errors for translation
688
+ - i18n: send-email: mark strings for translation
689
+ - i18n: add--interactive: mark edit_hunk_manually message for translation
690
+ - i18n: add--interactive: i18n of help_patch_cmd
691
+ - i18n: add--interactive: mark message for translation
692
+ - i18n: add--interactive: mark plural strings
693
+ - i18n: add--interactive: mark strings with interpolation for translation
694
+ - i18n: add--interactive: mark simple here documents for translation
695
+ - i18n: add--interactive: mark strings for translation
696
686
- When "git fetch" tries to find where the history of the repository
687
- it runs inhas diverged from what the other side has, it has a
688
- mechanism to avoid digging too deep into irrelevant side branches.
689
- This however did not work well over the "smart-http" transport due
690
- to a design bug, which has been fixed.
697
+ Porcelain scripts written in Perl are getting internationalized.
698
692
- Will merge to 'master'.
699
+ Waiting for a reroll.
700
+ cf. <1474913721.1035.9.camel@sapo.pt>
701
702
695
-* ik/gitweb-force-highlight (2016-09-25) 2 commits
696
- (merged to 'next' on 2016-09-27 at cbb8391)
697
- + gitweb: use highlight's shebang detection
698
- + gitweb: remove unused guess_file_syntax() parameter
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
700
- "gitweb" can spawn "highlight" to show blob contents with
701
- (programming) language-specific syntax highlighting, but only
702
- when the language is known. "highlight" can however be told
703
- to make the guess itself by giving it "--force" option, which
704
- has been enabled.
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'.
714
715
709
-* jk/ident-ai-canonname-could-be-null (2016-09-23) 1 commit
710
- (merged to 'next' on 2016-09-26 at 0eefb29)
711
- + ident: handle NULL ai_canonname
716
+* jc/latin-1 (2016-09-26) 2 commits
717
+ (merged to 'next' on 2016-09-28 at c8673e03c2)
718
+ + utf8: accept "latin-1" as ISO-8859-1
719
+ + utf8: refactor code to decide fallback encoding
720
713
- In the codepath that comes up with the hostname to be used in an
714
- e-mail when the user didn't tell us, we looked at ai_canonname
715
- field in struct addrinfo without making sure it is not NULL first.
721
+ Some platforms no longer understand "latin-1" that is still seen in
722
+ the wild in e-mail headers; replace them with "iso-8859-1" that is
723
+ more widely known when conversion fails from/to it.
724
717
- Will merge to 'master'.
725
+ Will hold to see if people scream.
726
+
727
+
728
+* mg/gpg-richer-status (2016-09-28) 1 commit
729
+ - gpg-interface: use more status letters
730
+
731
+ The GPG verification status shown in "%G?" pretty format specifier
732
+ was not rich enough to differentiate a signature made by an expired
733
+ key, a signature made by a revoked key, etc. New output letters
734
+ have been assigned to express them.
735
736
737
* jc/blame-reverse (2016-06-14) 2 commits
721
- (merged to 'next' on 2016-09-22 at d1a8e9c)
738
+ (merged to 'next' on 2016-09-22 at d1a8e9ce99)
739
+ blame: dwim "blame --reverse OLD" as "blame --reverse OLD.."
740
+ blame: improve diagnosis for "--reverse NEW"
741
@@ -730,51 +747,6 @@ of the repositories listed at
747
Will hold to see if it is broken.
748
749
733
-* nd/init-core-worktree-in-multi-worktree-world (2016-09-25) 5 commits
734
- (merged to 'next' on 2016-09-27 at 619f7f3)
735
- + init: kill git_link variable
736
- + init: do not set unnecessary core.worktree
737
- + init: kill set_git_dir_init()
738
- + init: call set_git_dir_init() from within init_db()
739
- + init: correct re-initialization from a linked worktree
740
-
741
- "git init" tried to record core.worktree in the repository's
742
- 'config' file when GIT_WORK_TREE environment variable was set and
743
- it was different from where GIT_DIR appears as ".git" at its top,
744
- but the logic was faulty when .git is a "gitdir:" file that points
745
- at the real place, causing trouble in working trees that are
746
- managed by "git worktree". This has been corrected.
747
-
748
- Will merge to 'master'.
749
-
750
-
751
-* jt/mailinfo-fold-in-body-headers (2016-09-21) 3 commits
752
- (merged to 'next' on 2016-09-26 at 4235eb6)
753
- + mailinfo: handle in-body header continuations
754
- + mailinfo: make is_scissors_line take plain char *
755
- + mailinfo: separate in-body header processing
756
-
757
- When "git format-patch --stdout" output is placed as an in-body
758
- header and it uses the RFC2822 header folding, "git am" failed to
759
- put the header line back into a single logical line. The
760
- underlying "git mailinfo" was taught to handle this properly.
761
-
762
- Will merge to 'master'.
763
-
764
-
765
-* kd/mailinfo-quoted-string (2016-09-26) 3 commits
766
- - mailinfo: unescape quoted-pair in header fields
767
- - SQUASH???
768
- - t5100-mailinfo: replace common path prefix with variable
769
-
770
- An e-mail author named that spelled a backslash-quoted double quote
771
- in the human readable part "My \"double quoted\" name" was not
772
- unquoted correctly.
773
-
774
- Waiting for a reroll.
775
- cf. <20160926194455.GB19089@ikke.info>
776
-
777
-
750
* js/libify-require-clean-work-tree (2016-09-12) 5 commits
751
- wt-status: teach has_{unstaged,uncommitted}_changes() about submodules
752
- Export also the has_un{staged,committed}_changed() functions
@@ -792,9 +764,11 @@ of the repositories listed at
764
cf. <xmqqpoo92bdr.fsf@gitster.mtv.corp.google.com>
765
766
795
-* bw/ls-files-recurse-submodules (2016-09-21) 2 commits
767
+* bw/ls-files-recurse-submodules (2016-10-03) 4 commits
768
- ls-files: add pathspec matching for submodules
769
+ - ls-files: pass through safe options for --recurse-submodules
770
- ls-files: optionally recurse into submodules
771
+ - git: make super-prefix option
772
773
"git ls-files" learned "--recurse-submodules" option that can be
774
used to get a listing of tracked files across submodules (i.e. this
@@ -803,7 +777,7 @@ of the repositories listed at
777
side of a pipe that is read with xargs to work on all working tree
778
files from the top-level superproject.
779
806
- Waiting for the discussion to conclude.
780
+ Looking good. Is this ready for 'next'?
781
782
783
* ls/filter-process (2016-09-23) 11 commits
@@ -826,6 +800,9 @@ of the repositories listed at
800
all filtering need is served by this single process for multiple
801
paths, reducing the process creation overhead.
802
803
+ Somehow I thought this was getting ready for 'next' but it seems
804
+ at least another round of reroll is coming?
805
+
806
807
* hv/submodule-not-yet-pushed-fix (2016-09-14) 2 commits
808
- serialize collection of refs that contain submodule changes
@@ -860,7 +837,7 @@ of the repositories listed at
837
838
839
* cp/completion-negative-refs (2016-08-24) 1 commit
863
- (merged to 'next' on 2016-09-22 at abd1585)
840
+ (merged to 'next' on 2016-09-22 at abd1585aa6)
841
+ completion: support excluding refs
842
843
The command-line completion script (in contrib/) learned to
@@ -883,7 +860,7 @@ of the repositories listed at
860
861
862
* ak/curl-imap-send-explicit-scheme (2016-08-17) 1 commit
886
- (merged to 'next' on 2016-09-22 at 4449584)
863
+ (merged to 'next' on 2016-09-22 at 4449584c26)
864
+ imap-send: Tell cURL to use imap:// or imaps://
865
866
When we started cURL to talk to imap server when a new enough
@@ -895,7 +872,7 @@ of the repositories listed at
872
873
874
* jk/pack-objects-optim-mru (2016-08-11) 4 commits
898
- (merged to 'next' on 2016-09-21 at 97b919b)
875
+ (merged to 'next' on 2016-09-21 at 97b919bdbd)
876
+ pack-objects: use mru list when iterating over packs
877
+ pack-objects: break delta cycles before delta-search phase
878
+ sha1_file: make packed_object_info public
@@ -912,7 +889,7 @@ of the repositories listed at
889
890
891
* dp/autoconf-curl-ssl (2016-06-28) 1 commit
915
- (merged to 'next' on 2016-09-22 at 9c5aeec)
892
+ (merged to 'next' on 2016-09-22 at 9c5aeeced9)
893
+ ./configure.ac: detect SSL in libcurl using curl-config
894
895
The ./configure script generated from configure.ac was taught how
@@ -932,7 +909,7 @@ of the repositories listed at
909
910
911
* ex/deprecate-empty-pathspec-as-match-all (2016-06-22) 1 commit
935
- (merged to 'next' on 2016-09-21 at e19148e)
912
+ (merged to 'next' on 2016-09-21 at e19148ea63)
913
+ pathspec: warn on empty strings as pathspec
914
915
Originally merged to 'next' on 2016-07-13
@@ -952,7 +929,7 @@ of the repositories listed at
929
930
931
* nd/shallow-deepen (2016-06-13) 27 commits
955
- (merged to 'next' on 2016-09-22 at f0cf3e3)
932
+ (merged to 'next' on 2016-09-22 at f0cf3e3385)
933
+ fetch, upload-pack: --deepen=N extends shallow boundary by N commits
934
+ upload-pack: add get_reachable_list()
935
+ upload-pack: split check_unreachable() in two, prep for get_reachable_list()