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).