What's cooking (2016/02 #06)
Junio C Hamano committed
Feb 22, 2016 at 14:16 UTC
1b3eedf30c30a73e65bdaacd451aae7cb6e2562d
1 file changed
+311
-330
whats-cooking.txt
+311
-330
@@ -1,10 +1,10 @@
1
To: git@vger.kernel.org
2
Bcc: lwn@lwn.net
3
-Subject: What's cooking in git.git (Feb 2016, #05; Wed, 17)
4
-X-master-at: 0233b800c838ddda41db318ee396320b3c21a560
5
-X-next-at: 45cd78e6c697b37c226f619775990486cf53e84f
3
+Subject: What's cooking in git.git (Feb 2016, #06; Mon, 22)
4
+X-master-at: 70bd996071bf724a7b151c81a165e8837179d6d7
5
+X-next-at: 5fe9e24d37736b932d9f6fc17afbc616cde818a3
6
7
-What's cooking in git.git (Feb 2016, #05; Wed, 17)
7
+What's cooking in git.git (Feb 2016, #06; Mon, 22)
8
--------------------------------------------------
9
10
Here are the topics that have been cooking. Commits prefixed with
@@ -12,6 +12,11 @@ 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
+I originally penciled in -rc0 for today, but let's give a handful of
16
+topics that are cooking in 'next' a few more time and merge them to
17
+'master' before doing so. On the 'maint' front, there is 2.7.2 out,
18
+that merges the fixes accumulated on 'master' so far.
19
+
20
You can find the changes described here in the integration branches of the
21
repositories listed at
22
@@ -20,129 +25,174 @@ repositories listed at
25
--------------------------------------------------
26
[Graduated to "master"]
27
23
-* ah/stripspace-optstring (2016-01-29) 1 commit
24
- (merged to 'next' on 2016-02-12 at cd021aa)
25
- + stripspace: call U+0020 a "space" instead of a "blank"
26
-
27
-
28
-* da/user-useconfigonly (2016-02-08) 2 commits
29
- (merged to 'next' on 2016-02-09 at 8b303ce)
30
- + ident: add user.useConfigOnly boolean for when ident shouldn't be guessed
31
- + fmt_ident: refactor strictness checks
28
+* ew/connect-verbose (2016-02-15) 1 commit
29
+ (merged to 'next' on 2016-02-18 at 5555b13)
30
+ + t5570: add tests for "git {clone,fetch,pull} -v"
31
+
32
+ A missing test for a recent feature has been added.
33
+
34
+
35
+* jk/config-include (2016-02-13) 1 commit
36
+ (merged to 'next' on 2016-02-18 at 8491d55)
37
+ + git-config: better document default behavior for `--include`
38
+
39
+ A belated documentation update clarifies the interaction between
40
+ "--file", "--include" and "[include] path = $over_there".
41
+
42
33
- The "user.useConfigOnly" configuration variable can be used to
34
- force the user to always set user.email & user.name configuration
35
- variables, serving as a reminder for those who work on multiple
36
- projects and do not want to put these in their $HOME/.gitconfig.
37
-
38
-
39
-* dw/mergetool-vim-window-shuffle (2016-02-12) 1 commit
40
- (merged to 'next' on 2016-02-12 at 2a2e8bd)
41
- + mergetool: reorder vim/gvim buffers in three-way diffs
42
-
43
- The vimdiff backend for "git mergetool" has been tweaked to arrange
44
- and number buffers in the order that would match the expectation of
45
- majority of people who read left to right, then top down and assign
46
- buffers 1 2 3 4 "mentally" to local base remote merge windows based
47
- on that order.
48
-
49
-
50
-* jk/drop-rsync-transport (2016-02-01) 1 commit
51
- (merged to 'next' on 2016-02-03 at 08be402)
52
- + transport: drop support for git-over-rsync
53
-
54
- It turns out "git clone" over rsync transport has been broken when
55
- the source repository has packed references for a long time, and
56
- nobody noticed nor complained about it.
57
-
58
-
59
-* jk/rerere-xsnprintf (2016-02-08) 1 commit
60
- (merged to 'next' on 2016-02-09 at ff9ade3)
61
- + rerere: replace strcpy with xsnprintf
62
- (this branch is used by jc/rerere-multi.)
63
-
64
- Some calls to strcpy(3) triggers a false warning from static
65
- analysers that are less intelligent than humans, and reducing the
66
- number of these false hits helps us notice real issues. A few
67
- calls to strcpy(3) in "git rerere" that are already safe has been
68
- rewritten to avoid false wanings.
69
-
70
-
71
-* jk/test-path-utils-xsnprintf (2016-02-08) 1 commit
72
- (merged to 'next' on 2016-02-09 at 931f70b)
73
- + test-path-utils: use xsnprintf in favor of strcpy
74
-
75
- Some calls to strcpy(3) triggers a false warning from static
76
- analysers that are less intelligent than humans, and reducing the
77
- number of these false hits helps us notice real issues. A few
78
- calls to strcpy(3) in test-path-utils that are already safe has
79
- been rewritten to avoid false wanings.
80
-
81
-
82
-* js/mingw-tests (2016-02-08) 21 commits
83
- (merged to 'next' on 2016-02-08 at 417e555)
84
- + gitignore: ignore generated test-fake-ssh executable
85
- (merged to 'next' on 2016-02-03 at ace7624)
86
- + mingw: do not bother to test funny file names
87
- + mingw: skip a test in t9130 that cannot pass on Windows
88
- + mingw: handle the missing POSIXPERM prereq in t9124
89
- + mingw: avoid illegal filename in t9118
90
- + mingw: mark t9100's test cases with appropriate prereqs
91
- + t0008: avoid absolute path
92
- + mingw: work around pwd issues in the tests
93
- + mingw: fix t9700's assumption about directory separators
94
- + mingw: skip test in t1508 that fails due to path conversion
95
- + tests: turn off git-daemon tests if FIFOs are not available
96
- + mingw: disable mkfifo-based tests
97
- + mingw: accomodate t0060-path-utils for MSYS2
98
- + mingw: fix t5601-clone.sh
99
- + mingw: let lstat() fail with errno == ENOTDIR when appropriate
100
- + mingw: try to delete target directory before renaming
101
- + mingw: prepare the TMPDIR environment variable for shell scripts
102
- + mingw: factor out Windows specific environment setup
103
- + Git.pm: stop assuming that absolute paths start with a slash
104
- + mingw: do not trust MSYS2's MinGW gettext.sh
105
- + mingw: let's use gettext with MSYS2
106
- (this branch is used by mg/mingw-test-fix.)
107
-
108
- Test scripts have been updated to remove assumptions that are not
109
- portable between Git for POSIX and Git for Windows, or to skip ones
110
- with expectations that are not satisfiable on Git for Windows.
111
-
112
-
113
-* mg/mingw-test-fix (2016-02-08) 1 commit
114
- (merged to 'next' on 2016-02-12 at df77956)
115
- + t9100: fix breakage when SHELL_PATH is not /bin/sh
116
- (this branch uses js/mingw-tests.)
117
-
118
- An earlier adjustment of test mistakenly used write_script
119
- to prepare a file whose exact content matters for the test;
120
- reverting that part fixes the breakage for those who use
121
- SHELL_PATH that is different from /bin/sh.
122
-
123
-
124
-* mm/clean-doc-fix (2016-02-09) 1 commit
125
- (merged to 'next' on 2016-02-09 at ced8555)
126
- + Documentation/git-clean.txt: don't mention deletion of .git/modules/*
127
-
128
- The documentation for "git clean" has been corrected; it mentioned
129
- that .git/modules/* are removed by giving two "-f", which has never
130
- been the case.
131
-
132
-
133
-* nd/clear-gitenv-upon-use-of-alias (2016-02-02) 4 commits
134
- (merged to 'next' on 2016-02-09 at 2c441b4)
135
- + restore_env(): free the saved environment variable once we are done
136
- + git: simplify environment save/restore logic
137
- + git: protect against unbalanced calls to {save,restore}_env()
138
- + git: remove an early return from save_env_before_alias()
139
-
140
- The automatic typo correction applied to an alias was broken
141
- with a recent change already in 'master'.
43
+* js/git-remote-add-url-insteadof-test (2016-02-17) 1 commit
44
+ (merged to 'next' on 2016-02-18 at ef1d82e)
45
+ + t5505: 'remote add x y' should work when url.y.insteadOf = x
46
+
47
+ A missing test for a rather old change has been added.
48
49
--------------------------------------------------
50
[New Topics]
51
52
+* sb/submodule-init (2016-02-19) 2 commits
53
+ - submodule: port init from shell to C
54
+ - submodule: port resolve_relative_url from shell to C
55
+ (this branch uses sb/submodule-parallel-update; is tangled with dt/refs-backend-lmdb.)
56
+
57
+
58
+* ak/extract-argv0-last-dir-sep (2016-02-19) 1 commit
59
+ - exec_cmd.c: use find_last_dir_sep() for code simplification
60
+
61
+ Code simplification.
62
+
63
+ Will merge to 'next'.
64
+
65
+
66
+* az/p4-bare-no-rebase (2016-02-19) 1 commit
67
+ - git-p4.py: Don't try to rebase on submit from bare repository
68
+
69
+ "git p4 submit" attempts to do a rebase, which would fail if done
70
+ in a bare repository. Not doing this rebase would paper over the
71
+ failure, which is what this patch does, but it is unclear what the
72
+ side effect of not rebasing is.
73
+
74
+ Needs a better explanation.
75
+
76
+
77
+* ak/git-strip-extension-from-dashed-command (2016-02-21) 1 commit
78
+ - git.c: simplify stripping extension of a file in handle_builtin()
79
+
80
+ Code simplification.
81
+
82
+ Will merge to 'next'.
83
+
84
+
85
+* jk/grep-binary-workaround-in-test (2016-02-21) 2 commits
86
+ - t9200: avoid grep on non-ASCII data
87
+ - t8005: avoid grep on non-ASCII data
88
+
89
+ Will see a reroll.
90
+
91
+
92
+* mg/work-tree-tests (2016-02-20) 1 commit
93
+ - tests: rename work-tree tests to *work-tree*
94
+
95
+ Traditionally, the tests that try commands that work on the
96
+ contents in the working tree were named with "worktree" in their
97
+ filenames, but with the recent addition of "git worktree"
98
+ subcommand, whose tests are also named similarly, it has become
99
+ harder to tell them apart. The traditional tests have been renamed
100
+ to use "work-tree" instead in an attempt to differentiate them.
101
+
102
+
103
+* jk/more-comments-on-textconv (2016-02-22) 1 commit
104
+ - diff: clarify textconv interface
105
+
106
+ The memory ownership rule of fill_textconv() API, which was a bit
107
+ tricky, has been documented a bit better.
108
+
109
+ Will merge to 'next'.
110
+
111
+--------------------------------------------------
112
+[Stalled]
113
+
114
+* ec/annotate-deleted (2015-11-20) 1 commit
115
+ - annotate: skip checking working tree if a revision is provided
116
+
117
+ Usability fix for annotate-specific "<file> <rev>" syntax with deleted
118
+ files.
119
+
120
+ Waiting for review.
121
+
122
+
123
+* dg/subtree-rebase-test (2016-01-19) 1 commit
124
+ - contrib/subtree: Add a test for subtree rebase that loses commits
125
+
126
+ Reviewed up to v5.
127
+ Will be rerolled.
128
+ ($gmane/284426)
129
+
130
+
131
+* js/am-3-merge-recursive-direct (2015-10-12) 2 commits
132
+ - am: make a direct call to merge_recursive
133
+ - merge_recursive_options: introduce the "gently" flag
134
+
135
+ The merge_recursive_generic() function has been made a bit safer to
136
+ call from inside a process. "git am -3" was taught to make a direct
137
+ call to the function when falling back to three-way merge.
138
+
139
+ Being able to make a direct call would be good in general, but as a
140
+ performance thing, the change needs to be backed up by numbers.
141
+
142
+ Needs review.
143
+
144
+ I haven't gone through the "gently" change with fine toothed comb;
145
+ I can see that the change avoids calling die(), but I haven't made
146
+ sure that the program states (e.g. what's in the in-core index) are
147
+ adjusted sensibly when it returns to the caller instead of dying,
148
+ or the codepaths that used to die() are free of resource leaks.
149
+ The original code certainly did not care the program states at the
150
+ point of dying exactly because it knew it is going to exit, but now
151
+ they have to care, and they need to be audited.
152
+
153
+
154
+* dk/gc-more-wo-pack (2016-01-13) 4 commits
155
+ - gc: clean garbage .bitmap files from pack dir
156
+ - t5304: ensure non-garbage files are not deleted
157
+ - t5304: test .bitmap garbage files
158
+ - prepare_packed_git(): find more garbage
159
+
160
+ Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
161
+ .bitmap and .keep files.
162
+
163
+ Waiting for a reroll.
164
+ ($gmane/284368).
165
+
166
+
167
+* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
168
+ - t/lib-git-svn: check same httpd module dirs as lib-httpd
169
+ - t/lib-httpd: load mod_unixd
170
+
171
+ This is the first two commits in a three-patch series $gmane/266962
172
+
173
+ Becoming tired of waiting for a reroll.
174
+ with updated log message ($gmane/268061).
175
+ Will discard.
176
+
177
+
178
+* jc/diff-b-m (2015-02-23) 5 commits
179
+ . WIPWIP
180
+ . WIP: diff-b-m
181
+ - diffcore-rename: allow easier debugging
182
+ - diffcore-rename.c: add locate_rename_src()
183
+ - diffcore-break: allow debugging
184
+
185
+ "git diff -B -M" produced incorrect patch when the postimage of a
186
+ completely rewritten file is similar to the preimage of a removed
187
+ file; such a resulting file must not be expressed as a rename from
188
+ other place.
189
+
190
+ The fix in this patch is broken, unfortunately.
191
+ Will discard.
192
+
193
+--------------------------------------------------
194
+[Cooking]
195
+
196
* cn/deprecate-ssh-git-url (2016-02-15) 1 commit
197
- Disown ssh+git and git+ssh
198
@@ -151,28 +201,28 @@ repositories listed at
201
($gmane/286222)
202
203
154
-* jk/config-include (2016-02-13) 1 commit
155
- - git-config: better document default behavior for `--include`
156
-
157
- Will merge to 'next'.
158
-
159
-
204
* nd/git-common-dir-fix (2016-02-12) 1 commit
161
- - rev-parse: take prefix into account in --git-common-dir
205
+ (merged to 'next' on 2016-02-18 at 957afc5)
206
+ + rev-parse: take prefix into account in --git-common-dir
207
163
- Will merge to 'next'.
208
+ "git rev-parse --git-common-dir" used in the worktree feature
209
+ misbehaved when run from a subdirectory.
210
+
211
+ Will merge to 'master'.
212
213
214
* sp/remote-curl-ssl-strerror (2016-02-15) 1 commit
167
- - remote-curl: include curl_errorstr on SSL setup failures
215
+ (merged to 'next' on 2016-02-18 at 1339fe4)
216
+ + remote-curl: include curl_errorstr on SSL setup failures
217
218
Help those who debug http(s) part of the system.
219
171
- Will merge to 'next'.
220
+ Will merge to 'master'.
221
222
223
* bc/http-empty-auth (2016-02-15) 1 commit
175
- - http: add option to try authentication without username
224
+ (merged to 'next' on 2016-02-18 at 6d2fc88)
225
+ + http: add option to try authentication without username
226
227
Some authentication methods do not need username or password, but
228
libcurl needs some hint that it needs to perform authentication.
@@ -180,43 +230,40 @@ repositories listed at
230
do so, but you can set the http.[<url>.]emptyAuth configuration
231
variable to achieve the same, if you find it cleaner.
232
183
- Will merge to 'next'.
233
+ Will merge to 'master'.
234
235
236
* ce/https-public-key-pinning (2016-02-15) 1 commit
187
- - http: implement public key pinning
237
+ (merged to 'next' on 2016-02-18 at f382cf0)
238
+ + http: implement public key pinning
239
240
You can now set http.[<url>.]pinnedpubkey to specify the pinned
241
public key when building with recent enough versions of libcURL.
242
192
- Will merge to 'next'.
193
-
194
-
195
-* ew/connect-verbose (2016-02-15) 1 commit
196
- - t5570: add tests for "git {clone,fetch,pull} -v"
197
-
198
- Will merge to 'next'.
243
+ Will merge to 'master'.
244
245
201
-* fa/merge-recursive-no-rename (2016-02-17) 2 commits
202
- - merge-recursive: more consistent interface
203
- - merge-recursive: option to disable renames
246
+* fa/merge-recursive-no-rename (2016-02-22) 4 commits
247
+ - merge-recursive: find-renames resets threshold
248
+ - merge-strategies.txt: fix typo
249
+ (merged to 'next' on 2016-02-18 at dd6125b)
250
+ + merge-recursive: more consistent interface
251
+ + merge-recursive: option to disable renames
252
253
"git merge-recursive" learned "--no-renames" option to disable its
254
rename detection logic.
255
208
- Will merge to 'next'.
209
-
256
257
* jc/am-i-v-fix (2016-02-17) 3 commits
212
- - am -i: fix "v"iew
213
- - pager: factor out a helper to prepare a child process to run the pager
214
- - pager: lose a separate argv[]
258
+ (merged to 'next' on 2016-02-18 at 331e518)
259
+ + am -i: fix "v"iew
260
+ + pager: factor out a helper to prepare a child process to run the pager
261
+ + pager: lose a separate argv[]
262
263
The "v(iew)" subcommand of the interactive "git am -i" command was
264
broken in 2.6.0 timeframe when the command was rewritten in C.
265
219
- Will merge to 'next'.
266
+ Will merge to 'master'.
267
268
269
* jk/merge-tree-merge-blobs (2016-02-16) 1 commit
@@ -229,7 +276,7 @@ repositories listed at
276
Undecided; we might be better off deleting it altogether.
277
278
232
-* jk/tighten-alloc (2016-02-15) 18 commits
279
+* jk/tighten-alloc (2016-02-19) 21 commits
280
- ewah: convert to REALLOC_ARRAY, etc
281
- convert ewah/bitmap code to use xmalloc
282
- diff_populate_gitlink: use a strbuf
@@ -240,63 +287,59 @@ repositories listed at
287
- fetch-pack: simplify add_sought_entry
288
- fast-import: simplify allocation in start_packfile
289
- write_untracked_extension: use FLEX_ALLOC helper
290
+ - prepare_{git,shell}_cmd: use argv_array
291
- use st_add and st_mult for allocation size computation
292
- convert trivial cases to FLEX_ARRAY macros
293
- use xmallocz to avoid size arithmetic
294
- convert trivial cases to ALLOC_ARRAY
295
+ - convert manual allocations to argv_array
296
- add helpers for allocating flex-array structs
297
- harden REALLOC_ARRAY and xcalloc against size_t overflow
298
- tree-diff: catch integer overflow in combine_diff_path allocation
299
- add helpers for detecting size_t overflow
300
+ - reflog_expire_cfg: NUL-terminate pattern field
301
302
Update various codepaths to avoid manually-counted malloc().
303
254
- Will merge to 'next'.
255
-
256
-
257
-* js/git-remote-add-url-insteadof-test (2016-02-17) 1 commit
258
- - t5505: 'remote add x y' should work when url.y.insteadOf = x
259
-
260
- Will merge to 'next'.
261
-
304
305
* nd/dwim-wildcards-as-pathspecs (2016-02-10) 3 commits
264
- - get_sha1: don't die() on bogus search strings
265
- - check_filename: tighten dwim-wildcard ambiguity
266
- - checkout: reorder check_filename conditional
306
+ (merged to 'next' on 2016-02-18 at fc7caf4)
307
+ + get_sha1: don't die() on bogus search strings
308
+ + check_filename: tighten dwim-wildcard ambiguity
309
+ + checkout: reorder check_filename conditional
310
311
"git show 'HEAD:Foo[BAR]Baz'" did not interpret the argument as a
312
rev, i.e. the object named by the the pathname with wildcard
313
characters in a tree object.
314
272
- I lost track of this topic; did we decide that this is a good thing
273
- to do, or unnecessary noise to only cater to a crazy use case?
315
+ Will merge to 'master'.
316
317
318
* nd/exclusion-regression-fix (2016-02-15) 4 commits
277
- - dir.c: don't exclude whole dir prematurely
278
- - dir.c: support marking some patterns already matched
279
- - dir.c: support tracing exclude
280
- - dir.c: fix match_pathname()
319
+ (merged to 'next' on 2016-02-18 at 85412ab)
320
+ + dir.c: don't exclude whole dir prematurely
321
+ + dir.c: support marking some patterns already matched
322
+ + dir.c: support tracing exclude
323
+ + dir.c: fix match_pathname()
324
325
Another try to add support to the ignore mechanism that lets you
326
say "this is excluded" and then later say "oh, no, this part (that
284
- is a subset of the previous part) is not exlucded".
327
+ is a subset of the previous part) is not excluded".
328
286
- Will merge to 'next'.
329
+ Will merge to 'master'.
330
331
332
* nd/worktree-add-B (2016-02-15) 2 commits
290
- - worktree add -B: do the checkout test before update branch
291
- - worktree: fix "add -B"
333
+ (merged to 'next' on 2016-02-18 at bf77016)
334
+ + worktree add -B: do the checkout test before update branch
335
+ + worktree: fix "add -B"
336
337
"git worktree add -B <branchname>" did not work.
338
295
- Will merge to 'next'.
339
+ Will merge to 'master'.
340
341
298
-* ps/config-error (2016-02-17) 16 commits
299
- - SQUASH
342
+* ps/config-error (2016-02-22) 15 commits
343
- config: rename git_config_set_or_die to git_config_set
344
- config: rename git_config_set to git_config_set_gently
345
- compat: die when unable to set core.precomposeunicode
@@ -317,7 +360,7 @@ repositories listed at
360
the function is made to die() to make sure we do not proceed when
361
setting a configuration variable failed.
362
320
- Need to squash the tip two commits into one before moving forward.
363
+ Will merge to 'next'.
364
365
366
* ss/commit-dry-run-resolve-merge-to-no-op (2016-02-17) 1 commit
@@ -330,158 +373,58 @@ repositories listed at
373
374
375
* tg/git-remote (2016-02-16) 4 commits
333
- - remote: use remote_is_configured() for add and rename
334
- - remote: actually check if remote exits
335
- - remote: simplify remote_is_configured()
336
- - remote: use parse_config_key
376
+ (merged to 'next' on 2016-02-18 at 091d43e)
377
+ + remote: use remote_is_configured() for add and rename
378
+ + remote: actually check if remote exits
379
+ + remote: simplify remote_is_configured()
380
+ + remote: use parse_config_key
381
382
The internal API to interact with "remote.*" configuration
383
variables has been streamlined.
384
341
- Will merge to 'next'.
385
+ Will merge to 'master'.
386
387
344
-* ls/config-origin (2016-02-17) 3 commits
388
+* ls/config-origin (2016-02-22) 4 commits
389
- config: add '--show-origin' option to print the origin of a config value
346
- - config: add 'type' to config_source struct that identifies config type
390
+ - config: add 'origin_type' to config_source struct
391
+ - rename git_config_from_buf to git_config_from_mem
392
- t: do not hide Git's exit code in tests using 'nul_to_q'
393
349
---------------------------------------------------
350
-[Stalled]
351
-
352
-* ec/annotate-deleted (2015-11-20) 1 commit
353
- - annotate: skip checking working tree if a revision is provided
354
-
355
- Usability fix for annotate-specific "<file> <rev>" syntax with deleted
356
- files.
357
-
358
- Waiting for review.
359
-
360
-
361
-* dg/subtree-rebase-test (2016-01-19) 1 commit
362
- - contrib/subtree: Add a test for subtree rebase that loses commits
363
-
364
- Reviewed up to v5.
365
- Will be rerolled.
366
- ($gmane/284426)
367
-
368
-
369
-* js/am-3-merge-recursive-direct (2015-10-12) 2 commits
370
- - am: make a direct call to merge_recursive
371
- - merge_recursive_options: introduce the "gently" flag
372
-
373
- The merge_recursive_generic() function has been made a bit safer to
374
- call from inside a process. "git am -3" was taught to make a direct
375
- call to the function when falling back to three-way merge.
376
-
377
- Being able to make a direct call would be good in general, but as a
378
- performance thing, the change needs to be backed up by numbers.
379
-
380
- Needs review.
381
-
382
- I haven't gone through the "gently" change with fine toothed comb;
383
- I can see that the change avoids calling die(), but I haven't made
384
- sure that the program states (e.g. what's in the in-core index) are
385
- adjusted sensibly when it returns to the caller instead of dying,
386
- or the codepaths that used to die() are free of resource leaks.
387
- The original code certainly did not care the program states at the
388
- point of dying exactly because it knew it is going to exit, but now
389
- they have to care, and they need to be audited.
390
-
391
-
392
-* dk/gc-more-wo-pack (2016-01-13) 4 commits
393
- - gc: clean garbage .bitmap files from pack dir
394
- - t5304: ensure non-garbage files are not deleted
395
- - t5304: test .bitmap garbage files
396
- - prepare_packed_git(): find more garbage
397
-
398
- Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
399
- .bitmap and .keep files.
400
-
401
- Waiting for a reroll.
402
- ($gmane/284368).
403
-
404
-
405
-* mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
406
- - t/lib-git-svn: check same httpd module dirs as lib-httpd
407
- - t/lib-httpd: load mod_unixd
408
-
409
- This is the first two commits in a three-patch series $gmane/266962
410
-
411
- Becoming tired of waiting for a reroll.
412
- with updated log message ($gmane/268061).
413
- Will discard.
414
-
415
-
416
-* jc/diff-b-m (2015-02-23) 5 commits
417
- . WIPWIP
418
- . WIP: diff-b-m
419
- - diffcore-rename: allow easier debugging
420
- - diffcore-rename.c: add locate_rename_src()
421
- - diffcore-break: allow debugging
422
-
423
- "git diff -B -M" produced incorrect patch when the postimage of a
424
- completely rewritten file is similar to the preimage of a removed
425
- file; such a resulting file must not be expressed as a rename from
426
- other place.
427
-
428
- The fix in this patch is broken, unfortunately.
429
- Will discard.
430
-
431
---------------------------------------------------
432
-[Cooking]
394
+ The configuration system has been taught to phrase where it found a
395
+ bad configuration variable in a better way in its error messages.
396
+ "git config" learnt a new "--show-origin" option to indicate where
397
+ the values come from.
398
434
-* ep/format-printf (2016-02-11) 22 commits
435
- - wt-status.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
436
- - utf8.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
437
- - transport-helper.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
438
- - trace.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
439
- - strbuf.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
440
- - remote.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
441
- - pkt-line.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
442
- - merge-recursive.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
443
- - imap-send.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
444
- - http-backend.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
445
- - fsck.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
446
- - daemon.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
447
- - config.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
448
- - color.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
449
- - cache.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
450
- - builtin/upload-archive.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
451
- - builtin/update-index.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
452
- - builtin/receive-pack.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
453
- - builtin/index-pack.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
454
- - argv-array.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
455
- - advice.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
456
- - git-compat-util.h: add the FORMAT_PRINTF macro
457
-
458
- Undecided.
399
+ Will merge to 'next'.
400
401
402
* ew/force-ipv4 (2016-02-12) 1 commit
462
- - connect & http: support -4 and -6 switches for remote operations
403
+ (merged to 'next' on 2016-02-18 at d0211b0)
404
+ + connect & http: support -4 and -6 switches for remote operations
405
406
"git fetch" and friends that make network connections can now be
407
told to only use ipv4 (or ipv6).
408
467
- Will merge to 'next'.
409
+ Will merge to 'master'.
410
411
412
* jk/lose-name-path (2016-02-12) 5 commits
471
- - list-objects: pass full pathname to callbacks
472
- - list-objects: drop name_path entirely
473
- - list-objects: convert name_path to a strbuf
474
- - show_object_with_name: simplify by using path_name()
475
- - http-push: stop using name_path
413
+ (merged to 'next' on 2016-02-18 at 85831a6)
414
+ + list-objects: pass full pathname to callbacks
415
+ + list-objects: drop name_path entirely
416
+ + list-objects: convert name_path to a strbuf
417
+ + show_object_with_name: simplify by using path_name()
418
+ + http-push: stop using name_path
419
420
The "name_path" API was an attempt to reduce the need to construct
421
the full path out of a series of path components while walking a
422
tree hierarchy, but over time made less efficient because the path
423
needs to be flattened, e.g. to be compared with another path that
481
- is already flat. Remove the API and rewrite its users to simplify
482
- overall code complexity.
424
+ is already flat. The API has been removed and its users have been
425
+ rewritten to simplify the overall code complexity.
426
484
- Will merge to 'next'.
427
+ Will merge to 'master'.
428
429
430
* nd/icase (2016-02-15) 12 commits
@@ -500,10 +443,12 @@ repositories listed at
443
444
"git grep -i" has been taught to fold case in non-ascii locales.
445
446
+ Comments?
447
($gmane/286137)
448
449
506
-* tb/conversion (2016-02-10) 6 commits
450
+* tb/conversion (2016-02-21) 7 commits
451
+ - convert.c: correct attr_action()
452
(merged to 'next' on 2016-02-12 at 6faf27b)
453
+ convert.c: simplify text_stat
454
+ convert.c: refactor crlf_action
@@ -512,11 +457,8 @@ repositories listed at
457
+ convert.c: remove unused parameter 'path'
458
+ t0027: add tests for get_stream_filter()
459
515
- Will be rerolled.
516
- ($gmane/286219)
517
-
460
519
-* sb/submodule-parallel-update (2016-02-13) 7 commits
461
+* sb/submodule-parallel-update (2016-02-19) 7 commits
462
- clone: allow an explicit argument for parallel submodule clones
463
- submodule update: expose parallelism to the user
464
- git submodule update: have a dedicated helper for cloning
@@ -530,58 +472,62 @@ repositories listed at
472
advantage of the recently added framework to run download tasks in
473
parallel.
474
533
- Comments?
475
535
-
536
-* dt/refs-backend-lmdb (2016-02-13) 22 commits
476
+* dt/refs-backend-lmdb (2016-02-19) 28 commits
477
+ - tests: add ref-storage argument
478
- refs: tests for lmdb backend
479
- refs: add LMDB refs storage backend
480
- refs: add register_ref_storage_backends()
481
- svn: learn ref-storage argument
482
- clone: allow ref storage backend to be set for clone
542
- - refs: check submodules ref storage config
483
+ - refs: check submodules' ref storage config
484
- init: allow alternate ref strorage to be set for new repos
485
- refs: always handle non-normal refs in files backend
486
- refs: resolve symbolic refs first
487
+ - refs: on symref reflog expire, lock symref not referrent
488
+ - refs: don't dereference on rename
489
- refs: allow log-only updates
490
- refs: move duplicate check to common code
491
- refs: make lock generic
492
+ - refs: forbid cross-backend ref renames
493
- refs: add method to rename refs
494
- refs: add methods to init refs db
495
- refs: add method for delete_refs
496
- refs: add method for initial ref transaction commit
497
- refs: add methods for reflog
498
- refs: add do_for_each_per_worktree_ref
555
- - refs: add methods for the ref iterators
499
+ - refs: add method for do_for_each_ref
500
- refs: add methods for misc ref operations
501
- refs: add a backend method structure with transaction functions
502
+ - refs: move for_each_*ref* functions into common code
503
+ - refs: move head_ref{,_submodule} to the common code
504
- Merge branch 'sb/submodule-parallel-update' into dt/refs-backend-lmdb
505
(this branch uses sb/submodule-parallel-update; is tangled with sb/submodule-init.)
506
507
Building on top of a few refs-backend preparatory series, LMDB
508
based refs backend has been plugged into the system.
509
564
- Will be rerolled.
565
- ($gmane/285604)
510
+ ($gmane/286572)
511
512
513
* kn/ref-filter-atom-parsing (2016-02-17) 11 commits
569
- - ref-filter: introduce objectname_atom_parser()
570
- - ref-filter: introduce contents_atom_parser()
571
- - ref-filter: introduce remote_ref_atom_parser()
572
- - ref-filter: align: introduce long-form syntax
573
- - ref-filter: introduce align_atom_parser()
574
- - ref-filter: introduce parse_align_position()
575
- - ref-filter: introduce color_atom_parser()
576
- - ref-filter: introduce parsing functions for each valid atom
577
- - ref-filter: introduce struct used_atom
578
- - ref-filter: bump 'used_atom' and related code to the top
579
- - ref-filter: use string_list_split over strbuf_split
580
-
581
- Refactoring of ref-filter's format-parsing code, in preparation
582
- for "branch --format" and friends.
514
+ (merged to 'next' on 2016-02-18 at 9606218)
515
+ + ref-filter: introduce objectname_atom_parser()
516
+ + ref-filter: introduce contents_atom_parser()
517
+ + ref-filter: introduce remote_ref_atom_parser()
518
+ + ref-filter: align: introduce long-form syntax
519
+ + ref-filter: introduce align_atom_parser()
520
+ + ref-filter: introduce parse_align_position()
521
+ + ref-filter: introduce color_atom_parser()
522
+ + ref-filter: introduce parsing functions for each valid atom
523
+ + ref-filter: introduce struct used_atom
524
+ + ref-filter: bump 'used_atom' and related code to the top
525
+ + ref-filter: use string_list_split over strbuf_split
526
584
- Will merge to 'next'.
527
+ The ref-filter's format-parsing code has been refactored, in
528
+ preparation for "branch --format" and friends.
529
+
530
+ Will merge to 'master'.
531
532
533
* ad/cygwin-wants-rename (2015-08-07) 1 commit
@@ -624,3 +570,38 @@ repositories listed at
570
571
bc/http-empty-auth satisfies the original need that triggered this
572
topic better.
573
+
574
+
575
+* ep/format-printf (2016-02-11) 22 commits
576
+ . wt-status.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
577
+ . utf8.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
578
+ . transport-helper.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
579
+ . trace.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
580
+ . strbuf.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
581
+ . remote.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
582
+ . pkt-line.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
583
+ . merge-recursive.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
584
+ . imap-send.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
585
+ . http-backend.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
586
+ . fsck.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
587
+ . daemon.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
588
+ . config.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
589
+ . color.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
590
+ . cache.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
591
+ . builtin/upload-archive.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
592
+ . builtin/update-index.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
593
+ . builtin/receive-pack.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
594
+ . builtin/index-pack.c: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
595
+ . argv-array.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
596
+ . advice.h: use the FORMAT_PRINTF macro to declare the gcc function attribute 'format printf'
597
+ . git-compat-util.h: add the FORMAT_PRINTF macro
598
+
599
+ Replace __attribute__((format(printf, a, b))) with
600
+ FORMAT_PRINTF(a,b) everywhere in the code.
601
+
602
+ It would be a different story if another compiler had the same
603
+ feature implemented using a different syntax, in which case we
604
+ could use conditionally #define what FORMAT_PRINTF(a,b) expands to,
605
+ but because we do not have such a compiler supported, this change
606
+ is a net negative, churning the code without buying us anything
607
+ (yet).