What's cooking (2014/01 #03)
[alt-git.git] / whats-cooking.txt
blob46e8bf17aeef00cd7f3583086a21fb6cdf139bdb
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Jan 2014, #03; Thu, 16)
4 X-master-at: 14598b907008dc9952428662a30ecfd74dc90a79
5 X-next-at: b139ac2589b15d55cd9fa5c6957da44b150d0737
7 What's cooking in git.git (Jan 2014, #03; Thu, 16)
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 am planning to tag 1.9-rc0 preview release from the tip of
15 'master'.  Hopefully a few fix-up topics still in flight and also
16 updates to git-gui and gitk from subarea maintainers can be merged
17 by 1.9-rc1 is tagged.
19 You can find the changes described here in the integration branches
20 of the repositories listed at
22     http://git-blame.blogspot.com/p/git-public-repositories.html
24 --------------------------------------------------
25 [Graduated to "master"]
27 * br/sha1-name-40-hex-no-disambiguation (2014-01-07) 1 commit
28   (merged to 'next' on 2014-01-10 at 2a0973b)
29  + sha1_name: don't resolve refs when core.warnambiguousrefs is false
30  (this branch is used by jk/warn-on-object-refname-ambiguity.)
32  When parsing a 40-hex string into the object name, the string is
33  checked to see if it can be interpreted as a ref so that a warning
34  can be given for ambiguity. The code kicked in even when the
35  core.warnambiguousrefs is set to false to squelch this warning, in
36  which case the cycles spent to look at the ref namespace were an
37  expensive no-op, as the result was discarded without being used.
40 * jk/pull-rebase-using-fork-point (2014-01-09) 1 commit
41   (merged to 'next' on 2014-01-10 at e86e59d)
42  + rebase: fix fork-point with zero arguments
45 * jl/submodule-mv-checkout-caveat (2014-01-07) 2 commits
46   (merged to 'next' on 2014-01-10 at 8d3953c)
47  + rm: better document side effects when removing a submodule
48  + mv: better document side effects when moving a submodule
50  With a submodule that was initialized in an old fashioned way
51  without gitlinks, switching branches in the superproject between
52  the one with and without the submodule may leave the submodule
53  working tree with its embedded repository behind, as there may be
54  unexpendable state there. Document and warn users about this.
57 * jn/pager-lv-default-env (2014-01-07) 1 commit
58   (merged to 'next' on 2014-01-10 at 22d4755)
59  + pager: set LV=-c alongside LESS=FRSX
61  Just like we give a reasonable default for "less" via the LESS
62  environment variable, specify a reasonable default for "lv" via the
63  "LV" environment variable when spawning the pager.
66 * mh/shorten-unambigous-ref (2014-01-09) 3 commits
67  + shorten_unambiguous_ref(): tighten up pointer arithmetic
68  + gen_scanf_fmt(): delete function and use snprintf() instead
69  + shorten_unambiguous_ref(): introduce a new local variable
72 * mm/mv-file-to-no-such-dir-with-slash (2014-01-10) 1 commit
73  + mv: let 'git mv file no-such-dir/' error out on Windows, too
75  Finishing touches to a topic that has already been merged to 'master'.
78 * ow/stash-with-ifs (2014-01-07) 1 commit
79   (merged to 'next' on 2014-01-10 at 4fc9bdb)
80  + stash: handle specifying stashes with $IFS
82  The implementation of 'git stash $cmd "stash@{...}"' did not quote
83  the stash argument properly and left it split at IFS whitespace.
86 * rr/completion-format-coverletter (2014-01-07) 1 commit
87   (merged to 'next' on 2014-01-10 at d2dbc9d)
88  + completion: complete format.coverLetter
90  The bash/zsh completion code did not know about format.coverLetter
91  among many format.* configuration variables.
93 --------------------------------------------------
94 [New Topics]
96 * ab/subtree-doc (2014-01-13) 1 commit
97  - subtree: fix argument validation in add/pull/push
99  Will merge to 'next'.
102 * jk/complete-merge-base (2014-01-13) 2 commits
103  - completion: handle --[no-]fork-point options to git-rebase
104  - completion: complete merge-base options
106  Will merge to 'next'.
109 * po/everyday-doc (2014-01-13) 1 commit
110  - Make 'git help everyday' work
113 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
114  - merge: drop unused arg from abort_commit method signature
115  - merge: make prepare_to_commit responsible for write_merge_state
116  - t7505: ensure cleanup after hook blocks merge
117  - t7505: add missing &&
119  Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
120  run during "git merge".  The log stressed too much on one hook,
121  prepare-commit-msg, but it would equally apply to other hooks like
122  post-merge, I think.
124  Waiting to give a chance to reroll.
127 * bl/blame-full-history (2014-01-14) 1 commit
128  - blame: new option --prefer-first to better handle merged cherry-picks
131 * da/pull-ff-configuration (2014-01-15) 2 commits
132  - pull: add --ff-only to the help text
133  - pull: add pull.ff configuration
135  Will merge to 'next'.
138 * jc/maint-pull-docfix (2014-01-14) 2 commits
139  - Documentation: "git pull" does not have the "-m" option
140  - Merge branch 'jc/maint-pull-docfix-for-409b8d82' into jc/maint-pull-docfix
141  (this branch uses jc/maint-pull-docfix-for-409b8d82.)
143  Will merge to 'next'.
146 * jc/maint-pull-docfix-for-409b8d82 (2014-01-14) 1 commit
147  - Documentation: exclude irrelevant options from "git pull"
148  (this branch is used by jc/maint-pull-docfix.)
150  Will merge to 'next'.
153 * jc/revision-range-unpeel (2014-01-15) 2 commits
154  - revision: propagate flag bits from tags to pointees
155  - revision: mark contents of an uninteresting tree uninteresting
157  "git log --left-right A...B" lost the "leftness" of commits
158  reachable from A when A is a tag as a side effect of a recent
159  bugfix.  This is a regression in 1.8.4.x series.
161  Will merge to 'next'.
164 * jk/allow-fetch-onelevel-refname (2014-01-15) 1 commit
165  - fetch-pack: do not filter out one-level refs
167  "git clone" would fail to clone from a repository that has a ref
168  directly under "refs/", e.g. "refs/stash", because different
169  validation paths do different things on such a refname.  Loosen the
170  client side's validation to allow such a ref.
172  Will merge to 'next'.
175 * jk/interpret-branch-name-fix (2014-01-15) 5 commits
176  - interpret_branch_name: find all possible @-marks
177  - interpret_branch_name: avoid @{upstream} past colon
178  - interpret_branch_name: always respect "namelen" parameter
179  - interpret_branch_name: rename "cp" variable to "at"
180  - interpret_branch_name: factor out upstream handling
182  Fix a handful of bugs around interpreting $branch@{upstream}
183  notation and its lookalike, when $branch part has interesting
184  characters, e.g. "@", and ":".
186  Will merge to 'next'.
189 * mh/attr-macro-doc (2014-01-14) 1 commit
190  - gitattributes: document more clearly where macros are allowed
192  Will merge to 'next'.
195 * mh/retire-ref-fetch-rules (2014-01-14) 1 commit
196  - refname_match(): always use the rules in ref_rev_parse_rules
198  Code simplification.
200  Will merge to 'next'.
202 --------------------------------------------------
203 [Stalled]
205 * jc/graph-post-root-gap (2013-12-30) 3 commits
206  - WIP: document what we want at the end
207  - graph: remove unused code a bit
208  - graph: stuff the current commit into graph->columns[]
210  This was primarily a RFH ($gmane/239580).
213 * fc/transport-helper-fixes (2013-12-09) 6 commits
214  - remote-bzr: support the new 'force' option
215  - test-hg.sh: tests are now expected to pass
216  - transport-helper: check for 'forced update' message
217  - transport-helper: add 'force' to 'export' helpers
218  - transport-helper: don't update refs in dry-run
219  - transport-helper: mismerge fix
221  Updates transport-helper, fast-import and fast-export to allow the
222  ref mapping and ref deletion in a way similar to the natively
223  supported transports.
225  Reported to break t5541.
226  Will hold.
229 * fc/completion (2013-12-09) 1 commit
230  - completion: fix completion of certain aliases
232  SZEDER Gábor noticed that this breaks "git -c var=val alias" and
233  also suggested a better description of the change.
235  Will hold.
238 * mo/subtree-split-updates (2013-12-10) 3 commits
239  - subtree: add --edit option
240  - subtree: allow --squash and --message with push
241  - subtree: support split --rejoin --squash
243  Comments?
246 * hv/submodule-ignore-fix (2013-12-06) 4 commits
247  - disable complete ignorance of submodules for index <-> HEAD diff
248  - always show committed submodules in summary after commit
249  - teach add -f option for ignored submodules
250  - fix 'git add' to skip submodules configured as ignored
252  Teach "git add" to be consistent with "git status" when changes to
253  submodules are set to be ignored, to avoid surprises after checking
254  with "git status" to see there isn't any change to be further added
255  and then see that "git add ." adds changes to them.
257  I think a reroll is coming, so this may need to be replaced, but I
258  needed some practice with heavy conflict resolution.  It conflicts
259  with two changes to "git add" that have been scheduled for Git 2.0
260  quite badly, and I think I got the resolution right this time.
263 * kb/fast-hashmap (2014-01-03) 19 commits
264  - hashmap.h: make sure map entries are tightly packed
265   (merged to 'next' on 2014-01-03 at dc85001)
266  + name-hash: retire unused index_name_exists()
267  + hashmap.h: Use 'unsigned int' for hash-codes everywhere
268   (merged to 'next' on 2013-12-16 at bff99b1)
269  + Drop unnecessary #includes from test-hashmap
270  + Add test-hashmap to .gitignore
271   (merged to 'next' on 2013-12-06 at f90be3d)
272  + read-cache.c: fix memory leaks caused by removed cache entries
273  + builtin/update-index.c: cleanup update_one
274  + fix 'git update-index --verbose --again' output
275  + remove old hash.[ch] implementation
276  + name-hash.c: remove cache entries instead of marking them CE_UNHASHED
277  + name-hash.c: use new hash map implementation for cache entries
278  + name-hash.c: remove unreferenced directory entries
279  + name-hash.c: use new hash map implementation for directories
280  + diffcore-rename.c: use new hash map implementation
281  + diffcore-rename.c: simplify finding exact renames
282  + diffcore-rename.c: move code around to prepare for the next patch
283  + buitin/describe.c: use new hash map implementation
284  + add a hashtable implementation that supports O(1) removal
285  + submodule: don't access the .gitmodules cache entry after removing it
287  Improvements to our hash table to get it to meet the needs of the
288  msysgit fscache project, with some nice performance improvements.
290  The tip one does not seem to have reached concensus (yet).
293 * jc/create-directories-microopt (2013-11-11) 1 commit
294  - checkout: most of the time we have good leading directories
296  Of unknown value until tested on non-Linux platforms (especially
297  Windows).
299  Will hold.
302 * jt/commit-fixes-footer (2013-10-30) 1 commit
303  - commit: Add -f, --fixes <commit> option to add Fixes: line
305  There is an ongoing discussion around this topic; in general I am
306  fairly negative on a new feature that is too narrow and prefer a
307  more generic solution that can be tailored for specific needs, as
308  many people stated in the thread.
310  It appears that the discussion stalled.
313 * np/pack-v4 (2013-09-18) 90 commits
314  . packv4-parse.c: add tree offset caching
315  . t1050: replace one instance of show-index with verify-pack
316  . index-pack, pack-objects: allow creating .idx v2 with .pack v4
317  . unpack-objects: decode v4 trees
318  . unpack-objects: allow to save processed bytes to a buffer
319  - ...
321  Nico and Duy advancing the eternal vaporware pack-v4.  This is here
322  primarily for wider distribution of the preview edition.
324  Temporarily ejected from 'pu', to try out jk/pack-bitmap, which
325  this topic conflicts with.
328 * mf/graph-show-root (2013-10-25) 1 commit
329  . graph.c: mark root commit differently
331  In a repository with multiple-roots, "log --graph", especially with
332  "--oneline", does not give the reader enough visual cue to see
333  where one line of history ended and a separate history began.
335  This is the version that marks the roots 'x' when they would have
336  been marked as '*'; Keshav Kini suggested an alternative of giving
337  an extra blank line after every root, which I tend to think is a
338  better approach to the problem.
341 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
342  - perf-lib: add test_perf_cleanup target
343  - perf-lib: split starting the test from the execution
345  Add test_perf_cleanup shell function to the perf suite, that allows
346  the script writers to define a test with a clean-up action.
348  Holding until needed.
351 * yt/shortened-rename (2013-10-18) 2 commits
352  - SQUASH??? style fixes and s/omit/shorten/ where appropriate
353  - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
355  Attempts to give more weight on the fact that a filepair represents
356  a rename than showing substring of the actual path when diffstat
357  lines are not wide enough.
359  I am not sure if that is solving a right problem, though.
362 * rv/send-email-cache-generated-mid (2013-08-21) 2 commits
363  - git-send-email: Cache generated message-ids, use them when prompting
364  - git-send-email: add optional 'choices' parameter to the ask sub
367 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
368  - ### DONTMERGE: needs better explanation on what config they need
369  - pack-refs.c: Add missing call to git_config()
370  - show-ref.c: Add missing call to git_config()
372  The changes themselves are probably good, but it is unclear what
373  basic setting needs to be read for which exact operation.
375  Waiting for clarification.
376  $gmane/228294
379 * jc/format-patch (2013-04-22) 2 commits
380  - format-patch: --inline-single
381  - format-patch: rename "no_inline" field
383  A new option to send a single patch to the standard output to be
384  appended at the bottom of a message.  I personally have no need for
385  this, but it was easy enough to cobble together.  Tests, docs and
386  stripping out more MIMEy stuff are left as exercises to interested
387  parties.
390 * jk/gitweb-utf8 (2013-04-08) 4 commits
391  - gitweb: Fix broken blob action parameters on blob/commitdiff pages
392  - gitweb: Don't append ';js=(0|1)' to external links
393  - gitweb: Make feed title valid utf8
394  - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
396  Various fixes to gitweb.
398  Drew Northup volunteered to take a look into this.
399  $gmane/226216
402 * jc/show-branch (2013-06-07) 5 commits
403  - show-branch: use commit slab to represent bitflags of arbitrary width
404  - show-branch.c: remove "all_mask"
405  - show-branch.c: abstract out "flags" operation
406  - show-branch.c: lift all_mask/all_revs to a global static
407  - show-branch.c: update comment style
409  Waiting for the final step to lift the hard-limit before sending it out.
411 --------------------------------------------------
412 [Cooking]
414 * wk/submodule-on-branch (2014-01-16) 6 commits
415  - Documentation: Describe 'submodule update' modes in detail
416  - t7406: Add explicit tests for head attachement after cloning updates
417  - [DONOTMERGE] t7406: Just-cloned checkouts update to the gitlinked hash with 'reset'
418  - submodule: Explicit local branch creation in module_clone
419  - submodule: Document module_clone arguments in comments
420  - submodule: Make 'checkout' update_module explicit
421  (this branch uses fp/submodule-checkout-mode.)
423  Makes sure 'submodule update' modes that do not detach HEADs can
424  be used more pleasantly by checking out a concrete branch when
425  cloning them to prime the well.
427  This round seems to be almost ready; further discussions are of
428  course very much welcomed.
430  Will wait for another reroll to fix minor nits, at least.
433 * jk/branch-at-publish (2014-01-13) 6 commits
434  - t1507 (rev-parse-upstream): fix typo in test title
435  - implement @{publish} shorthand
436  - branch_get: provide per-branch pushremote pointers
437  - branch_get: return early on error
438  - interpret_branch_name: factor out upstream handling
439  - sha1_name: refactor upstream_mark
441  Give an easier access to the tracking branches from "other" side in
442  a triangular workflow by introducing B@{publish} that works in a
443  similar way to how B@{upstream} does.
445  Will rebase to share the same change with the
446  jk/interpret-branch-name-fix topic.
449 * jk/warn-on-object-refname-ambiguity (2014-01-09) 6 commits
450  - get_sha1: drop object/refname ambiguity flag
451  - get_sha1: speed up ambiguous 40-hex test
452  - FIXUP: teach DO_FOR_EACH_NO_RECURSE to prime_ref_dir()
453  - refs: teach for_each_ref a flag to avoid recursion
454  - cat-file: fix a minor memory leak in batch_objects
455  - cat-file: refactor error handling of batch_objects
457  Expecting a reroll.
460 * ap/remote-hg-skip-null-bookmarks (2014-01-02) 1 commit
461  - remote-hg: do not fail on invalid bookmarks
463  Reported to break tests ($gmane/240005)
464  Expecting a reroll.
467 * ss/safe-create-leading-dir-with-slash (2014-01-06) 1 commit
468  - safe_create_leading_directories(): on Windows, \ can separate path components
470  Expecting to be rolled into mh/safe-create-leading-directories
473 * fp/submodule-checkout-mode (2014-01-07) 1 commit
474   (merged to 'next' on 2014-01-10 at 647ba9b)
475  + git-submodule.sh: 'checkout' is a valid update mode
476  (this branch is used by wk/submodule-on-branch.)
478  "submodule.*.update=checkout", when propagated from .gitmodules to
479  .git/config, turned into a "submodule.*.update=none", which did not
480  make much sense.
482  Will merge to 'master'.
485 * jl/submodule-recursive-checkout (2013-12-26) 5 commits
486  - Teach checkout to recursively checkout submodules
487  - submodule: teach unpack_trees() to update submodules
488  - submodule: teach unpack_trees() to repopulate submodules
489  - submodule: teach unpack_trees() to remove submodule contents
490  - submodule: prepare for recursive checkout of submodules
492  Expecting a reroll.
495 * mh/safe-create-leading-directories (2014-01-06) 17 commits
496  - rename_tmp_log(): on SCLD_VANISHED, retry
497  - rename_tmp_log(): limit the number of remote_empty_directories() attempts
498  - rename_tmp_log(): handle a possible mkdir/rmdir race
499  - rename_ref(): extract function rename_tmp_log()
500  - remove_dir_recurse(): handle disappearing files and directories
501  - remove_dir_recurse(): tighten condition for removing unreadable dir
502  - lock_ref_sha1_basic(): if locking fails with ENOENT, retry
503  - lock_ref_sha1_basic(): on SCLD_VANISHED, retry
504  - safe_create_leading_directories(): add new error value SCLD_VANISHED
505  - cmd_init_db(): when creating directories, handle errors conservatively
506  - safe_create_leading_directories(): introduce enum for return values
507  - safe_create_leading_directories(): always restore slash at end of loop
508  - safe_create_leading_directories(): split on first of multiple slashes
509  - safe_create_leading_directories(): rename local variable
510  - safe_create_leading_directories(): add explicit "slash" pointer
511  - safe_create_leading_directories(): reduce scope of local variable
512  - safe_create_leading_directories(): fix format of "if" chaining
514  Code clean-up and protection against concurrent write access to the
515  ref namespace.
517  Asked Michael and Sebastian to work together to roll the latter's
518  "allow passing p\a\t\h to safe_create_leading_dir()" into this.
520  Expecting a reroll.
523 * jk/pack-bitmap (2013-12-30) 21 commits
524   (merged to 'next' on 2014-01-10 at bdbe0a4)
525  + pack-bitmap: implement optional name_hash cache
526  + t/perf: add tests for pack bitmaps
527  + t: add basic bitmap functionality tests
528  + count-objects: recognize .bitmap in garbage-checking
529  + repack: consider bitmaps when performing repacks
530  + repack: handle optional files created by pack-objects
531  + repack: turn exts array into array-of-struct
532  + repack: stop using magic number for ARRAY_SIZE(exts)
533  + pack-objects: implement bitmap writing
534  + rev-list: add bitmap mode to speed up object lists
535  + pack-objects: use bitmaps when packing objects
536  + pack-objects: split add_object_entry
537  + pack-bitmap: add support for bitmap indexes
538  + documentation: add documentation for the bitmap format
539  + ewah: compressed bitmap implementation
540  + compat: add endianness helpers
541  + sha1_file: export `git_open_noatime`
542  + revision: allow setting custom limiter function
543  + pack-objects: factor out name_hash
544  + pack-objects: refactor the packing list
545  + revindex: export new APIs
547  Borrows the bitmap index into packfiles from JGit to speed up
548  enumeration of objects involved in a commit range without having to
549  fully traverse the history.
551  Will cook in 'next'.
554 * nv/commit-gpgsign-config (2013-12-17) 3 commits
555   (merged to 'next' on 2014-01-03 at 9780cbb)
556  + test the commit.gpgsign config option
557  + commit-tree: add and document --no-gpg-sign
558  + Add the commit.gpgsign option to sign all commits
560  Introduce commit.gpgsign configuration variable to force every
561  commit to be GPG signed.  The variable cannot be overriden from the
562  command line of some of the commands that create commits except for
563  "git commit" and "git commit-tree", but I am not convinced that it
564  is a good idea to sprinkle support for --no-gpg-sign everywhere.
566  Will cook in 'next'.
569 * nd/shallow-clone (2014-01-09) 31 commits
570   (merged to 'next' on 2014-01-09 at 6608634)
571  + t5537: fix incorrect expectation in test case 10
572   (merged to 'next' on 2014-01-06 at 3dc7fab)
573  + shallow: remove unused code
574  + send-pack.c: mark a file-local function static
575   (merged to 'next' on 2014-01-03 at a776065)
576  + git-clone.txt: remove shallow clone limitations
577  + prune: clean .git/shallow after pruning objects
578  + clone: use git protocol for cloning shallow repo locally
579  + send-pack: support pushing from a shallow clone via http
580  + receive-pack: support pushing to a shallow clone via http
581  + smart-http: support shallow fetch/clone
582  + remote-curl: pass ref SHA-1 to fetch-pack as well
583  + send-pack: support pushing to a shallow clone
584  + receive-pack: allow pushes that update .git/shallow
585  + connected.c: add new variant that runs with --shallow-file
586  + add GIT_SHALLOW_FILE to propagate --shallow-file to subprocesses
587  + receive/send-pack: support pushing from a shallow clone
588  + receive-pack: reorder some code in unpack()
589  + fetch: add --update-shallow to accept refs that update .git/shallow
590  + upload-pack: make sure deepening preserves shallow roots
591  + fetch: support fetching from a shallow repository
592  + clone: support remote shallow repository
593  + fetch-pack.h: one statement per bitfield declaration
594  + fetch-pack.c: move shallow update code out of fetch_pack()
595  + shallow.c: steps 6 and 7 to select new commits for .git/shallow
596  + shallow.c: the 8 steps to select new commits for .git/shallow
597  + shallow.c: extend setup_*_shallow() to accept extra shallow commits
598  + connect.c: teach get_remote_heads to parse "shallow" lines
599  + make the sender advertise shallow commits to the receiver
600  + clone: prevent --reference to a shallow repository
601  + send-pack: forbid pushing from a shallow repository
602  + remote.h: replace struct extra_have_objects with struct sha1_array
603  + transport.h: remove send_pack prototype, already defined in send-pack.h
605  Fetching from a shallow-cloned repository used to be forbidden,
606  primarily because the codepaths involved were not carefully vetted
607  and we did not bother supporting such usage. This attempts to allow
608  object transfer out of a shallow-cloned repository in a controlled
609  way (i.e. the receiver become a shallow repository with truncated
610  history).
612  Will merge to 'master'.
615 * jn/git-gui-chmod+x (2013-11-25) 1 commit
616  - git-gui: chmod +x po2msg, windows/git-gui.sh
618  Parked here until I get the same change back from the upstream
619  git-gui tree.
622 * jn/gitk-chmod+x (2013-11-25) 1 commit
623  - gitk: chmod +x po2msg
625  Parked here until I get the same change back from the upstream gitk
626  tree.
629 * cc/starts-n-ends-with-endgame (2013-12-05) 1 commit
630   (merged to 'next' on 2014-01-07 at 4cdf8d0)
631  + strbuf: remove prefixcmp() and suffixcmp()
633  Endgame for the cc/starts-n-ends-with topic; this needs to be
634  evil-merged with other topics that introduce new uses of
635  prefix/suffix-cmp functions.
637  Will cook in 'next' until Git 2.0.
640 * gj/push-more-verbose-advice (2013-11-13) 1 commit
641   (merged to 'next' on 2013-12-06 at 574b18a)
642  + push: switch default from "matching" to "simple"
644  Originally merged to 'next' on 2013-11-21
646  Explain 'simple' and 'matching' in "git push" advice message; the
647  topmost patch is a rebase of jc/push-2.0-default-to-simple on top
648  of it.
650  Will cook in 'next' until Git 2.0.
653 * tr/merge-recursive-index-only (2013-10-28) 3 commits
654  - merge-recursive: -Xindex-only to leave worktree unchanged
655  - merge-recursive: internal flag to avoid touching the worktree
656  - merge-recursive: remove dead conditional in update_stages()
658  Will hold until using script appears.
661 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
662   (merged to 'next' on 2013-12-06 at ead2ec8)
663  + git add: -u/-A now affects the entire working tree
665  Will cook in 'next' until Git 2.0.
668 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
669   (merged to 'next' on 2013-12-06 at ae18007)
670  + core.statinfo: remove as promised in Git 2.0
672  Will cook in 'next' until Git 2.0.
675 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
676   (merged to 'next' on 2013-12-06 at 6fad61c)
677  + push: switch default from "matching" to "simple"
679  Will cook in 'next' until Git 2.0.
682 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
683   (merged to 'next' on 2013-12-06 at fbaa75a)
684  + git add <pathspec>... defaults to "-A"
686  Updated endgame for "git add <pathspec>" that defaults to "--all"
687  aka "--no-ignore-removal".
689  Will cook in 'next' until Git 2.0.
692 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
693   (merged to 'next' on 2013-12-06 at 083d67c)
694  + diff: remove "diff-files -q" in a version of Git in a distant future
696  Will cook in 'next' until a distant future.