What's cooking (2015/09 #04)
[git.git] / whats-cooking.txt
blobc76b845870cf3b77707b89a0e772b2f7bf6f9c77
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Sep 2015, #04; Thu, 17)
4 X-master-at: 0e5767991b19d8f91b437a679196a1dfd678c5a0
5 X-next-at: 3dd15c02a81a280c83c8d5e32c6cb71a64177ca6
7 What's cooking in git.git (Sep 2015, #04; Thu, 17)
8 --------------------------------------------------
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'.
14 I'll be offline til Monday 21st, when 2.6-rc3 is planned to happen.
16 You can find the changes described here in the integration branches
17 of the repositories listed at
19     http://git-blame.blogspot.com/p/git-public-repositories.html
21 --------------------------------------------------
22 [Graduated to "master"]
24 * as/config-doc-markup-fix (2015-09-12) 1 commit
25   (merged to 'next' on 2015-09-14 at faa4134)
26  + Documentation/config: fix formatting for branch.*.rebase and pull.rebase
29 * et/win32-poll-timeout (2015-09-14) 1 commit
30   (merged to 'next' on 2015-09-14 at 308dff4)
31  + poll: honor the timeout on Win32
34 * po/doc-branch-desc (2015-09-14) 1 commit
35   (merged to 'next' on 2015-09-14 at 4934a96)
36  + doc: show usage of branch description
38  The branch descriptions that are set with "git branch --edit-description"
39  option were used in many places but they weren't clearly documented.
41 --------------------------------------------------
42 [New Topics]
44 * jk/blame-first-parent (2015-09-16) 1 commit
45  - blame: handle --first-parent
48 * jk/transfer-limit-protocol (2015-09-16) 3 commits
49  - SQUASH???
50  - submodule: allow only certain protocols for submodule fetches
51  - transport: add a protocol-whitelist environment variable
54 * rj/mailmap-ramsay (2015-09-16) 1 commit
55  - mailmap: update my entry with new email address
57 --------------------------------------------------
58 [Stalled]
60 * sb/remove-get-pathspec (2015-08-03) 1 commit
61  - builtin/mv: remove get_pathspec()
63  Will discard.
64  ($gmane/276104)
67 * nd/list-files (2015-02-09) 21 commits
68  - t3080: tests for git-list-files
69  - list-files: -M aka diff-cached
70  - list-files -F: show submodules with the new indicator '&'
71  - list-files: add -F/--classify
72  - list-files: show directories as well as files
73  - list-files: do not show duplicate cached entries
74  - list-files: sort output and remove duplicates
75  - list-files: add -t back
76  - list-files: add -1 short for --no-column
77  - list-files: add -R/--recursive short for --max-depth=-1
78  - list-files: -u does not imply showing stages
79  - list-files: make alias 'ls' default to 'list-files'
80  - list-files: a user friendly version of ls-files and more
81  - ls-files: support --max-depth
82  - ls-files: add --column
83  - ls-files: add --color to highlight file names
84  - ls-files: buffer full item in strbuf before printing
85  - ls_colors.c: highlight submodules like directories
86  - ls_colors.c: add a function to color a file name
87  - ls_colors.c: parse color.ls.* from config file
88  - ls_colors.c: add $LS_COLORS parsing code
90  A new "git list-files" Porcelain command, "ls-files" with bells and
91  whistles.
93  Reroll to base on wt-status work ($gmane/265142) has seen some
94  positive discussions.
96  Waiting for a further polished reroll ($gmane/265534).
99 * mh/numparse (2015-03-19) 14 commits
100  . diff_opt_parse(): use convert_i() when handling --abbrev=<num>
101  . diff_opt_parse(): use convert_i() when handling "-l<num>"
102  . opt_arg(): simplify pointer handling
103  . opt_arg(): report errors parsing option values
104  . opt_arg(): use convert_i() in implementation
105  . opt_arg(): val is always non-NULL
106  . builtin_diff(): detect errors when parsing --unified argument
107  . handle_revision_opt(): use convert_ui() when handling "--abbrev="
108  . strtoul_ui(), strtol_i(): remove functions
109  . handle_revision_opt(): use convert_i() when handling "-<digit>"
110  . handle_revision_opt(): use skip_prefix() in many places
111  . write_subdirectory(): use convert_ui() for parsing mode
112  . cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
113  . numparse: new module for parsing integral numbers
115  Many codepaths use unchecked use of strtol() and friends (or even
116  worse, atoi()).  Introduce a set of wrappers that try to be more
117  careful.
119  Waiting for a reroll.
120  ($gmane/268058).
123 * kk/log-merges-config (2015-04-21) 5 commits
124  - bash-completion: add support for git-log --merges= and log.merges
125  - t4202-log: add tests for --merges=
126  - Documentation: add git-log --merges= option and log.merges config. var
127  - log: honor log.merges= option
128  - revision: add --merges={show|only|hide} option
130  "git log" (but not other commands in the "log" family) learned to
131  pay attention to the log.merges configuration variable that can be
132  set to "show" (the normal behaviour), "only" (hide non-merge
133  commits), or "hide" (hide merge commits).  --merges=(show|only|hide)
134  can be used to override the setting from the command line.
136  The documentation may need to be updated once more ($gmane/267250).
137  Waiting for a reroll.
140 * mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
141  - t/lib-git-svn: check same httpd module dirs as lib-httpd
142  - t/lib-httpd: load mod_unixd
144  This is the first two commits in a three-patch series $gmane/266962
146  Waiting for a reroll.
147  with updated log message ($gmane/268061).
150 * bw/portability-solaris (2015-07-20) 3 commits
151  - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris
152  - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris
153  - tests: modify tr expressions so that xpg4/tr handles it on Solaris
155  Needs another reroll?
156  ($gmane/274296)
159 * jc/clone-bundle (2015-04-30) 1 commit
160  - repack: optionally create a clone.bundle
162  Waiting for further work.
163  Still an early WIP.
166 * mg/index-read-error-messages (2015-06-01) 2 commits
167  - messages: uniform error messages for index write
168  - show-index: uniform error messages for index read
170  The tip was RFC.
171  Waiting for a reroll.
174 * wp/sha1-name-negative-match (2015-06-08) 2 commits
175  - sha1_name.c: introduce '^{/!-<negative pattern>}' notation
176  - test for '!' handling in rev-parse's named commits
178  Introduce "branch^{/!-<pattern>}" notation to name a commit
179  reachable from branch that does not match the given pattern.
181  Waiting for a reroll.
184 * mk/utf8-no-iconv-warn (2015-06-08) 1 commit
185  - utf8.c: print warning about disabled iconv
187  Warn when a reencoding is requested in a build without iconv
188  support, as the end user is likely to get an unexpected result.  I
189  think the same level of safety should be added to a build with
190  iconv support when the specified encoding is not available, but the
191  patch does not go there.
193  Waiting for a reroll.
196 * ak/format-patch-odir-config (2015-06-19) 1 commit
197  - format-patch: introduce format.outputDirectory configuration
199  Reroll exists but didn't pick it up as it seemed to be still
200  collecting review comments.
202  Waiting for a reroll.
203  ($gmane/272180).
206 * mh/notes-allow-reading-treeish (2015-07-13) 1 commit
207  - notes: allow treeish expressions as notes ref
209  Some "git notes" operations, e.g. "git log --notes=<note>", should
210  be able to read notes from any tree-ish that is shaped like a notes
211  tree, but the notes infrastructure required that the argument must
212  be a ref under refs/notes/.  Loosen it to require a valid ref only
213  when the operation would update the notes (in which case we must
214  have a place to store the updated notes tree, iow, a ref).
216  Needs update to docs.
217  ($gmane/273928)
220 * jc/diff-b-m (2015-02-23) 5 commits
221  . WIPWIP
222  . WIP: diff-b-m
223  - diffcore-rename: allow easier debugging
224  - diffcore-rename.c: add locate_rename_src()
225  - diffcore-break: allow debugging
227  "git diff -B -M" produced incorrect patch when the postimage of a
228  completely rewritten file is similar to the preimage of a removed
229  file; such a resulting file must not be expressed as a rename from
230  other place.
232  The fix in this patch is broken, unfortunately.
235 * pw/remote-set-url-fetch (2014-11-26) 1 commit
236  . remote: add --fetch and --both options to set-url
238  Ejected.
241 * tr/remerge-diff (2014-11-10) 9 commits
242  . t4213: avoid "|" in sed regexp
243  . log --remerge-diff: show what the conflict resolution changed
244  . name-hash: allow dir hashing even when !ignore_case
245  . merge-recursive: allow storing conflict hunks in index
246  . merge_diff_mode: fold all merge diff variants into an enum
247  . combine-diff: do not pass revs->dense_combined_merges redundantly
248  . merge-recursive: -Xindex-only to leave worktree unchanged
249  . merge-recursive: internal flag to avoid touching the worktree
250  . merge-recursive: remove dead conditional in update_stages()
252  "log -p" output learns a new way to let users inspect a merge
253  commit by showing the differences between the automerged result
254  with conflicts the person who recorded the merge would have seen
255  and the final conflict resolution that was recorded in the merge.
257  Waiting for a reroll.
258  ($gmane/256591).
261 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
262  - perf-lib: add test_perf_cleanup target
263  - perf-lib: split starting the test from the execution
265  Add test_perf_cleanup shell function to the perf suite, that allows
266  the script writers to define a test with a clean-up action.
268  Will hold.
271 * jc/show-branch (2014-03-24) 5 commits
272  - show-branch: use commit slab to represent bitflags of arbitrary width
273  - show-branch.c: remove "all_mask"
274  - show-branch.c: abstract out "flags" operation
275  - show-branch.c: lift all_mask/all_revs to a global static
276  - show-branch.c: update comment style
278  Waiting for the final step to lift the hard-limit.
280 --------------------------------------------------
281 [Cooking]
283 * ld/p4-detached-head (2015-09-09) 2 commits
284  - git-p4: work with a detached head
285  - git-p4: add failing test for submit from detached head
287  Will be rerolled.
288  ($gmane/277574)
291 * jk/graph-format-padding (2015-09-14) 1 commit
292  - pretty: pass graph width to pretty formatting for use in '%>|(N)'
294  Redefine the way '%>|(N)' padding and the "--graph" option
295  interacts.  It has been that the available columns to display the
296  log message was measured from the edge of the area the graph ended,
297  but with this it becomes the beginning of the entire output.
299  I have a suspicion that 50% of the users would appreciate this
300  change, and the remainder see this break their expectation.  If
301  that is the case, we might need to introduce a similar but
302  different alignment operator so that this new behaviour is
303  available to those who want to use it, without negatively affecting
304  existing uses.
307 * jk/make-findstring-makeflags-fix (2015-09-10) 1 commit
308  - Makefile: fix MAKEFLAGS tests with multiple flags
310  Customization to change the behaviour with "make -w" and "make -s"
311  in our Makefile was broken when they were used together.
313  Will merge to 'next'.
316 * jk/rebase-no-autostash (2015-09-10) 2 commits
317  - Documentation/git-rebase: fix --no-autostash formatting
318  - rebase: support --no-autostash
320  There was no way to defeat a configured rebase.autostash variable
321  from the command line, as "git rebase --no-autostash" was missing.
323  Will merge to 'next'.
326 * jw/make-arflags-customizable (2015-09-10) 1 commit
327  - Makefile: allow $(ARFLAGS) specified from the command line
329  The Makefile always runs the library archiver with hardcoded "crs"
330  options, which was inconvenient for exotic platforms on which
331  people wants to use programs with totally different set of command
332  line options.
334  Will merge to 'next'.
337 * nd/ignore-then-not-ignore (2015-09-14) 2 commits
338  - dir.c: don't exclude whole dir prematurely if neg pattern may match
339  - dir.c: make last_exclude_matching_from_list() run til the end
341  Allow a later "!/abc/def" to override an earlier "/abc" that
342  appears in the same .gitignore file to make it easier to express
343  "everything in /abc directory is ignored, except for ...".
346 * sb/submodule-parallel-fetch (2015-09-14) 2 commits
347  - fetch: fetch submodules in parallel
348  - submodule.c: write "Fetching submodule <foo>" to stderr
349  (this branch uses sb/submodule-helper.)
352 * mk/submodule-gitdir-path (2015-09-14) 2 commits
353  - path: implement common_dir handling in git_pathdup_submodule()
354  - submodule refactor: use strbuf_git_path_submodule() in add_submodule_odb()
356  The submodule code has been taught to work better with separate
357  work trees created via "git worktree add".
360 * jk/connect-clear-env (2015-09-08) 2 commits
361   (merged to 'next' on 2015-09-08 at 86b64f7)
362  + git_connect: clarify conn->use_shell flag
363   (merged to 'next' on 2015-09-06 at 9ddbed8)
364  + git_connect: clear GIT_* environment for ssh
366  The ssh transport, just like any other transport over the network,
367  did not clear GIT_* environment variables, but it is possible to
368  use SendEnv and AcceptEnv to leak them to the remote invocation of
369  Git, which is not a good idea at all.  Explicitly clear them just
370  like we do for the local transport.
372  Will merge to 'master'.
375 * ti/glibc-stdio-mutex-from-signal-handler (2015-09-04) 1 commit
376   (merged to 'next' on 2015-09-08 at c8047ba)
377  + pager: don't use unsafe functions in signal handlers
379  Allocation related functions and stdio are unsafe things to call
380  inside a signal handler, and indeed killing the pager can cause
381  glibc to deadlock waiting on allocation mutex as our signal handler
382  tries to free() some data structures in wait_for_pager().  Reduce
383  these unsafe calls.
385  I seem to recall Peff had other ideas?  Let's revisit this in the
386  next cycle.
389 * as/subtree-with-spaces (2015-09-08) 2 commits
390   (merged to 'next' on 2015-09-09 at f3d763d)
391  + contrib/subtree: respect spaces in a repository path
392  + t7900-subtree: test the "space in a subdirectory name" case
394  Update "git subtree" (in contrib/) so that it can take whitespaces
395  in the pathnames, not only in the in-tree pathname but the name of
396  the directory that the repository is in.
398  Will merge to 'master'.
401 * gb/filter-branch-progress (2015-09-08) 1 commit
402  - filter-branch: add passed/remaining seconds on progress
404  Give progress meter to "git filter-branch".
406  Is a reroll coming?
409 * jk/interpret-trailers-outside-a-repository (2015-09-08) 1 commit
410   (merged to 'next' on 2015-09-09 at a75fce3)
411  + interpret-trailers: allow running outside a repository
413  Allow "git interpret-trailers" to run outside of a Git repository.
415  Will merge to 'master'.
418 * jk/test-lint-forbid-when-finished-in-subshell (2015-09-08) 5 commits
419   (merged to 'next' on 2015-09-09 at 74ede61)
420  + test-lib-functions: detect test_when_finished in subshell
421  + t7800: don't use test_config in a subshell
422  + test-lib-functions: support "test_config -C <dir> ..."
423  + t5801: don't use test_when_finished in a subshell
424  + t7610: don't use test_config in a subshell
426  Because "test_when_finished" in our test framework queues the
427  clean-up tasks to be done in a shell variable, it should not be
428  used inside a subshell.  Add a mechanism to allow 'bash' to catch
429  such uses, and fix the ones that were found.
431  Will merge to 'master'.
434 * ls/p4-lfs (2015-09-09) 5 commits
435  - git-p4: add Git LFS backend for large file system
436  - git-p4: add support for large file systems
437  - git-p4: return an empty list if a list config has no values
438  - git-p4: add gitConfigInt reader
439  - git-p4: add optional type specifier to gitConfig reader
441  Teach "git p4" to send large blobs outside the repository by
442  talking to Git LFS.
445 * nd/clone-linked-checkout (2015-09-14) 5 commits
446  - clone: better error when --reference is a linked checkout
447  - clone: allow --local from a linked checkout
448  - enter_repo: allow .git files in strict mode
449  - enter_repo: avoid duplicating logic, use is_git_directory() instead
450  - path.c: delete an extra space
452  It was not possible to use a repository-lookalike created by "git
453  worktree add" as a local source of "git clone".
455  Will be rerolled.
456  ($gmane/277815)
459 * jh/quiltimport-explicit-series-file (2015-09-01) 1 commit
460   (merged to 'next' on 2015-09-02 at 1129ca4)
461  + git-quiltimport: add commandline option --series <file>
463  "quiltimport" allows to specify the series file by honoring the
464  $QUILT_SERIES environment and also --series command line option.
466  Will merge to 'master'.
469 * jk/async-pkt-line (2015-09-01) 2 commits
470   (merged to 'next' on 2015-09-02 at e185717)
471  + pkt-line: show packets in async processes as "sideband"
472  + run-command: provide in_async query function
474  The debugging infrastructure for pkt-line based communication has
475  been improved to mark the side-band communicatio specifically.
477  Will merge to 'master'.
480 * jk/date-local (2015-09-03) 11 commits
481   (merged to 'next' on 2015-09-08 at 66781d9)
482  + t6300: add tests for "-local" date formats
483  + t6300: make UTC and local dates different
484  + date: make "local" orthogonal to date format
485  + date: check for "local" before anything else
486  + t6300: add test for "raw" date format
487  + t6300: introduce test_date() helper
488  + fast-import: switch crash-report date to iso8601
489  + Documentation/rev-list: don't list date formats
490  + Documentation/git-for-each-ref: don't list date formats
491  + Documentation/config: don't list date formats
492  + Documentation/blame-options: don't list date formats
494  "git log --date=local" used to only allow to show the normal
495  (default) format in the local timezone. The command learned to take
496  'local' as an instruction to use the local timezone with other
497  formats, e.g. "git show --date=rfc-local".
499  Will merge to 'master'.
502 * nk/stash-show-config (2015-08-31) 1 commit
503   (merged to 'next' on 2015-09-08 at 90dd06f)
504  + stash: allow "stash show" diff output configurable
506  Users who are too busy to type three extra keystrokes to ask for
507  "git stash show -p" can now set stash.showPatch configuration
508  varible to true to always see the actual patch, not just the list
509  of paths affected with feel for the extent of damage via diffstat.
511  Will merge to 'master'.
514 * ls/p4-path-encoding (2015-09-16) 2 commits
515   (merged to 'next' on 2015-09-17 at 7f8b9e0)
516  + git-p4: improve path encoding verbose output
517   (merged to 'next' on 2015-09-08 at 56514f9)
518  + git-p4: add config git-p4.pathEncoding
520  "git p4" learned to reencode the pathname it uses to communicate
521  with the p4 depot with a new option.
523  Will merge to 'master'.
526 * ad/bisect-terms (2015-08-03) 4 commits
527   (merged to 'next' on 2015-09-01 at ede6e64)
528  + bisect: allow setting any user-specified in 'git bisect start'
529  + bisect: add 'git bisect terms' to view the current terms
530  + bisect: add the terms old/new
531  + bisect: sanity check on terms
533  The use of 'good/bad' in "git bisect" made it confusing to use when
534  hunting for a state change that is not a regression (e.g. bugfix).
535  The command learned 'old/new' and then allows the end user to
536  say e.g. "bisect start --term-old=fast --term=new=slow" to find a
537  performance regression.
539  Michael's idea to make 'good/bad' more intelligent does have
540  certain attractiveness ($gname/272867), and makes some of the work
541  on this topic a moot point.
543  Will merge to 'master'.
546 * dt/refs-bisection (2015-09-01) 3 commits
547   (merged to 'next' on 2015-09-08 at 2b66bad)
548  + refs: make refs/bisect/* per-worktree
549  + path: optimize common dir checking
550  + refs: clean up common_list
552  Move the refs used during a "git bisect" session to per-worktree
553  hierarchy refs/worktree/* so that independent bisect sessions can
554  be done in different worktrees.
556  Will merge to 'master'.
559 * ld/p4-import-labels (2015-08-28) 3 commits
560   (merged to 'next' on 2015-09-01 at cf9f1d6)
561  + git-p4: fix P4 label import for unprocessed commits
562  + git-p4: do not terminate creating tag for unknown commit
563  + git-p4: failing test for ignoring invalid p4 labels
565  Will merge to 'master'.
568 * kn/for-each-tag (2015-09-17) 17 commits
569   (merged to 'next' on 2015-09-17 at 1980952)
570  + tag.c: implement '--merged' and '--no-merged' options
571  + tag.c: implement '--format' option
572  + tag.c: use 'ref-filter' APIs
573  + tag.c: use 'ref-filter' data structures
574  + ref-filter: add option to match literal pattern
575  + ref-filter: add support to sort by version
576  + ref-filter: add support for %(contents:lines=X)
577  + ref-filter: add option to filter out tags, branches and remotes
578  + ref-filter: implement an `align` atom
579  + ref-filter: introduce match_atom_name()
580  + ref-filter: introduce handler function for each atom
581  + utf8: add function to align a string into given strbuf
582  + ref-filter: introduce ref_formatting_state and ref_formatting_stack
583  + ref-filter: move `struct atom_value` to ref-filter.c
584  + strtoul_ui: reject negative values
585  + Merge 'jk/git-path' into kn/for-each-tag
586  + Merge 'kn/for-each-tag-branch' into kn/for-each-tag
587  (this branch uses kn/for-each-tag-branch.)
589  The "ref-filter" code was taught about many parts of what "tag -l"
590  does and then "tag -l" is reimplemented in terms of "ref-filter".
592  Will merge to 'master'.
595 * nd/ita-cleanup (2015-09-06) 6 commits
596  - grep: make it clear i-t-a entries are ignored
597  - checkout(-index): do not checkout i-t-a entries
598  - apply: make sure check_preimage() does not leave empty file on error
599  - apply: fix adding new files on i-t-a entries
600  - add and use a convenience macro ce_intent_to_add()
601  - blame: remove obsolete comment
603  Paths that have been told the index about with "add -N" are not yet
604  in the index, but various commands behaved as if they already are.
606  Some commits need better explanation.
608  Waiting for a reroll.
611 * dk/gc-idx-wo-pack (2015-08-17) 3 commits
612  - DONTMERGE: log message, grace-period and tests $gmane/276058
613  - gc: remove stale .idx files without corresponding .pack file
614  - prepare_packed_git(): refactor garbage reporting in pack directory
616  Having a leftover .idx file without correspoinding .pack file in
617  the repository hurts performance; "git gc" learned to prune them.
619  Waiting for a reroll.
622 * bb/remote-get-url (2015-09-17) 1 commit
623  - remote: add get-url subcommand
625  "git remote" learned "get-url" subcommand to show the URL for a
626  given remote name used for fetching and pushing.
628  Will merge to 'next'.
631 * sb/submodule-helper (2015-09-08) 4 commits
632  - submodule: rewrite `module_clone` shell function in C
633  - submodule: rewrite `module_name` shell function in C
634  - submodule: rewrite `module_list` shell function in C
635  - Merge 'hv/submodule-config' to 'sb/submodule-helper'
636  (this branch is used by sb/submodule-parallel-fetch.)
638  The infrastructure to rewrite "git submodule" in C is being built
639  incrementally.  Let's polish these early parts well enough and make
640  them graduate to 'next' and 'master', so that the more involved
641  follow-up can start cooking on a solid ground.
643  Looked ready for 'next'.  Comments from others?
646 * ad/cygwin-wants-rename (2015-08-07) 1 commit
647  - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
649  Will hold.
650  ($gmane/275680).
653 * kn/for-each-tag-branch (2015-08-03) 11 commits
654   (merged to 'next' on 2015-08-03 at d9e94b9)
655  + for-each-ref: add '--contains' option
656  + ref-filter: implement '--contains' option
657  + parse-options.h: add macros for '--contains' option
658  + parse-option: rename parse_opt_with_commit()
659  + for-each-ref: add '--merged' and '--no-merged' options
660  + ref-filter: implement '--merged' and '--no-merged' options
661  + ref-filter: add parse_opt_merge_filter()
662  + for-each-ref: add '--points-at' option
663  + ref-filter: implement '--points-at' option
664  + tag: libify parse_opt_points_at()
665  + t6302: for-each-ref tests for ref-filter APIs
666  (this branch is used by kn/for-each-tag.)
668  Originally merged to 'next' on 2015-07-15
670  Some features from "git tag -l" and "git branch -l" have been made
671  available to "git for-each-ref" so that eventually the unified
672  implementation can be shared across all three, in a follow-up
673  series or two.
675  Will merge to 'master'.
678 * jc/rerere (2015-07-24) 21 commits
679   (merged to 'next' on 2015-08-26 at 8ae15ef)
680  + rerere: un-nest merge() further
681  + rerere: use "struct rerere_id" instead of "char *" for conflict ID
682  + rerere: call conflict-ids IDs
683  + rerere: further clarify do_rerere_one_path()
684  + rerere: further de-dent do_plain_rerere()
685  + rerere: refactor "replay" part of do_plain_rerere()
686  + rerere: explain the remainder
687  + rerere: explain "rerere forget" codepath
688  + rerere: explain the primary codepath
689  + rerere: explain MERGE_RR management helpers
690  + rerere: fix benign off-by-one non-bug and clarify code
691  + rerere: explain the rerere I/O abstraction
692  + rerere: do not leak mmfile[] for a path with multiple stage #1 entries
693  + rerere: stop looping unnecessarily
694  + rerere: drop want_sp parameter from is_cmarker()
695  + rerere: report autoupdated paths only after actually updating them
696  + rerere: write out each record of MERGE_RR in one go
697  + rerere: lift PATH_MAX limitation
698  + rerere: plug conflict ID leaks
699  + rerere: handle conflicts with multiple stage #1 entries
700  + rerere: fix an off-by-one non-bug
701  (this branch is used by jc/rerere-multi.)
703  Code clean-up and minor fixes.
705  Will merge to 'master'.
708 * jc/rerere-multi (2015-09-14) 7 commits
709  - rerere: do use multiple variants
710  - t4200: rerere a merge with two identical conflicts
711  - rerere: allow multiple variants to exist
712  - rerere: delay the recording of preimage
713  - rerere: handle leftover rr-cache/$ID directory and postimage files
714  - rerere: scan $GIT_DIR/rr-cache/$ID when instantiating a rerere_id
715  - rerere: split conflict ID further
716  (this branch uses jc/rerere.)
718  "git rerere" can encounter two or more files with the same conflict
719  signature that have to be resolved in different ways, but there was
720  no way to record these separate resolutions.
723 * jc/merge-drop-old-syntax (2015-04-29) 1 commit
724   (merged to 'next' on 2015-08-03 at a52c2b2)
725  + merge: drop 'git merge <message> HEAD <commit>' syntax
727  Originally merged to 'next' on 2015-05-28
729  Stop supporting "git merge <message> HEAD <commit>" syntax that
730  has been deprecated since October 2007.
732  Will keep in 'next' during the 2.6 cycle.