What's cooking (2015/08 #04)

Junio C Hamano committed Aug 25, 2015 at 16:21 UTC a41223870171cf93d4f9bb7d33bdb030974dccbf
1 file changed +546 -412
whats-cooking.txt
+546 -412
@@ -1,20 +1,16 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Aug 2015, #03; Mon, 17)
4 -X-master-at: 44e02239f41177b6a7567e86db2cd18f7949d941
5 -X-next-at: ab17608326e73d8e92eba73c51dac99aa92984ba
3 +Subject: What's cooking in git.git (Aug 2015, #04; Tue, 25)
4 +X-master-at: 33f2c4ff7b9ac02cd9010d504e847b912b35baf6
5 +X-next-at: f2c83a76d16e5fd4c4f2e37c6ad65b3ba13dc31e
6
7 -What's cooking in git.git (Aug 2015, #03; Mon, 17)
7 +What's cooking in git.git (Aug 2015, #04; Tue, 25)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
12 '+' are in 'next'.
13
14 -The second batch of topics have graduated to 'master'. Most
15 -notably, the rewritten "git am" is in. Also "worktree add" is
16 -getting improved.
17 -
14 You can find the changes described here in the integration branches
15 of the repositories listed at
16
@@ -23,111 +19,415 @@ of the repositories listed at
19 --------------------------------------------------
20 [Graduated to "master"]
21
26 -* dt/untracked-sparse (2015-07-31) 1 commit
27 - (merged to 'next' on 2015-08-12 at 234434d)
28 - + untracked-cache: support sparse checkout
29 - (this branch is used by dt/untracked-subdir.)
22 +* cb/open-noatime-clear-errno (2015-08-12) 1 commit
23 + (merged to 'next' on 2015-08-17 at 6aa43a1)
24 + + git_open_noatime: return with errno=0 on success
25 +
26 + When trying to see that an object does not exist, a state errno
27 + leaked from our "first try to open a packfile with O_NOATIME and
28 + then if it fails retry without it" logic on a system that refuses
29 + O_NOATIME. This confused us and caused us to die, saying that the
30 + packfile is unreadable, when we should have just reported that the
31 + object does not exist in that packfile to the caller.
32 +
33 +
34 +* dt/notes-multiple (2015-08-11) 2 commits
35 + (merged to 'next' on 2015-08-12 at 0052055)
36 + + notes: handle multiple worktrees
37 + + worktrees: add find_shared_symref
38 +
39 + When linked worktree is used, simultaneous "notes merge" instances
40 + for the same ref in refs/notes/* are prevented from stomping on
41 + each other.
42 +
43 +
44 +* dt/refs-pseudo (2015-08-11) 6 commits
45 + (merged to 'next' on 2015-08-12 at 7078eb6)
46 + + pseudoref: check return values from read_ref()
47 + (merged to 'next' on 2015-08-03 at 3eafd33)
48 + + sequencer: replace write_cherry_pick_head with update_ref
49 + + bisect: use update_ref
50 + + pseudorefs: create and use pseudoref update and delete functions
51 + + refs: add ref_type function
52 + + refs: introduce pseudoref and per-worktree ref concepts
53 +
54 + To prepare for allowing a different "ref" backend to be plugged in
55 + to the system, update_ref()/delete_ref() have been taught about
56 + ref-like things like MERGE_HEAD that are per-worktree (they will
57 + always be written to the filesystem inside $GIT_DIR).
58 +
59 +
60 +* ee/clean-remove-dirs (2015-08-11) 1 commit
61 + (merged to 'next' on 2015-08-12 at fc41b09)
62 + + t7300-clean: require POSIXPERM for chmod 0 test
63 +
64 + Test updates for Windows.
65 +
66 +
67 +* jc/finalize-temp-file (2015-08-10) 1 commit
68 + (merged to 'next' on 2015-08-12 at 6fe62fe)
69 + + sha1_file.c: rename move_temp_to_file() to finalize_object_file()
70 +
71 + Long overdue micro clean-up.
72 +
73 +
74 +* jh/strbuf-read-use-read-in-full (2015-08-10) 1 commit
75 + (merged to 'next' on 2015-08-12 at db16247)
76 + + strbuf_read(): skip unnecessary strbuf_grow() at eof
77
31 - Allow untracked cache (experimental) to be used when sparse
32 - checkout (experimental) is also in use.
78 + strbuf_read() used to have one extra iteration (and an unnecessary
79 + strbuf_grow() of 8kB), which was eliminated.
80
81
35 -* kd/pull-rebase-autostash (2015-07-22) 1 commit
36 - (merged to 'next' on 2015-08-12 at de88e8e)
37 - + pull: allow dirty tree when rebase.autostash enabled
82 +* jk/git-path (2015-08-10) 16 commits
83 + (merged to 'next' on 2015-08-12 at 7ebe864)
84 + + memoize common git-path "constant" files
85 + + get_repo_path: refactor path-allocation
86 + + find_hook: keep our own static buffer
87 + + refs.c: remove_empty_directories can take a strbuf
88 + + refs.c: avoid git_path assignment in lock_ref_sha1_basic
89 + + refs.c: avoid repeated git_path calls in rename_tmp_log
90 + + refs.c: simplify strbufs in reflog setup and writing
91 + + path.c: drop git_path_submodule
92 + + refs.c: remove extra git_path calls from read_loose_refs
93 + + remote.c: drop extraneous local variable from migrate_file
94 + + prefer mkpathdup to mkpath in assignments
95 + + prefer git_pathdup to git_path in some possibly-dangerous cases
96 + + add_to_alternates_file: don't add duplicate entries
97 + + t5700: modernize style
98 + + cache.h: complete set of git_path_submodule helpers
99 + + cache.h: clarify documentation for git_path, et al
100 + (this branch is used by sb/submodule-helper.)
101
39 - "git pull --rebase" has been taught to pay attention to
40 - rebase.autostash configuration.
102 + git_path() and mkpath() are handy helper functions but it is easy
103 + to misuse, as the callers need to be careful to keep the number of
104 + active results below 4. Their uses have been reduced.
105
106
43 -* mh/get-remote-group-fix (2015-07-28) 4 commits
44 - (merged to 'next' on 2015-08-12 at b77820e)
45 - + get_remote_group(): use skip_prefix()
46 - + get_remote_group(): eliminate superfluous call to strcspn()
47 - + get_remote_group(): rename local variable "space" to "wordlen"
48 - + get_remote_group(): handle remotes with single-character names
107 +* jk/guess-repo-name-regression-fix (2015-08-10) 2 commits
108 + (merged to 'next' on 2015-08-12 at 4cba33c)
109 + + clone: use computed length in guess_dir_name
110 + + clone: add tests for output directory
111 + (this branch is used by ps/guess-repo-name-at-root.)
112
50 - An off-by-one error made "git remote" to mishandle a remote with a
51 - single letter nickname.
113 + "git clone $URL" in recent releases of Git contains a regression in
114 + the code that invents a new repository name incorrectly based on
115 + the $URL. This has been corrected.
116 +
117 +
118 +* jk/long-error-messages (2015-08-11) 2 commits
119 + (merged to 'next' on 2015-08-12 at 36303cd)
120 + + vreportf: avoid intermediate buffer
121 + + vreportf: report to arbitrary filehandles
122 +
123 + The codepath to produce error messages had a hard-coded limit to
124 + the size of the message, primarily to avoid memory allocation while
125 + calling die().
126 +
127 +
128 +* jk/negative-hiderefs (2015-08-07) 2 commits
129 + (merged to 'next' on 2015-08-12 at bdc478d)
130 + + refs: support negative transfer.hideRefs
131 + + docs/config.txt: reorder hideRefs config
132 +
133 + A negative !ref entry in multi-value transfer.hideRefs
134 + configuration can be used to say "don't hide this one".
135
136
54 -* ta/docfix-index-format-tech (2015-07-28) 1 commit
55 - (merged to 'next' on 2015-08-12 at 662d88a)
56 - + typofix for index-format.txt
137 +* jk/test-with-x (2015-08-07) 2 commits
138 + (merged to 'next' on 2015-08-12 at 06576a1)
139 + + test-lib: disable trace when test is not verbose
140 + + test-lib: turn off "-x" tracing during chain-lint check
141 +
142 + Running tests with the "-x" option to make them verbose had some
143 + unpleasant interactions with other features of the test suite.
144 +
145 +
146 +* mh/tempfile (2015-08-12) 16 commits
147 + (merged to 'next' on 2015-08-12 at 80efcb7)
148 + + credential-cache--daemon: use tempfile module
149 + + credential-cache--daemon: delete socket from main()
150 + + gc: use tempfile module to handle gc.pid file
151 + + lock_repo_for_gc(): compute the path to "gc.pid" only once
152 + + diff: use tempfile module
153 + + setup_temporary_shallow(): use tempfile module
154 + + write_shared_index(): use tempfile module
155 + + register_tempfile(): new function to handle an existing temporary file
156 + + tempfile: add several functions for creating temporary files
157 + + prepare_tempfile_object(): new function, extracted from create_tempfile()
158 + + tempfile: a new module for handling temporary files
159 + + commit_lock_file(): use get_locked_file_path()
160 + + lockfile: add accessor get_lock_file_path()
161 + + lockfile: add accessors get_lock_file_fd() and get_lock_file_fp()
162 + + create_bundle(): duplicate file descriptor to avoid closing it twice
163 + + lockfile: move documentation to lockfile.h and lockfile.c
164 +
165 + The "lockfile" API has been rebuilt on top of a new "tempfile" API.
166 +
167 +
168 +* mm/pull-upload-pack (2015-07-30) 1 commit
169 + (merged to 'next' on 2015-08-12 at 14d2a52)
170 + + pull.sh: quote $upload_pack when passing it to git-fetch
171 +
172 + "git pull" in recent releases of Git has a regression in the code
173 + that allows custom path to the --upload-pack=<program>. This has
174 + been corrected.
175 +
176 + Note that this is irrelevant for 'master' with "git pull" rewritten
177 + in C.
178 +
179 +
180 +* nd/dwim-wildcards-as-pathspecs (2015-08-11) 1 commit
181 + (merged to 'next' on 2015-08-12 at bb73f4d)
182 + + t2019: skip test requiring '*' in a file name non Windows
183 +
184 + Test updates for Windows.
185 +
186 +
187 +* ps/guess-repo-name-at-root (2015-08-10) 3 commits
188 + (merged to 'next' on 2015-08-12 at 088860f)
189 + + clone: abort if no dir name could be guessed
190 + + clone: do not use port number as dir name
191 + + clone: do not include authentication data in guessed dir
192 + (this branch uses jk/guess-repo-name-regression-fix.)
193 +
194 + "git clone $URL", when cloning from a site whose sole purpose is to
195 + host a single repository (hence, no path after <scheme>://<site>/),
196 + tried to use the site name as the new repository name, but did not
197 + remove username or password when <site> part was of the form
198 + <user>@<pass>:<host>. The code is taught to redact these.
199 +
200 +
201 +* ps/t1509-chroot-test-fixup (2015-08-05) 2 commits
202 + (merged to 'next' on 2015-08-12 at 6d10ea5)
203 + + tests: fix cleanup after tests in t1509-root-worktree
204 + + tests: fix broken && chains in t1509-root-worktree
205 +
206 + t1509 test that requires a dedicated VM environment had some
207 + bitrot, which has been corrected.
208 +
209 +
210 +* pt/am-builtin-options (2015-08-12) 3 commits
211 + (merged to 'next' on 2015-08-12 at e57f754)
212 + + am: let --signoff override --no-signoff
213 + + am: let command-line options override saved options
214 + + test_terminal: redirect child process' stdin to a pty
215 + (this branch is used by jc/am-state-fix.)
216 +
217 + After "git am --opt1" stops, running "git am --opt2" pays attention
218 + to "--opt2" only for the patch that caused the original invocation
219 + to stop.
220 +
221 +
222 +* sb/check-return-from-read-ref (2015-08-03) 1 commit
223 + (merged to 'next' on 2015-08-12 at 4a1c801)
224 + + transport-helper: die on errors reading refs.
225 +
226 +
227 +* tb/complete-rebase-i-edit-todo (2015-08-05) 1 commit
228 + (merged to 'next' on 2015-08-12 at 9606c21)
229 + + completion: offer '--edit-todo' during interactive rebase
230 +
231 + The command-line completion script (in contrib/) has been updated.
232
233 --------------------------------------------------
234 [New Topics]
235
61 -* db/push-sign-if-asked (2015-08-17) 7 commits
62 - - DONTMERGE: dropped bits to add config; needs tests
63 - - push: support signed pushes iff the server supports it
64 - - transport: remove git_transport_options.push_cert
65 - - gitremote-helpers.txt: document pushcert option
66 - - Documentation/git-send-pack.txt: document --signed
67 - - Documentation/git-send-pack.txt: wrap long synopsis line
68 - - Documentation/git-push.txt: document when --signed may fail
236 +* dt/untracked-sparse (2015-08-19) 1 commit
237 + (merged to 'next' on 2015-08-25 at 2501a7e)
238 + + t7063: use --force-untracked-cache to speed up a bit
239 + (this branch is used by dt/untracked-subdir.)
240
70 - The client side codepaths in "git push" have been cleaned up
71 - and the user can request to perform an optional "signed push",
72 - i.e. sign only when the other end accepts signed push.
241 + Test update.
242
74 - Expecting a reroll.
243 + Will merge to 'master'.
244
245
77 -* dk/gc-idx-wo-pack (2015-08-17) 3 commits
78 - - DONTMERGE: log message, grace-period and tests $gmane/276058
79 - - gc: remove stale .idx files without corresponding .pack file
80 - - prepare_packed_git(): refactor garbage reporting in pack directory
246 +* as/docfix-reflog-expire-unreachable (2015-08-21) 1 commit
247 + (merged to 'next' on 2015-08-25 at eb75d55)
248 + + Documentation/config: fix inconsistent label on gc.*.reflogExpireUnreachable
249
82 - Having a leftover .idx file without correspoinding .pack file in
83 - the repository hurts performance; "git gc" learned to prune them.
250 + Will merge to 'master'.
251
85 - Expecting a reroll.
252
253 +* cc/trailers-corner-case-fix (2015-08-21) 1 commit
254 + (merged to 'next' on 2015-08-25 at ac25d80)
255 + + trailer: ignore first line of message
256
88 -* ep/http-configure-ssl-version (2015-08-17) 1 commit
89 - - http: add support for specifying the SSL version
257 + "interpret-trailers" helper mistook a single-liner log message that
258 + has a colon as the end of existing trailer.
259
91 - A new configuration variable http.sslVersion can be used to specify
92 - what specific version of SSL/TLS to use to make a connection.
260 + Will merge to 'master'.
261
94 - Will merge to 'next'.
262
263 +* jc/am-state-fix (2015-08-25) 5 commits
264 + (merged to 'next' on 2015-08-25 at 4efcd88)
265 + + write_file(): drop caller-supplied LF from calls to create a one-liner file
266 + + write_file_v(): do not leave incomplete line at the end
267 + + write_file(): drop "fatal" parameter
268 + + builtin/am: make sure state files are text
269 + + builtin/am: introduce write_state_*() helper functions
270
97 -* jv/send-email-selective-smtp-auth (2015-08-17) 1 commit
98 - - send-email: provide whitelist of SMTP AUTH mechanisms
271 + Recent reimplementation of "git am" changed the format of state
272 + files kept in $GIT_DIR/rebase-apply/ without meaning to do so,
273 + primarily because write_file() API was cumbersome to use and it was
274 + easy to mistakenly make text files with incomplete lines. Update
275 + write_file() interface to make it harder to misuse.
276
100 - "git send-email" learned a new option --smtp-auth to limit the SMTP
101 - AUTH mechanisms to be used to a subset of what the system library
102 - supports.
277 + Will merge to 'master'.
278
104 - Will merge to 'next'.
279
280 +* jc/calloc-pathspec (2015-08-20) 1 commit
281 + (merged to 'next' on 2015-08-25 at 877490c)
282 + + ps_matched: xcalloc() takes nmemb and then element size
283
107 -* po/po-readme (2015-08-17) 1 commit
108 - - po/README: Update directions for l10n contributors
284 + Will merge to 'master'.
285
110 - Will merge to 'next'.
286
287 +* jc/log-p-cc (2015-08-25) 4 commits
288 + (merged to 'next' on 2015-08-25 at 2d6a6d4)
289 + + builtin/log.c: minor reformat
290 + + log: show merge commit when --cc is given
291 + + log: when --cc is given, default to -p unless told otherwise
292 + + log: rename "tweak" helpers
293
113 -* pt/am-builtin-abort-fix (2015-08-17) 1 commit
114 - - am --abort: merge ORIG_HEAD tree into index
294 + "git log --cc" did not show any patch, even though most of the time
295 + the user meant "git log --cc -p -m" to see patch output for commits
296 + with a single parent, and combined diff for merge commits. The
297 + command is taught to DWIM "--cc" (without "--raw" and other forms
298 + of output specification) to "--cc -p -m".
299
116 - "git am" that has recently reimplemented in C had a performance
117 - regression in "git am --abort" that goes back to the version before
118 - an attempted (and failed) patch application.
300 + Will merge to 'master'.
301 +
302 +
303 +* jk/fix-alias-pager-config-key-warnings (2015-08-24) 1 commit
304 + (merged to 'next' on 2015-08-25 at 89eac5a)
305 + + config: silence warnings for command names with invalid keys
306 +
307 + Because the configuration system does not allow "alias.0foo" and
308 + "pager.0foo" as the configuration key, the user cannot use '0foo'
309 + as a custom command name anyway, but "git 0foo" tried to look these
310 + keys up and emitted useless warnings before saying '0foo is not a
311 + git command'. These warning messages have been squelched.
312 +
313 + Will merge to 'master'.
314 +
315 +
316 +* jk/rev-list-has-no-notes (2015-08-24) 1 commit
317 + (merged to 'next' on 2015-08-25 at 73cb2ad)
318 + + rev-list: make it obvious that we do not support notes
319 +
320 + "git rev-list" does not take "--notes" option, but did not complain
321 + when one is given.
322 +
323 + Will merge to 'master'.
324 +
325 +
326 +* kn/for-each-tag (2015-08-25) 15 commits
327 + - SQUASH??? a tag longer than 15 bytes break alignment but keeps SP before the message
328 + - tag.c: implement '--merged' and '--no-merged' options
329 + - tag.c: implement '--format' option
330 + - tag.c: use 'ref-filter' APIs
331 + - tag.c: use 'ref-filter' data structures
332 + - ref-filter: add option to match literal pattern
333 + - ref-filter: add support to sort by version
334 + - ref-filter: support printing N lines from tag annotation
335 + - ref-filter: add option to filter out tags, branches and remotes
336 + - ref-filter: implement an `align` atom
337 + - utf8: add function to align a string into given strbuf
338 + - ref-filter: introduce ref_formatting_state and ref_formatting_stack
339 + - ref-filter: move `struct atom_value` to ref-filter.c
340 + - Merge 'jk/git-path' into kn/for-each-tag
341 + - Merge 'kn/for-each-tag-branch' into kn/for-each-tag
342 + (this branch uses kn/for-each-tag-branch.)
343 +
344 + The "ref-filter" code was taught about many parts of what "tag -l"
345 + does and then "tag -l" is reimplemented in terms of "ref-filter".
346 +
347 + Almost there...
348 +
349 +
350 +* nd/fixup-linked-gitdir (2015-08-25) 1 commit
351 + - setup: update the right file in multiple checkouts
352 +
353 + The code in "multiple-worktree" support that attempted to recover
354 + from an inconsistent state updated an incorrect file.
355
356 Will merge to 'next'.
357
358
123 -* ss/fix-config-fd-leak (2015-08-14) 1 commit
124 - - config: close config file handle in case of error
359 +* nd/ita-cleanup (2015-08-25) 6 commits
360 + - grep: make it clear i-t-a entries are ignored
361 + - checkout(-index): do not checkout i-t-a entries
362 + - apply: make sure check_preimage() does not leave empty file on error
363 + - apply: fix adding new files on i-t-a entries
364 + - Add and use convenient macro ce_intent_to_add()
365 + - blame: remove obsolete comment
366 +
367 + Paths that have been told the index about with "add -N" are not yet
368 + in the index, but various commands behaved as if they already are.
369 +
370 + Some commits need better explanation.
371 +
372 + Waiting for a reroll.
373 +
374 +
375 +* sg/describe-contains (2015-08-25) 1 commit
376 + - describe --contains: default to HEAD when no commit-ish is given
377 +
378 + "git describe" without argument defaulted to describe the HEAD
379 + commit, but "git describe --contains" didn't. Arguably, in a
380 + repository used for active development, such defaulting would not
381 + be very useful as the tip of branch is typically not tagged, but it
382 + is better to be consistent.
383
384 Will merge to 'next'.
385
386 +
387 +* sg/help-group (2015-08-25) 1 commit
388 + (merged to 'next' on 2015-08-25 at 907e5a8)
389 + + generate-cmdlist: re-implement as shell script
390 +
391 + We rewrote one of the build scripts in Perl but this reimplements
392 + in Bourne shell.
393 +
394 + Will merge to 'master'.
395 +
396 +
397 +* sg/t3020-typofix (2015-08-20) 1 commit
398 + (merged to 'next' on 2015-08-25 at 051d6c0)
399 + + t3020: fix typo in test description
400 +
401 + Will merge to 'master'.
402 +
403 +
404 +* sg/wt-status-header-inclusion (2015-08-21) 1 commit
405 + (merged to 'next' on 2015-08-25 at fa5b2b2)
406 + + wt-status: move #include "pathspec.h" to the header
407 +
408 + Will merge to 'master'.
409 +
410 --------------------------------------------------
411 [Stalled]
412
413 +* sb/remove-get-pathspec (2015-08-03) 1 commit
414 + - builtin/mv: remove get_pathspec()
415 +
416 + Will discard.
417 + ($gmane/276104)
418 +
419 +
420 +* mk/submodule-gitdir-path (2015-08-05) 2 commits
421 + - path: implement common_dir handling in git_path_submodule()
422 + - submodule refactor: use git_path_submodule() in add_submodule_odb()
423 +
424 + The submodule code has been taught to work better with separate
425 + work trees created via "git worktree add".
426 +
427 + Waiting for a review.
428 + ($gmane/275340).
429 +
430 +
431 * nd/list-files (2015-02-09) 21 commits
432 - t3080: tests for git-list-files
433 - list-files: -M aka diff-cached
@@ -235,19 +535,6 @@ of the repositories listed at
535 Expecting a reroll.
536
537
238 -* hv/submodule-config (2015-06-15) 4 commits
239 - - do not die on error of parsing fetchrecursesubmodules option
240 - - use new config API for worktree configurations of submodules
241 - - extract functions for submodule config set and lookup
242 - - implement submodule config API for lookup of .gitmodules values
243 -
244 - The gitmodules API accessed from the C code learned to cache stuff
245 - lazily.
246 -
247 - Needs another reroll?
248 - ($gmane/273743)
249 -
250 -
538 * jk/log-missing-default-HEAD (2015-06-03) 1 commit
539 - log: diagnose empty HEAD more clearly
540
@@ -293,417 +580,259 @@ of the repositories listed at
580 - bisect: allow setting any user-specified in 'git bisect start'
581 - bisect: add 'git bisect terms' to view the current terms
582 - bisect: add the terms old/new
296 - - bisect: sanity check on terms
297 -
298 - The use of 'good/bad' in "git bisect" made it confusing to use when
299 - hunting for a state change that is not a regression (e.g. bugfix).
300 - The command learned 'old/new' and then allows the end user to
301 - say e.g. "bisect start --term-old=fast --term=new=slow" to find a
302 - performance regression.
303 -
304 - Michael's idea to make 'good/bad' more intelligent does have
305 - certain attractiveness ($gname/272867), and makes some of the work
306 - on this topic a moot point.
307 -
308 - Will hold.
309 -
310 -
311 -* mh/notes-allow-reading-treeish (2015-07-13) 1 commit
312 - - notes: allow treeish expressions as notes ref
313 -
314 - Some "git notes" operations, e.g. "git log --notes=<note>", should
315 - be able to read notes from any tree-ish that is shaped like a notes
316 - tree, but the notes infrastructure required that the argument must
317 - be a ref under refs/notes/. Loosen it to require a valid ref only
318 - when the operation would update the notes (in which case we must
319 - have a place to store the updated notes tree, iow, a ref).
320 -
321 - Needs update to docs.
322 - ($gmane/273928)
323 -
324 -
325 -* jc/diff-b-m (2015-02-23) 5 commits
326 - . WIPWIP
327 - . WIP: diff-b-m
328 - - diffcore-rename: allow easier debugging
329 - - diffcore-rename.c: add locate_rename_src()
330 - - diffcore-break: allow debugging
331 -
332 - "git diff -B -M" produced incorrect patch when the postimage of a
333 - completely rewritten file is similar to the preimage of a removed
334 - file; such a resulting file must not be expressed as a rename from
335 - other place.
336 -
337 - The fix in this patch is broken, unfortunately.
338 -
339 -
340 -* pw/remote-set-url-fetch (2014-11-26) 1 commit
341 - . remote: add --fetch and --both options to set-url
342 -
343 - Ejected.
344 -
345 -
346 -* tr/remerge-diff (2014-11-10) 9 commits
347 - - t4213: avoid "|" in sed regexp
348 - - log --remerge-diff: show what the conflict resolution changed
349 - - name-hash: allow dir hashing even when !ignore_case
350 - - merge-recursive: allow storing conflict hunks in index
351 - - merge_diff_mode: fold all merge diff variants into an enum
352 - - combine-diff: do not pass revs->dense_combined_merges redundantly
353 - - merge-recursive: -Xindex-only to leave worktree unchanged
354 - - merge-recursive: internal flag to avoid touching the worktree
355 - - merge-recursive: remove dead conditional in update_stages()
356 -
357 - "log -p" output learns a new way to let users inspect a merge
358 - commit by showing the differences between the automerged result
359 - with conflicts the person who recorded the merge would have seen
360 - and the final conflict resolution that was recorded in the merge.
361 -
362 - Waiting for a reroll.
363 - ($gmane/256591).
364 -
365 -
366 -* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
367 - - perf-lib: add test_perf_cleanup target
368 - - perf-lib: split starting the test from the execution
369 -
370 - Add test_perf_cleanup shell function to the perf suite, that allows
371 - the script writers to define a test with a clean-up action.
372 -
373 - Will hold.
374 -
375 -
376 -* jc/show-branch (2014-03-24) 5 commits
377 - - show-branch: use commit slab to represent bitflags of arbitrary width
378 - - show-branch.c: remove "all_mask"
379 - - show-branch.c: abstract out "flags" operation
380 - - show-branch.c: lift all_mask/all_revs to a global static
381 - - show-branch.c: update comment style
382 -
383 - Waiting for the final step to lift the hard-limit.
384 -
385 ---------------------------------------------------
386 -[Cooking]
387 -
388 -* bb/remote-get-url (2015-08-05) 1 commit
389 - - remote: add get-url subcommand
390 -
391 - "git remote" learned "get-url" subcommand to show the URL for a
392 - given remote name used for fetching and pushing.
393 -
394 - Waiting for a reroll.
395 - ($gmane/275401)
396 -
397 -
398 -* cb/open-noatime-clear-errno (2015-08-12) 1 commit
399 - (merged to 'next' on 2015-08-17 at 6aa43a1)
400 - + git_open_noatime: return with errno=0 on success
401 -
402 - When trying to see that an object does not exist, a state errno
403 - leaked from our "first try to open a packfile with O_NOATIME and
404 - then if it fails retry without it" logic on a system that refuses
405 - O_NOATIME. This confused us and caused us to die, saying that the
406 - packfile is unreadable, when we should have just reported that the
407 - object does not exist in that packfile to the caller.
408 -
409 - Will merge to 'master'.
410 -
411 -
412 -* jk/guess-repo-name-regression-fix (2015-08-10) 2 commits
413 - (merged to 'next' on 2015-08-12 at 4cba33c)
414 - + clone: use computed length in guess_dir_name
415 - + clone: add tests for output directory
416 - (this branch is used by ps/guess-repo-name-at-root.)
417 -
418 - "git clone $URL" in recent releases of Git contains a regression in
419 - the code that invents a new repository name incorrectly based on
420 - the $URL. This has been corrected.
421 -
422 - Will merge to 'master'.
423 -
424 -
425 -* ps/guess-repo-name-at-root (2015-08-10) 3 commits
426 - (merged to 'next' on 2015-08-12 at 088860f)
427 - + clone: abort if no dir name could be guessed
428 - + clone: do not use port number as dir name
429 - + clone: do not include authentication data in guessed dir
430 - (this branch uses jk/guess-repo-name-regression-fix.)
431 -
432 - "git clone $URL", when cloning from a site whose sole purpose is to
433 - host a single repository (hence, no path after <scheme>://<site>/),
434 - tried to use the site name as the new repository name, but did not
435 - remove username or password when <site> part was of the form
436 - <user>@<pass>:<host>. The code is taught to redact these.
437 -
438 - Will merge to 'master'.
439 -
440 -
441 -* jk/notes-merge-config (2015-08-14) 4 commits
442 - - notes: teach git-notes about notes.<ref>.mergestrategy option
443 - - notes: add notes.mergestrategy option to select default strategy
444 - - notes: add tests for --commit/--abort/--strategy exclusivity
445 - - notes: document cat_sort_uniq rewriteMode
446 -
447 - "git notes merge" can be told with "--strategy=<how>" option how to
448 - automatically handle conflicts; this can now be configured by
449 - setting notes.merge configuration variable.
450 -
451 - The latest reroll (v8) hasn't been picked up.
452 - Expecting a reroll.
453 - ($gmane/276068)
454 -
455 -
456 -* mk/submodule-gitdir-path (2015-08-05) 2 commits
457 - - path: implement common_dir handling in git_path_submodule()
458 - - submodule refactor: use git_path_submodule() in add_submodule_odb()
459 -
460 - The submodule code has been taught to work better with separate
461 - work trees created via "git worktree add".
462 -
463 - Waiting for a review.
464 - ($gmane/275340).
583 + - bisect: sanity check on terms
584
585 + The use of 'good/bad' in "git bisect" made it confusing to use when
586 + hunting for a state change that is not a regression (e.g. bugfix).
587 + The command learned 'old/new' and then allows the end user to
588 + say e.g. "bisect start --term-old=fast --term=new=slow" to find a
589 + performance regression.
590
467 -* mm/pull-upload-pack (2015-07-30) 1 commit
468 - (merged to 'next' on 2015-08-12 at 14d2a52)
469 - + pull.sh: quote $upload_pack when passing it to git-fetch
591 + Michael's idea to make 'good/bad' more intelligent does have
592 + certain attractiveness ($gname/272867), and makes some of the work
593 + on this topic a moot point.
594
471 - "git pull" in recent releases of Git has a regression in the code
472 - that allows custom path to the --upload-pack=<program>. This has
473 - been corrected.
595 + Will hold.
596
475 - Will merge to 'maint'.
597
477 - Note that this is irrelevant for 'master' with "git pull" rewritten
478 - in C.
598 +* mh/notes-allow-reading-treeish (2015-07-13) 1 commit
599 + - notes: allow treeish expressions as notes ref
600
601 + Some "git notes" operations, e.g. "git log --notes=<note>", should
602 + be able to read notes from any tree-ish that is shaped like a notes
603 + tree, but the notes infrastructure required that the argument must
604 + be a ref under refs/notes/. Loosen it to require a valid ref only
605 + when the operation would update the notes (in which case we must
606 + have a place to store the updated notes tree, iow, a ref).
607
481 -* ps/t1509-chroot-test-fixup (2015-08-05) 2 commits
482 - (merged to 'next' on 2015-08-12 at 6d10ea5)
483 - + tests: fix cleanup after tests in t1509-root-worktree
484 - + tests: fix broken && chains in t1509-root-worktree
608 + Needs update to docs.
609 + ($gmane/273928)
610
486 - t1509 test that requires a dedicated VM environment had some
487 - bitrot, which has been corrected.
611
489 - Will merge to 'master'.
612 +* jc/diff-b-m (2015-02-23) 5 commits
613 + . WIPWIP
614 + . WIP: diff-b-m
615 + - diffcore-rename: allow easier debugging
616 + - diffcore-rename.c: add locate_rename_src()
617 + - diffcore-break: allow debugging
618
619 + "git diff -B -M" produced incorrect patch when the postimage of a
620 + completely rewritten file is similar to the preimage of a removed
621 + file; such a resulting file must not be expressed as a rename from
622 + other place.
623
492 -* pt/am-builtin-options (2015-08-12) 3 commits
493 - (merged to 'next' on 2015-08-12 at e57f754)
494 - + am: let --signoff override --no-signoff
495 - + am: let command-line options override saved options
496 - + test_terminal: redirect child process' stdin to a pty
624 + The fix in this patch is broken, unfortunately.
625
498 - After "git am --opt1" stops, running "git am --opt2" pays attention
499 - to "--opt2" only for the patch that caused the original invocation
500 - to stop.
626
502 - Will merge to 'master'.
627 +* pw/remote-set-url-fetch (2014-11-26) 1 commit
628 + . remote: add --fetch and --both options to set-url
629
630 + Ejected.
631
505 -* sb/remove-get-pathspec (2015-08-03) 1 commit
506 - - builtin/mv: remove get_pathspec()
632
508 - Expecting a reroll.
509 - ($gmane/275224)
633 +* tr/remerge-diff (2014-11-10) 9 commits
634 + . t4213: avoid "|" in sed regexp
635 + . log --remerge-diff: show what the conflict resolution changed
636 + . name-hash: allow dir hashing even when !ignore_case
637 + . merge-recursive: allow storing conflict hunks in index
638 + . merge_diff_mode: fold all merge diff variants into an enum
639 + . combine-diff: do not pass revs->dense_combined_merges redundantly
640 + . merge-recursive: -Xindex-only to leave worktree unchanged
641 + . merge-recursive: internal flag to avoid touching the worktree
642 + . merge-recursive: remove dead conditional in update_stages()
643
644 + "log -p" output learns a new way to let users inspect a merge
645 + commit by showing the differences between the automerged result
646 + with conflicts the person who recorded the merge would have seen
647 + and the final conflict resolution that was recorded in the merge.
648
512 -* sb/submodule-helper (2015-08-07) 1 commit
513 - - submodule: implement `module_list` as a builtin helper
649 + Waiting for a reroll.
650 + ($gmane/256591).
651
515 - The beginning of "git submodule" rewritten in C.
652
653 +* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
654 + - perf-lib: add test_perf_cleanup target
655 + - perf-lib: split starting the test from the execution
656
518 -* tb/complete-rebase-i-edit-todo (2015-08-05) 1 commit
519 - (merged to 'next' on 2015-08-12 at 9606c21)
520 - + completion: offer '--edit-todo' during interactive rebase
657 + Add test_perf_cleanup shell function to the perf suite, that allows
658 + the script writers to define a test with a clean-up action.
659
522 - The command-line completion script (in contrib/) has been updated.
660 + Will hold.
661
524 - Will merge to 'master'.
662
663 +* jc/show-branch (2014-03-24) 5 commits
664 + - show-branch: use commit slab to represent bitflags of arbitrary width
665 + - show-branch.c: remove "all_mask"
666 + - show-branch.c: abstract out "flags" operation
667 + - show-branch.c: lift all_mask/all_revs to a global static
668 + - show-branch.c: update comment style
669
527 -* dt/untracked-subdir (2015-08-07) 2 commits
528 - - DONTMERGE: wait for Duy to Ack or comment
529 - - untracked-cache: fix subdirectory handling
670 + Waiting for the final step to lift the hard-limit.
671
531 - Waiting for a review cycle to conclude.
532 - ($gmane/276019).
672 +--------------------------------------------------
673 +[Cooking]
674
675 +* db/push-sign-if-asked (2015-08-19) 9 commits
676 + - push: add a config option push.gpgSign for default signed pushes
677 + - push: support signing pushes iff the server supports it
678 + - builtin/send-pack.c: use parse_options API
679 + - config.c: rename git_config_maybe_bool_text and export it as git_parse_maybe_bool
680 + - transport: remove git_transport_options.push_cert
681 + - gitremote-helpers.txt: document pushcert option
682 + - Documentation/git-send-pack.txt: document --signed
683 + - Documentation/git-send-pack.txt: wrap long synopsis line
684 + - Documentation/git-push.txt: document when --signed may fail
685
535 -* jk/test-with-x (2015-08-07) 2 commits
536 - (merged to 'next' on 2015-08-12 at 06576a1)
537 - + test-lib: disable trace when test is not verbose
538 - + test-lib: turn off "-x" tracing during chain-lint check
686 + The client side codepaths in "git push" have been cleaned up
687 + and the user can request to perform an optional "signed push",
688 + i.e. sign only when the other end accepts signed push.
689
540 - Running tests with the "-x" option to make them verbose had some
541 - unpleasant interactions with other features of the test suite.
690 + I think this is ready for 'next', but did I miss comments that need
691 + to be addressed before it happens?
692
543 - Will merge to 'master'.
693
694 +* dk/gc-idx-wo-pack (2015-08-17) 3 commits
695 + - DONTMERGE: log message, grace-period and tests $gmane/276058
696 + - gc: remove stale .idx files without corresponding .pack file
697 + - prepare_packed_git(): refactor garbage reporting in pack directory
698
546 -* ad/cygwin-wants-rename (2015-08-07) 1 commit
547 - - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
699 + Having a leftover .idx file without correspoinding .pack file in
700 + the repository hurts performance; "git gc" learned to prune them.
701
549 - Will hold.
550 - ($gmane/275680).
702 + Expecting a reroll.
703
704
553 -* ee/clean-remove-dirs (2015-08-11) 1 commit
554 - (merged to 'next' on 2015-08-12 at fc41b09)
555 - + t7300-clean: require POSIXPERM for chmod 0 test
705 +* ep/http-configure-ssl-version (2015-08-17) 1 commit
706 + (merged to 'next' on 2015-08-19 at aab726b)
707 + + http: add support for specifying the SSL version
708
557 - Test updates for Windows.
709 + A new configuration variable http.sslVersion can be used to specify
710 + what specific version of SSL/TLS to use to make a connection.
711
712 Will merge to 'master'.
713
714
562 -* jc/finalize-temp-file (2015-08-10) 1 commit
563 - (merged to 'next' on 2015-08-12 at 6fe62fe)
564 - + sha1_file.c: rename move_temp_to_file() to finalize_object_file()
715 +* jv/send-email-selective-smtp-auth (2015-08-17) 1 commit
716 + (merged to 'next' on 2015-08-19 at 3f0c693)
717 + + send-email: provide whitelist of SMTP AUTH mechanisms
718
566 - Long overdue micro clean-up.
719 + "git send-email" learned a new option --smtp-auth to limit the SMTP
720 + AUTH mechanisms to be used to a subset of what the system library
721 + supports.
722
723 Will merge to 'master'.
724
725
571 -* jk/git-path (2015-08-10) 16 commits
572 - (merged to 'next' on 2015-08-12 at 7ebe864)
573 - + memoize common git-path "constant" files
574 - + get_repo_path: refactor path-allocation
575 - + find_hook: keep our own static buffer
576 - + refs.c: remove_empty_directories can take a strbuf
577 - + refs.c: avoid git_path assignment in lock_ref_sha1_basic
578 - + refs.c: avoid repeated git_path calls in rename_tmp_log
579 - + refs.c: simplify strbufs in reflog setup and writing
580 - + path.c: drop git_path_submodule
581 - + refs.c: remove extra git_path calls from read_loose_refs
582 - + remote.c: drop extraneous local variable from migrate_file
583 - + prefer mkpathdup to mkpath in assignments
584 - + prefer git_pathdup to git_path in some possibly-dangerous cases
585 - + add_to_alternates_file: don't add duplicate entries
586 - + t5700: modernize style
587 - + cache.h: complete set of git_path_submodule helpers
588 - + cache.h: clarify documentation for git_path, et al
589 -
590 - git_path() and mkpath() are handy helper functions but it is easy
591 - to misuse, as the callers need to be careful to keep the number of
592 - active results below 4. Their uses have been reduced.
726 +* po/po-readme (2015-08-17) 1 commit
727 + (merged to 'next' on 2015-08-19 at 1899e59)
728 + + po/README: Update directions for l10n contributors
729
730 Will merge to 'master'.
731
732
597 -* jk/long-error-messages (2015-08-11) 2 commits
598 - (merged to 'next' on 2015-08-12 at 36303cd)
599 - + vreportf: avoid intermediate buffer
600 - + vreportf: report to arbitrary filehandles
733 +* pt/am-builtin-abort-fix (2015-08-19) 1 commit
734 + (merged to 'next' on 2015-08-19 at 729e682)
735 + + am --skip/--abort: merge HEAD/ORIG_HEAD tree into index
736
602 - The codepath to produce error messages had a hard-coded limit to
603 - the size of the message, primarily to avoid memory allocation while
604 - calling die().
737 + "git am" that was recently reimplemented in C had a performance
738 + regression in "git am --abort" that goes back to the version before
739 + an attempted (and failed) patch application.
740
741 Will merge to 'master'.
742
743
609 -* nd/dwim-wildcards-as-pathspecs (2015-08-11) 1 commit
610 - (merged to 'next' on 2015-08-12 at bb73f4d)
611 - + t2019: skip test requiring '*' in a file name non Windows
612 -
613 - Test updates for Windows.
744 +* ss/fix-config-fd-leak (2015-08-14) 1 commit
745 + (merged to 'next' on 2015-08-19 at 80d4880)
746 + + config: close config file handle in case of error
747
748 Will merge to 'master'.
749
750
618 -* sg/config-name-only (2015-08-10) 2 commits
619 - (merged to 'next' on 2015-08-12 at c658fe4)
620 - + completion: list variable names reliably with 'git config --name-only'
621 - + config: add '--name-only' option to list only variable names
751 +* bb/remote-get-url (2015-08-05) 1 commit
752 + - remote: add get-url subcommand
753
623 - "git config --list" output was hard to parse when values consist of
624 - multiple lines. "--name-only" option is added to help this.
754 + "git remote" learned "get-url" subcommand to show the URL for a
755 + given remote name used for fetching and pushing.
756
626 - Will merge to 'master'.
757 + Waiting for a reroll.
758 + ($gmane/275401)
759
760
629 -* mh/tempfile (2015-08-12) 16 commits
630 - (merged to 'next' on 2015-08-12 at 80efcb7)
631 - + credential-cache--daemon: use tempfile module
632 - + credential-cache--daemon: delete socket from main()
633 - + gc: use tempfile module to handle gc.pid file
634 - + lock_repo_for_gc(): compute the path to "gc.pid" only once
635 - + diff: use tempfile module
636 - + setup_temporary_shallow(): use tempfile module
637 - + write_shared_index(): use tempfile module
638 - + register_tempfile(): new function to handle an existing temporary file
639 - + tempfile: add several functions for creating temporary files
640 - + prepare_tempfile_object(): new function, extracted from create_tempfile()
641 - + tempfile: a new module for handling temporary files
642 - + commit_lock_file(): use get_locked_file_path()
643 - + lockfile: add accessor get_lock_file_path()
644 - + lockfile: add accessors get_lock_file_fd() and get_lock_file_fp()
645 - + create_bundle(): duplicate file descriptor to avoid closing it twice
646 - + lockfile: move documentation to lockfile.h and lockfile.c
761 +* jk/notes-merge-config (2015-08-17) 6 commits
762 + - notes: teach git-notes about notes.<name>.mergeStrategy option
763 + - notes: add notes.mergeStrategy option to select default strategy
764 + - notes: add tests for --commit/--abort/--strategy exclusivity
765 + - notes: extract parse_notes_merge_strategy to notes-utils
766 + - notes: extract enum notes_merge_strategy to notes-utils.h
767 + - notes: document cat_sort_uniq rewriteMode
768
648 - The "lockfile" API has been rebuilt on top of a new "tempfile" API.
769 + "git notes merge" can be told with "--strategy=<how>" option how to
770 + automatically handle conflicts; this can now be configured by
771 + setting notes.merge configuration variable.
772
650 - Will merge to 'master'.
773 + I think this is ready for 'next', but did I miss comments that need
774 + to be addressed before it happens?
775
776
653 -* jh/strbuf-read-use-read-in-full (2015-08-10) 1 commit
654 - (merged to 'next' on 2015-08-12 at db16247)
655 - + strbuf_read(): skip unnecessary strbuf_grow() at eof
777 +* hv/submodule-config (2015-08-19) 4 commits
778 + (merged to 'next' on 2015-08-25 at 82adb30)
779 + + submodule: allow erroneous values for the fetchRecurseSubmodules option
780 + + submodule: use new config API for worktree configurations
781 + + submodule: extract functions for config set and lookup
782 + + submodule: implement a config API for lookup of .gitmodules values
783 + (this branch is used by sb/submodule-helper.)
784
657 - strbuf_read() used to have one extra iteration (and an unnecessary
658 - strbuf_grow() of 8kB), which was eliminated.
785 + The gitmodules API accessed from the C code learned to cache stuff
786 + lazily.
787
788 Will merge to 'master'.
789
790
663 -* sb/check-return-from-read-ref (2015-08-03) 1 commit
664 - (merged to 'next' on 2015-08-12 at 4a1c801)
665 - + transport-helper: die on errors reading refs.
791 +* sb/submodule-helper (2015-08-25) 7 commits
792 + - submodule: helper to run foreach in parallel
793 + - thread-utils: add a threaded task queue
794 + - FIXUP submodule: implement `module_clone` as a builtin helper
795 + - submodule: implement `module_clone` as a builtin helper
796 + - submodule: implement `module_name` as a builtin helper
797 + - submodule: implement `module_list` as a builtin helper
798 + - Merge 'hv/submodule-config' to 'sb/submodule-helper'
799 + (this branch uses hv/submodule-config.)
800
667 - Will merge to 'master'.
801 + The infrastructure to rewrite "git submodule" in C is being built
802 + incrementally. These early part looks promising.
803
804
670 -* jk/negative-hiderefs (2015-08-07) 2 commits
671 - (merged to 'next' on 2015-08-12 at bdc478d)
672 - + refs: support negative transfer.hideRefs
673 - + docs/config.txt: reorder hideRefs config
805 +* dt/untracked-subdir (2015-08-19) 2 commits
806 + (merged to 'next' on 2015-08-25 at ab4fd04)
807 + + untracked cache: fix entry invalidation
808 + + untracked-cache: fix subdirectory handling
809 + (this branch uses dt/untracked-sparse.)
810
675 - A negative !ref entry in multi-value transfer.hideRefs
676 - configuration can be used to say "don't hide this one".
811 + The experimental untracked-cache feature were buggy when paths with
812 + a few levels of subdirectories are involved.
813
814 Will merge to 'master'.
815
816
681 -* dt/notes-multiple (2015-08-11) 2 commits
682 - (merged to 'next' on 2015-08-12 at 0052055)
683 - + notes: handle multiple worktrees
684 - + worktrees: add find_shared_symref
685 -
686 - When linked worktree is used, simultaneous "notes merge" instances
687 - for the same ref in refs/notes/* are prevented from stomping on
688 - each other.
817 +* ad/cygwin-wants-rename (2015-08-07) 1 commit
818 + - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
819
690 - Will merge to 'master'.
820 + Will hold.
821 + ($gmane/275680).
822
823
693 -* dt/refs-pseudo (2015-08-11) 6 commits
694 - (merged to 'next' on 2015-08-12 at 7078eb6)
695 - + pseudoref: check return values from read_ref()
696 - (merged to 'next' on 2015-08-03 at 3eafd33)
697 - + sequencer: replace write_cherry_pick_head with update_ref
698 - + bisect: use update_ref
699 - + pseudorefs: create and use pseudoref update and delete functions
700 - + refs: add ref_type function
701 - + refs: introduce pseudoref and per-worktree ref concepts
824 +* sg/config-name-only (2015-08-20) 6 commits
825 + (merged to 'next' on 2015-08-25 at 6cb3b7d)
826 + + get_urlmatch: avoid useless strbuf write
827 + + format_config: simplify buffer handling
828 + + format_config: don't init strbuf
829 + + config: restructure format_config() for better control flow
830 + (merged to 'next' on 2015-08-12 at c658fe4)
831 + + completion: list variable names reliably with 'git config --name-only'
832 + + config: add '--name-only' option to list only variable names
833
703 - To prepare for allowing a different "ref" backend to be plugged in
704 - to the system, update_ref()/delete_ref() have been taught about
705 - ref-like things like MERGE_HEAD that are per-worktree (they will
706 - always be written to the filesystem inside $GIT_DIR).
834 + "git config --list" output was hard to parse when values consist of
835 + multiple lines. "--name-only" option is added to help this.
836
837 Will merge to 'master'.
838
@@ -721,6 +850,7 @@ of the repositories listed at
850 + ref-filter: implement '--points-at' option
851 + tag: libify parse_opt_points_at()
852 + t6302: for-each-ref tests for ref-filter APIs
853 + (this branch is used by kn/for-each-tag.)
854
855 Originally merged to 'next' on 2015-07-15
856
@@ -756,6 +886,8 @@ of the repositories listed at
886
887 Code clean-up and minor fixes (so far).
888
889 + Will merge to 'next'.
890 +
891
892 * jc/rerere-multi (2015-07-30) 7 commits
893 . t4200: rerere a merge with two identical conflicts
@@ -767,7 +899,9 @@ of the repositories listed at
899 - rerere: split conflict ID further
900 (this branch uses jc/rerere.)
901
770 - This is a contination of jc/rerere topic.
902 + "git rerere" can encounter two or more files with the same conflict
903 + signature that have to be resolved in different ways, but there was
904 + no way to record these separate resolutions.
905
906
907 * jc/merge-drop-old-syntax (2015-04-29) 1 commit