1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Aug 2015, #03; Mon, 17)
4 X-master-at: 44e02239f41177b6a7567e86db2cd18f7949d941
5 X-next-at: ab17608326e73d8e92eba73c51dac99aa92984ba
7 What's cooking in git.git (Aug 2015, #03; Mon, 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
14 The second batch of topics have graduated to 'master'. Most
15 notably, the rewritten "git am" is in. Also "worktree add" is
18 You can find the changes described here in the integration branches
19 of the repositories listed at
21 http://git-blame.blogspot.com/p/git-public-repositories.html
23 --------------------------------------------------
24 [Graduated to "master"]
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.)
31 Allow untracked cache (experimental) to be used when sparse
32 checkout (experimental) is also in use.
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
39 "git pull --rebase" has been taught to pay attention to
40 rebase.autostash configuration.
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
50 An off-by-one error made "git remote" to mishandle a remote with a
51 single letter nickname.
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
58 --------------------------------------------------
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
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.
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
82 Having a leftover .idx file without correspoinding .pack file in
83 the repository hurts performance; "git gc" learned to prune them.
88 * ep/http-configure-ssl-version (2015-08-17) 1 commit
89 - http: add support for specifying the SSL version
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.
97 * jv/send-email-selective-smtp-auth (2015-08-17) 1 commit
98 - send-email: provide whitelist of SMTP AUTH mechanisms
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
104 Will merge to 'next'.
107 * po/po-readme (2015-08-17) 1 commit
108 - po/README: Update directions for l10n contributors
110 Will merge to 'next'.
113 * pt/am-builtin-abort-fix (2015-08-17) 1 commit
114 - am --abort: merge ORIG_HEAD tree into index
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.
120 Will merge to 'next'.
123 * ss/fix-config-fd-leak (2015-08-14) 1 commit
124 - config: close config file handle in case of error
126 Will merge to 'next'.
128 --------------------------------------------------
131 * nd/list-files (2015-02-09) 21 commits
132 - t3080: tests for git-list-files
133 - list-files: -M aka diff-cached
134 - list-files -F: show submodules with the new indicator '&'
135 - list-files: add -F/--classify
136 - list-files: show directories as well as files
137 - list-files: do not show duplicate cached entries
138 - list-files: sort output and remove duplicates
139 - list-files: add -t back
140 - list-files: add -1 short for --no-column
141 - list-files: add -R/--recursive short for --max-depth=-1
142 - list-files: -u does not imply showing stages
143 - list-files: make alias 'ls' default to 'list-files'
144 - list-files: a user friendly version of ls-files and more
145 - ls-files: support --max-depth
146 - ls-files: add --column
147 - ls-files: add --color to highlight file names
148 - ls-files: buffer full item in strbuf before printing
149 - ls_colors.c: highlight submodules like directories
150 - ls_colors.c: add a function to color a file name
151 - ls_colors.c: parse color.ls.* from config file
152 - ls_colors.c: add $LS_COLORS parsing code
154 A new "git list-files" Porcelain command, "ls-files" with bells and
157 Reroll to base on wt-status work ($gmane/265142) has seen some
158 positive discussions.
160 Waiting for a further polished reroll ($gmane/265534).
163 * mh/numparse (2015-03-19) 14 commits
164 . diff_opt_parse(): use convert_i() when handling --abbrev=<num>
165 . diff_opt_parse(): use convert_i() when handling "-l<num>"
166 . opt_arg(): simplify pointer handling
167 . opt_arg(): report errors parsing option values
168 . opt_arg(): use convert_i() in implementation
169 . opt_arg(): val is always non-NULL
170 . builtin_diff(): detect errors when parsing --unified argument
171 . handle_revision_opt(): use convert_ui() when handling "--abbrev="
172 . strtoul_ui(), strtol_i(): remove functions
173 . handle_revision_opt(): use convert_i() when handling "-<digit>"
174 . handle_revision_opt(): use skip_prefix() in many places
175 . write_subdirectory(): use convert_ui() for parsing mode
176 . cacheinfo_callback(): use convert_ui() when handling "--cacheinfo"
177 . numparse: new module for parsing integral numbers
179 Many codepaths use unchecked use of strtol() and friends (or even
180 worse, atoi()). Introduce a set of wrappers that try to be more
187 * kk/log-merges-config (2015-04-21) 5 commits
188 - bash-completion: add support for git-log --merges= and log.merges
189 - t4202-log: add tests for --merges=
190 - Documentation: add git-log --merges= option and log.merges config. var
191 - log: honor log.merges= option
192 - revision: add --merges={show|only|hide} option
194 "git log" (but not other commands in the "log" family) learned to
195 pay attention to the log.merges configuration variable that can be
196 set to "show" (the normal behaviour), "only" (hide non-merge
197 commits), or "hide" (hide merge commits). --merges=(show|only|hide)
198 can be used to override the setting from the command line.
200 The documentation may need to be updated once more ($gmane/267250).
201 Waiting for a reroll.
204 * mg/httpd-tests-update-for-apache-2.4 (2015-04-08) 2 commits
205 - t/lib-git-svn: check same httpd module dirs as lib-httpd
206 - t/lib-httpd: load mod_unixd
208 This is the first two commits in a three-patch series $gmane/266962
211 with updated log message ($gmane/268061).
214 * bw/portability-solaris (2015-07-20) 3 commits
215 - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris
216 - tests: fix sed usage in tests to work around broken xpg4/sed on Solaris
217 - tests: modify tr expressions so that xpg4/tr handles it on Solaris
219 Needs another reroll?
223 * jc/clone-bundle (2015-04-30) 1 commit
224 - repack: optionally create a clone.bundle
226 Waiting for further work.
230 * mg/index-read-error-messages (2015-06-01) 2 commits
231 - messages: uniform error messages for index write
232 - show-index: uniform error messages for index read
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
244 The gitmodules API accessed from the C code learned to cache stuff
247 Needs another reroll?
251 * jk/log-missing-default-HEAD (2015-06-03) 1 commit
252 - log: diagnose empty HEAD more clearly
254 "git init empty && git -C empty log" said "bad default revision 'HEAD'",
255 which was found to be a bit confusing to new users.
257 What's the status of this one?
260 * wp/sha1-name-negative-match (2015-06-08) 2 commits
261 - sha1_name.c: introduce '^{/!-<negative pattern>}' notation
262 - test for '!' handling in rev-parse's named commits
264 Introduce "branch^{/!-<pattern>}" notation to name a commit
265 reachable from branch that does not match the given pattern.
270 * mk/utf8-no-iconv-warn (2015-06-08) 1 commit
271 - utf8.c: print warning about disabled iconv
273 Warn when a reencoding is requested in a build without iconv
274 support, as the end user is likely to get an unexpected result. I
275 think the same level of safety should be added to a build with
276 iconv support when the specified encoding is not available, but the
277 patch does not go there.
282 * ak/format-patch-odir-config (2015-06-19) 1 commit
283 - format-patch: introduce format.outputDirectory configuration
285 Reroll exists but didn't pick it up as it seemed to be still
286 collecting review comments.
292 * ad/bisect-terms (2015-08-03) 4 commits
293 - bisect: allow setting any user-specified in 'git bisect start'
294 - bisect: add 'git bisect terms' to view the current terms
295 - bisect: add the terms old/new
296 - bisect: sanity check on terms
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.
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.
311 * mh/notes-allow-reading-treeish (2015-07-13) 1 commit
312 - notes: allow treeish expressions as notes ref
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).
321 Needs update to docs.
325 * jc/diff-b-m (2015-02-23) 5 commits
328 - diffcore-rename: allow easier debugging
329 - diffcore-rename.c: add locate_rename_src()
330 - diffcore-break: allow debugging
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
337 The fix in this patch is broken, unfortunately.
340 * pw/remote-set-url-fetch (2014-11-26) 1 commit
341 . remote: add --fetch and --both options to set-url
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()
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.
362 Waiting for a reroll.
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
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.
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
383 Waiting for the final step to lift the hard-limit.
385 --------------------------------------------------
388 * bb/remote-get-url (2015-08-05) 1 commit
389 - remote: add get-url subcommand
391 "git remote" learned "get-url" subcommand to show the URL for a
392 given remote name used for fetching and pushing.
394 Waiting for a reroll.
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
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.
409 Will merge to 'master'.
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.)
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.
422 Will merge to 'master'.
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.)
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.
438 Will merge to 'master'.
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
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.
451 The latest reroll (v8) hasn't been picked up.
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()
460 The submodule code has been taught to work better with separate
461 work trees created via "git worktree add".
463 Waiting for a review.
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
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
475 Will merge to 'maint'.
477 Note that this is irrelevant for 'master' with "git pull" rewritten
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
486 t1509 test that requires a dedicated VM environment had some
487 bitrot, which has been corrected.
489 Will merge to 'master'.
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
498 After "git am --opt1" stops, running "git am --opt2" pays attention
499 to "--opt2" only for the patch that caused the original invocation
502 Will merge to 'master'.
505 * sb/remove-get-pathspec (2015-08-03) 1 commit
506 - builtin/mv: remove get_pathspec()
512 * sb/submodule-helper (2015-08-07) 1 commit
513 - submodule: implement `module_list` as a builtin helper
515 The beginning of "git submodule" rewritten in C.
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
522 The command-line completion script (in contrib/) has been updated.
524 Will merge to 'master'.
527 * dt/untracked-subdir (2015-08-07) 2 commits
528 - DONTMERGE: wait for Duy to Ack or comment
529 - untracked-cache: fix subdirectory handling
531 Waiting for a review cycle to conclude.
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
540 Running tests with the "-x" option to make them verbose had some
541 unpleasant interactions with other features of the test suite.
543 Will merge to 'master'.
546 * ad/cygwin-wants-rename (2015-08-07) 1 commit
547 - config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
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
557 Test updates for Windows.
559 Will merge to 'master'.
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()
566 Long overdue micro clean-up.
568 Will merge to 'master'.
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
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.
594 Will merge to 'master'.
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
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
606 Will merge to 'master'.
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
613 Test updates for Windows.
615 Will merge to 'master'.
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
623 "git config --list" output was hard to parse when values consist of
624 multiple lines. "--name-only" option is added to help this.
626 Will merge to 'master'.
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
648 The "lockfile" API has been rebuilt on top of a new "tempfile" API.
650 Will merge to 'master'.
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
657 strbuf_read() used to have one extra iteration (and an unnecessary
658 strbuf_grow() of 8kB), which was eliminated.
660 Will merge to 'master'.
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.
667 Will merge to 'master'.
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
675 A negative !ref entry in multi-value transfer.hideRefs
676 configuration can be used to say "don't hide this one".
678 Will merge to 'master'.
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
686 When linked worktree is used, simultaneous "notes merge" instances
687 for the same ref in refs/notes/* are prevented from stomping on
690 Will merge to 'master'.
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
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).
708 Will merge to 'master'.
711 * kn/for-each-tag-branch (2015-08-03) 11 commits
712 (merged to 'next' on 2015-08-03 at d9e94b9)
713 + for-each-ref: add '--contains' option
714 + ref-filter: implement '--contains' option
715 + parse-options.h: add macros for '--contains' option
716 + parse-option: rename parse_opt_with_commit()
717 + for-each-ref: add '--merged' and '--no-merged' options
718 + ref-filter: implement '--merged' and '--no-merged' options
719 + ref-filter: add parse_opt_merge_filter()
720 + for-each-ref: add '--points-at' option
721 + ref-filter: implement '--points-at' option
722 + tag: libify parse_opt_points_at()
723 + t6302: for-each-ref tests for ref-filter APIs
725 Originally merged to 'next' on 2015-07-15
727 Some features from "git tag -l" and "git branch -l" have been made
728 available to "git for-each-ref" so that eventually the unified
729 implementation can be shared across all three, in a follow-up
733 * jc/rerere (2015-07-24) 21 commits
734 - rerere: un-nest merge() further
735 - rerere: use "struct rerere_id" instead of "char *" for conflict ID
736 - rerere: call conflict-ids IDs
737 - rerere: further clarify do_rerere_one_path()
738 - rerere: further de-dent do_plain_rerere()
739 - rerere: refactor "replay" part of do_plain_rerere()
740 - rerere: explain the remainder
741 - rerere: explain "rerere forget" codepath
742 - rerere: explain the primary codepath
743 - rerere: explain MERGE_RR management helpers
744 - rerere: fix benign off-by-one non-bug and clarify code
745 - rerere: explain the rerere I/O abstraction
746 - rerere: do not leak mmfile[] for a path with multiple stage #1 entries
747 - rerere: stop looping unnecessarily
748 - rerere: drop want_sp parameter from is_cmarker()
749 - rerere: report autoupdated paths only after actually updating them
750 - rerere: write out each record of MERGE_RR in one go
751 - rerere: lift PATH_MAX limitation
752 - rerere: plug conflict ID leaks
753 - rerere: handle conflicts with multiple stage #1 entries
754 - rerere: fix an off-by-one non-bug
755 (this branch is used by jc/rerere-multi.)
757 Code clean-up and minor fixes (so far).
760 * jc/rerere-multi (2015-07-30) 7 commits
761 . t4200: rerere a merge with two identical conflicts
763 . rerere: allow multiple variants to exist
764 - rerere: delay the recording of preimage
765 - rerere: handle leftover rr-cache/$ID directory and postimage files
766 - rerere: scan $GIT_DIR/rr-cache/$ID when instantiating a rerere_id
767 - rerere: split conflict ID further
768 (this branch uses jc/rerere.)
770 This is a contination of jc/rerere topic.
773 * jc/merge-drop-old-syntax (2015-04-29) 1 commit
774 (merged to 'next' on 2015-08-03 at a52c2b2)
775 + merge: drop 'git merge <message> HEAD <commit>' syntax
777 Originally merged to 'next' on 2015-05-28
779 Stop supporting "git merge <message> HEAD <commit>" syntax that
780 has been deprecated since October 2007.
782 Will keep in 'next' during the 2.6 cycle.