1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Aug 2015, #06; Mon, 31)
4 X-master-at: 16163602bacb2804d00d599049a62b7af0b0b7b6
5 X-next-at: 7a4f88f1005d1360c4762c403490bf540d65766b
7 What's cooking in git.git (Aug 2015, #06; Mon, 31)
8 --------------------------------------------------
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
14 A handful of topics have been merged to 'master'. Because there
15 still are a few obviously good and trivially safe fixes cooking in
16 'next', it would be pretty much meaningless to tag today's state
17 as -rc0 (not that -rc0 has meant that much in the first place), so
18 I'll wait for a few days and merge the remaining such topics from
19 'next' to 'master' and then tag the -rc0.
21 You can find the changes described here in the integration branches
22 of the repositories listed at
24 http://git-blame.blogspot.com/p/git-public-repositories.html
26 --------------------------------------------------
27 [Graduated to "master"]
29 * db/push-sign-if-asked (2015-08-19) 9 commits
30 (merged to 'next' on 2015-08-26 at a7a32e9)
31 + push: add a config option push.gpgSign for default signed pushes
32 + push: support signing pushes iff the server supports it
33 + builtin/send-pack.c: use parse_options API
34 + config.c: rename git_config_maybe_bool_text and export it as git_parse_maybe_bool
35 + transport: remove git_transport_options.push_cert
36 + gitremote-helpers.txt: document pushcert option
37 + Documentation/git-send-pack.txt: document --signed
38 + Documentation/git-send-pack.txt: wrap long synopsis line
39 + Documentation/git-push.txt: document when --signed may fail
41 The client side codepaths in "git push" have been cleaned up
42 and the user can request to perform an optional "signed push",
43 i.e. sign only when the other end accepts signed push.
46 * hv/submodule-config (2015-08-19) 4 commits
47 (merged to 'next' on 2015-08-25 at 82adb30)
48 + submodule: allow erroneous values for the fetchRecurseSubmodules option
49 + submodule: use new config API for worktree configurations
50 + submodule: extract functions for config set and lookup
51 + submodule: implement a config API for lookup of .gitmodules values
52 (this branch is used by sb/submodule-helper.)
54 The gitmodules API accessed from the C code learned to cache stuff
58 * jc/am-state-fix (2015-08-25) 5 commits
59 (merged to 'next' on 2015-08-25 at 4efcd88)
60 + write_file(): drop caller-supplied LF from calls to create a one-liner file
61 + write_file_v(): do not leave incomplete line at the end
62 + write_file(): drop "fatal" parameter
63 + builtin/am: make sure state files are text
64 + builtin/am: introduce write_state_*() helper functions
66 Recent reimplementation of "git am" changed the format of state
67 files kept in $GIT_DIR/rebase-apply/ without meaning to do so,
68 primarily because write_file() API was cumbersome to use and it was
69 easy to mistakenly make text files with incomplete lines. Update
70 write_file() interface to make it harder to misuse.
73 * jc/log-p-cc (2015-08-25) 4 commits
74 (merged to 'next' on 2015-08-25 at 2d6a6d4)
75 + builtin/log.c: minor reformat
76 + log: show merge commit when --cc is given
77 + log: when --cc is given, default to -p unless told otherwise
78 + log: rename "tweak" helpers
80 "git log --cc" did not show any patch, even though most of the time
81 the user meant "git log --cc -p -m" to see patch output for commits
82 with a single parent, and combined diff for merge commits. The
83 command is taught to DWIM "--cc" (without "--raw" and other forms
84 of output specification) to "--cc -p -m".
87 * jk/fix-alias-pager-config-key-warnings (2015-08-24) 1 commit
88 (merged to 'next' on 2015-08-25 at 89eac5a)
89 + config: silence warnings for command names with invalid keys
91 Because the configuration system does not allow "alias.0foo" and
92 "pager.0foo" as the configuration key, the user cannot use '0foo'
93 as a custom command name anyway, but "git 0foo" tried to look these
94 keys up and emitted useless warnings before saying '0foo is not a
95 git command'. These warning messages have been squelched.
98 * jk/notes-merge-config (2015-08-17) 6 commits
99 (merged to 'next' on 2015-08-26 at 6dd2286)
100 + notes: teach git-notes about notes.<name>.mergeStrategy option
101 + notes: add notes.mergeStrategy option to select default strategy
102 + notes: add tests for --commit/--abort/--strategy exclusivity
103 + notes: extract parse_notes_merge_strategy to notes-utils
104 + notes: extract enum notes_merge_strategy to notes-utils.h
105 + notes: document cat_sort_uniq rewriteMode
107 "git notes merge" can be told with "--strategy=<how>" option how to
108 automatically handle conflicts; this can now be configured by
109 setting notes.mergeStrategy configuration variable.
112 * jk/rev-list-has-no-notes (2015-08-24) 1 commit
113 (merged to 'next' on 2015-08-25 at 73cb2ad)
114 + rev-list: make it obvious that we do not support notes
116 "git rev-list" does not take "--notes" option, but did not complain
120 * sg/config-name-only (2015-08-20) 6 commits
121 (merged to 'next' on 2015-08-25 at 6cb3b7d)
122 + get_urlmatch: avoid useless strbuf write
123 + format_config: simplify buffer handling
124 + format_config: don't init strbuf
125 + config: restructure format_config() for better control flow
126 (merged to 'next' on 2015-08-12 at c658fe4)
127 + completion: list variable names reliably with 'git config --name-only'
128 + config: add '--name-only' option to list only variable names
130 "git config --list" output was hard to parse when values consist of
131 multiple lines. "--name-only" option is added to help this.
134 * sg/describe-contains (2015-08-25) 1 commit
135 (merged to 'next' on 2015-08-26 at a7c66d9)
136 + describe --contains: default to HEAD when no commit-ish is given
138 "git describe" without argument defaulted to describe the HEAD
139 commit, but "git describe --contains" didn't. Arguably, in a
140 repository used for active development, such defaulting would not
141 be very useful as the tip of branch is typically not tagged, but it
142 is better to be consistent.
144 --------------------------------------------------
147 * ah/show-ref-usage-string (2015-08-31) 1 commit
148 - show-ref: place angle brackets around variables in usage string
150 Both "git show-ref -h" and "git show-ref --help" illustrated that the
151 "--exclude-existing" option makes the command read list of refs
152 from its standard input. Change only the "show-ref -h" output to
153 have a pair of "<>" around the placeholder that designate an input
154 file, i.e. "git show-ref --exclude-existing < <ref-list>".
157 * cc/trailers-corner-case-fix (2015-08-31) 1 commit
158 - trailer: support multiline title
160 The "interpret-trailers" helper mistook a multi-paragraph title of
161 a commit log message with a colon in it as the end of the trailer
164 Will merge to 'next'.
167 * ee/clean-test-fixes (2015-08-31) 1 commit
168 - t7300: fix broken && chains
170 Will merge to 'next'.
173 * jk/date-local (2015-08-31) 3 commits
175 - date: make "local" orthogonal to date format
176 - fast-import: switch crash-report date to iso8601
178 "git log --date=local" used to only allow to show the normal
179 (default) format in the local timezone. The command learned to take
180 'local' as an instruction to use the local timezone with other
181 formats, e.g. "git show --date=rfc-local".
184 * nk/stash-show-config (2015-08-31) 1 commit
185 - stash: allow "stash show" diff output configurable
187 Users who are too busy to type three extra keystrokes to ask for
188 "git stash show -p" can now set stash.showPatch configuration
189 varible to true to always see the actual patch, not just the list
190 of paths affected with feel for the extent of damage via diffstat.
193 * sb/read-cache-one-indent-style-fix (2015-08-31) 1 commit
194 - read-cache: fix indentation in read_index_from
196 Will merge to 'next'.
199 * ls/p4-path-encoding (2015-08-31) 1 commit
200 - git-p4: add "--path-encoding" option
202 "git p4" learned to reencode the pathname it uses to communicate
203 with the p4 depot with a new option.
205 --------------------------------------------------
208 * sb/remove-get-pathspec (2015-08-03) 1 commit
209 - builtin/mv: remove get_pathspec()
215 * mk/submodule-gitdir-path (2015-08-05) 2 commits
216 - path: implement common_dir handling in git_path_submodule()
217 - submodule refactor: use git_path_submodule() in add_submodule_odb()
219 The submodule code has been taught to work better with separate
220 work trees created via "git worktree add".
222 Waiting for a review.
226 * nd/list-files (2015-02-09) 21 commits
227 - t3080: tests for git-list-files
228 - list-files: -M aka diff-cached
229 - list-files -F: show submodules with the new indicator '&'
230 - list-files: add -F/--classify
231 - list-files: show directories as well as files
232 - list-files: do not show duplicate cached entries
233 - list-files: sort output and remove duplicates
234 - list-files: add -t back
235 - list-files: add -1 short for --no-column
236 - list-files: add -R/--recursive short for --max-depth=-1
237 - list-files: -u does not imply showing stages
238 - list-files: make alias 'ls' default to 'list-files'
239 - list-files: a user friendly version of ls-files and more
240 - ls-files: support --max-depth
241 - ls-files: add --column
242 - ls-files: add --color to highlight file names
243 - ls-files: buffer full item in strbuf before printing
244 - ls_colors.c: highlight submodules like directories
245 - ls_colors.c: add a function to color a file name
246 - ls_colors.c: parse color.ls.* from config file
247 - ls_colors.c: add $LS_COLORS parsing code
249 A new "git list-files" Porcelain command, "ls-files" with bells and
252 Reroll to base on wt-status work ($gmane/265142) has seen some
253 positive discussions.
255 Waiting for a further polished reroll ($gmane/265534).
258 * mh/numparse (2015-03-19) 14 commits
259 . diff_opt_parse(): use convert_i() when handling --abbrev=<num>
260 . diff_opt_parse(): use convert_i() when handling "-l<num>"
261 . opt_arg(): simplify pointer handling
262 . opt_arg(): report errors parsing option values
263 . opt_arg(): use convert_i() in implementation
264 . opt_arg(): val is always non-NULL
265 . builtin_diff(): detect errors when parsing --unified argument
266 . handle_revision_opt(): use convert_ui() when handling "--abbrev="
267 . strtoul_ui(), strtol_i(): remove functions
268 . handle_revision_opt(): use convert_i() when handling "-<digit>"
269 . handle_revision_opt(): use skip_prefix() in many places
270 . write_subdirectory(): use convert_ui() for parsing mode
271 . cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
272 . numparse: new module for parsing integral numbers
274 Many codepaths use unchecked use of strtol() and friends (or even
275 worse, atoi()). Introduce a set of wrappers that try to be more
278 Waiting for a reroll.
282 * kk/log-merges-config (2015-04-21) 5 commits
283 - bash-completion: add support for git-log --merges= and log.merges
284 - t4202-log: add tests for --merges=
285 - Documentation: add git-log --merges= option and log.merges config. var
286 - log: honor log.merges= option
287 - revision: add --merges={show|only|hide} option
289 "git log" (but not other commands in the "log" family) learned to
290 pay attention to the log.merges configuration variable that can be
291 set to "show" (the normal behaviour), "only" (hide non-merge
292 commits), or "hide" (hide merge commits). --merges=(show|only|hide)
293 can be used to override the setting from the command line.
295 The documentation may need to be updated once more ($gmane/267250).
296 Waiting for a reroll.
299 * mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
300 - t/lib-git-svn: check same httpd module dirs as lib-httpd
301 - t/lib-httpd: load mod_unixd
303 This is the first two commits in a three-patch series $gmane/266962
305 Waiting for a reroll.
306 with updated log message ($gmane/268061).
309 * bw/portability-solaris (2015-07-20) 3 commits
310 - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris
311 - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris
312 - tests: modify tr expressions so that xpg4/tr handles it on Solaris
314 Needs another reroll?
318 * jc/clone-bundle (2015-04-30) 1 commit
319 - repack: optionally create a clone.bundle
321 Waiting for further work.
325 * mg/index-read-error-messages (2015-06-01) 2 commits
326 - messages: uniform error messages for index write
327 - show-index: uniform error messages for index read
330 Waiting for a reroll.
333 * wp/sha1-name-negative-match (2015-06-08) 2 commits
334 - sha1_name.c: introduce '^{/!-<negative pattern>}' notation
335 - test for '!' handling in rev-parse's named commits
337 Introduce "branch^{/!-<pattern>}" notation to name a commit
338 reachable from branch that does not match the given pattern.
340 Waiting for a reroll.
343 * mk/utf8-no-iconv-warn (2015-06-08) 1 commit
344 - utf8.c: print warning about disabled iconv
346 Warn when a reencoding is requested in a build without iconv
347 support, as the end user is likely to get an unexpected result. I
348 think the same level of safety should be added to a build with
349 iconv support when the specified encoding is not available, but the
350 patch does not go there.
352 Waiting for a reroll.
355 * ak/format-patch-odir-config (2015-06-19) 1 commit
356 - format-patch: introduce format.outputDirectory configuration
358 Reroll exists but didn't pick it up as it seemed to be still
359 collecting review comments.
361 Waiting for a reroll.
365 * mh/notes-allow-reading-treeish (2015-07-13) 1 commit
366 - notes: allow treeish expressions as notes ref
368 Some "git notes" operations, e.g. "git log --notes=<note>", should
369 be able to read notes from any tree-ish that is shaped like a notes
370 tree, but the notes infrastructure required that the argument must
371 be a ref under refs/notes/. Loosen it to require a valid ref only
372 when the operation would update the notes (in which case we must
373 have a place to store the updated notes tree, iow, a ref).
375 Needs update to docs.
379 * jc/diff-b-m (2015-02-23) 5 commits
382 - diffcore-rename: allow easier debugging
383 - diffcore-rename.c: add locate_rename_src()
384 - diffcore-break: allow debugging
386 "git diff -B -M" produced incorrect patch when the postimage of a
387 completely rewritten file is similar to the preimage of a removed
388 file; such a resulting file must not be expressed as a rename from
391 The fix in this patch is broken, unfortunately.
394 * pw/remote-set-url-fetch (2014-11-26) 1 commit
395 . remote: add --fetch and --both options to set-url
400 * tr/remerge-diff (2014-11-10) 9 commits
401 . t4213: avoid "|" in sed regexp
402 . log --remerge-diff: show what the conflict resolution changed
403 . name-hash: allow dir hashing even when !ignore_case
404 . merge-recursive: allow storing conflict hunks in index
405 . merge_diff_mode: fold all merge diff variants into an enum
406 . combine-diff: do not pass revs->dense_combined_merges redundantly
407 . merge-recursive: -Xindex-only to leave worktree unchanged
408 . merge-recursive: internal flag to avoid touching the worktree
409 . merge-recursive: remove dead conditional in update_stages()
411 "log -p" output learns a new way to let users inspect a merge
412 commit by showing the differences between the automerged result
413 with conflicts the person who recorded the merge would have seen
414 and the final conflict resolution that was recorded in the merge.
416 Waiting for a reroll.
420 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
421 - perf-lib: add test_perf_cleanup target
422 - perf-lib: split starting the test from the execution
424 Add test_perf_cleanup shell function to the perf suite, that allows
425 the script writers to define a test with a clean-up action.
430 * jc/show-branch (2014-03-24) 5 commits
431 - show-branch: use commit slab to represent bitflags of arbitrary width
432 - show-branch.c: remove "all_mask"
433 - show-branch.c: abstract out "flags" operation
434 - show-branch.c: lift all_mask/all_revs to a global static
435 - show-branch.c: update comment style
437 Waiting for the final step to lift the hard-limit.
439 --------------------------------------------------
442 * ad/bisect-terms (2015-08-03) 4 commits
443 - bisect: allow setting any user-specified in 'git bisect start'
444 - bisect: add 'git bisect terms' to view the current terms
445 - bisect: add the terms old/new
446 - bisect: sanity check on terms
448 The use of 'good/bad' in "git bisect" made it confusing to use when
449 hunting for a state change that is not a regression (e.g. bugfix).
450 The command learned 'old/new' and then allows the end user to
451 say e.g. "bisect start --term-old=fast --term=new=slow" to find a
452 performance regression.
454 Michael's idea to make 'good/bad' more intelligent does have
455 certain attractiveness ($gname/272867), and makes some of the work
456 on this topic a moot point.
458 Will merge to 'next'.
461 * jk/log-missing-default-HEAD (2015-08-31) 1 commit
462 - log: diagnose empty HEAD more clearly
464 "git init empty && git -C empty log" said "bad default revision 'HEAD'",
465 which was found to be a bit confusing to new users.
467 Will merge to 'next'.
470 * ah/pack-objects-usage-strings (2015-08-28) 1 commit
471 (merged to 'next' on 2015-08-31 at 78c8240)
472 + pack-objects: place angle brackets around placeholders in usage strings
476 Will merge to 'master'.
479 * ah/read-tree-usage-string (2015-08-28) 1 commit
480 (merged to 'next' on 2015-08-31 at fbaa7bd)
481 + read-tree: replace bracket set with parentheses to clarify usage
485 Will merge to 'master'.
488 * ah/reflog-typofix-in-error (2015-08-28) 1 commit
489 (merged to 'next' on 2015-08-31 at 1b37218)
490 + reflog: add missing single quote to error message
494 Will merge to 'master'.
497 * ah/submodule-typofix-in-error (2015-08-28) 1 commit
498 (merged to 'next' on 2015-08-31 at 5a20628)
499 + git-submodule: remove extraneous space from error message
503 Will merge to 'master'.
506 * br/svn-doc-include-paths-config (2015-08-26) 1 commit
507 (merged to 'next' on 2015-08-31 at 27a305f)
508 + git-svn doc: mention "svn-remote.<name>.include-paths"
510 Will merge to 'master'.
513 * dt/commit-preserve-base-index-upon-opportunistic-cache-tree-update (2015-08-31) 1 commit
514 (merged to 'next' on 2015-08-31 at c4133fb)
515 + commit: don't rewrite shared index unnecessarily
517 When re-priming the cache-tree opportunistically while committing
518 the in-core index as-is, we mistakenly invalidated the in-core
519 index too aggressively, causing the experimental split-index code
520 to unnecessarily rewrite the on-disk index file(s).
522 Will merge to 'master'.
525 * dt/refs-bisection (2015-08-31) 5 commits
526 - bisect: make bisection refs per-worktree
527 - refs: make refs/worktree/* per-worktree
529 - path: optimize common dir checking
530 - refs: clean up common_list
532 Move the refs used during a "git bisect" session to per-worktree
533 hierarchy refs/worktree/* so that independent bisect sessions can
534 be done in different worktrees.
536 $gmane/276765. We do not need to move (which can break third-party
537 tools) in order to make the hierarchy per-worktree.
540 * ld/p4-import-labels (2015-08-28) 3 commits
541 - git-p4: fix P4 label import for unprocessed commits
542 - git-p4: do not terminate creating tag for unknown commit
543 - git-p4: failing test for ignoring invalid p4 labels
545 Will merge to 'next'.
548 * ls/p4-fold-case-client-specs (2015-08-28) 1 commit
549 (merged to 'next' on 2015-08-31 at f25a3bd)
550 + git-p4: honor core.ignorecase when using P4 client specs
552 On case insensitive systems, "git p4" did not work well with client
555 Will merge to 'master'.
558 * rs/archive-zip-many (2015-08-28) 3 commits
559 (merged to 'next' on 2015-08-31 at b799358)
560 + archive-zip: support more than 65535 entries
561 + archive-zip: use a local variable to store the creator version
562 + t5004: test ZIP archives with many entries
564 "git archive" did not use zip64 extension when creating an archive
565 with more than 64k entries, which nobody should need, right ;-)?
567 Will merge to 'master'.
570 * rt/remove-hold-lockfile-for-append (2015-08-28) 1 commit
571 (merged to 'next' on 2015-08-31 at caabe4b)
572 + lockfile: remove function "hold_lock_file_for_append"
574 Will merge to 'master'.
577 * kn/for-each-tag (2015-08-25) 15 commits
578 - SQUASH??? a tag longer than 15 bytes break alignment but keeps SP before the message
579 - tag.c: implement '--merged' and '--no-merged' options
580 - tag.c: implement '--format' option
581 - tag.c: use 'ref-filter' APIs
582 - tag.c: use 'ref-filter' data structures
583 - ref-filter: add option to match literal pattern
584 - ref-filter: add support to sort by version
585 - ref-filter: support printing N lines from tag annotation
586 - ref-filter: add option to filter out tags, branches and remotes
587 - ref-filter: implement an `align` atom
588 - utf8: add function to align a string into given strbuf
589 - ref-filter: introduce ref_formatting_state and ref_formatting_stack
590 - ref-filter: move `struct atom_value` to ref-filter.c
591 - Merge 'jk/git-path' into kn/for-each-tag
592 - Merge 'kn/for-each-tag-branch' into kn/for-each-tag
593 (this branch uses kn/for-each-tag-branch.)
595 The "ref-filter" code was taught about many parts of what "tag -l"
596 does and then "tag -l" is reimplemented in terms of "ref-filter".
599 Waiting for a reroll.
600 ($gmane/276615, $gmane/276529, $gmane/276607, $gmane/276606, etc.)
603 * nd/fixup-linked-gitdir (2015-08-25) 1 commit
604 (merged to 'next' on 2015-08-26 at 7b8a1aa)
605 + setup: update the right file in multiple checkouts
607 The code in "multiple-worktree" support that attempted to recover
608 from an inconsistent state updated an incorrect file.
610 Will merge to 'master'.
613 * nd/ita-cleanup (2015-08-25) 6 commits
614 - grep: make it clear i-t-a entries are ignored
615 - checkout(-index): do not checkout i-t-a entries
616 - apply: make sure check_preimage() does not leave empty file on error
617 - apply: fix adding new files on i-t-a entries
618 - Add and use convenient macro ce_intent_to_add()
619 - blame: remove obsolete comment
621 Paths that have been told the index about with "add -N" are not yet
622 in the index, but various commands behaved as if they already are.
624 Some commits need better explanation.
626 Waiting for a reroll.
629 * dk/gc-idx-wo-pack (2015-08-17) 3 commits
630 - DONTMERGE: log message, grace-period and tests $gmane/276058
631 - gc: remove stale .idx files without corresponding .pack file
632 - prepare_packed_git(): refactor garbage reporting in pack directory
634 Having a leftover .idx file without correspoinding .pack file in
635 the repository hurts performance; "git gc" learned to prune them.
637 Waiting for a reroll.
640 * bb/remote-get-url (2015-08-05) 1 commit
641 - remote: add get-url subcommand
643 "git remote" learned "get-url" subcommand to show the URL for a
644 given remote name used for fetching and pushing.
646 Waiting for a reroll.
650 * sb/submodule-helper (2015-08-31) 5 commits
651 - submodule: implement `module_clone` as a builtin helper
652 - submodule: implement `module_name` as a builtin helper
654 - submodule: implement `module_list` as a builtin helper
655 - Merge 'hv/submodule-config' to 'sb/submodule-helper'
657 The infrastructure to rewrite "git submodule" in C is being built
658 incrementally. Let's polish these early parts well enough and make
659 them graduate to 'next' and 'master', so that the more involved
660 follow-up can start cooking on a solid ground.
663 * ad/cygwin-wants-rename (2015-08-07) 1 commit
664 - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
670 * kn/for-each-tag-branch (2015-08-03) 11 commits
671 (merged to 'next' on 2015-08-03 at d9e94b9)
672 + for-each-ref: add '--contains' option
673 + ref-filter: implement '--contains' option
674 + parse-options.h: add macros for '--contains' option
675 + parse-option: rename parse_opt_with_commit()
676 + for-each-ref: add '--merged' and '--no-merged' options
677 + ref-filter: implement '--merged' and '--no-merged' options
678 + ref-filter: add parse_opt_merge_filter()
679 + for-each-ref: add '--points-at' option
680 + ref-filter: implement '--points-at' option
681 + tag: libify parse_opt_points_at()
682 + t6302: for-each-ref tests for ref-filter APIs
683 (this branch is used by kn/for-each-tag.)
685 Originally merged to 'next' on 2015-07-15
687 Some features from "git tag -l" and "git branch -l" have been made
688 available to "git for-each-ref" so that eventually the unified
689 implementation can be shared across all three, in a follow-up
693 * jc/rerere (2015-07-24) 21 commits
694 (merged to 'next' on 2015-08-26 at 8ae15ef)
695 + rerere: un-nest merge() further
696 + rerere: use "struct rerere_id" instead of "char *" for conflict ID
697 + rerere: call conflict-ids IDs
698 + rerere: further clarify do_rerere_one_path()
699 + rerere: further de-dent do_plain_rerere()
700 + rerere: refactor "replay" part of do_plain_rerere()
701 + rerere: explain the remainder
702 + rerere: explain "rerere forget" codepath
703 + rerere: explain the primary codepath
704 + rerere: explain MERGE_RR management helpers
705 + rerere: fix benign off-by-one non-bug and clarify code
706 + rerere: explain the rerere I/O abstraction
707 + rerere: do not leak mmfile[] for a path with multiple stage #1 entries
708 + rerere: stop looping unnecessarily
709 + rerere: drop want_sp parameter from is_cmarker()
710 + rerere: report autoupdated paths only after actually updating them
711 + rerere: write out each record of MERGE_RR in one go
712 + rerere: lift PATH_MAX limitation
713 + rerere: plug conflict ID leaks
714 + rerere: handle conflicts with multiple stage #1 entries
715 + rerere: fix an off-by-one non-bug
716 (this branch is used by jc/rerere-multi.)
718 Code clean-up and minor fixes.
720 Will merge to 'master'.
723 * jc/rerere-multi (2015-07-30) 7 commits
724 . t4200: rerere a merge with two identical conflicts
726 . rerere: allow multiple variants to exist
727 - rerere: delay the recording of preimage
728 - rerere: handle leftover rr-cache/$ID directory and postimage files
729 - rerere: scan $GIT_DIR/rr-cache/$ID when instantiating a rerere_id
730 - rerere: split conflict ID further
731 (this branch uses jc/rerere.)
733 "git rerere" can encounter two or more files with the same conflict
734 signature that have to be resolved in different ways, but there was
735 no way to record these separate resolutions.
738 * jc/merge-drop-old-syntax (2015-04-29) 1 commit
739 (merged to 'next' on 2015-08-03 at a52c2b2)
740 + merge: drop 'git merge <message> HEAD <commit>' syntax
742 Originally merged to 'next' on 2015-05-28
744 Stop supporting "git merge <message> HEAD <commit>" syntax that
745 has been deprecated since October 2007.
747 Will keep in 'next' during the 2.6 cycle.