What's cooking (2014/02 #03)
[git/jrn.git] / whats-cooking.txt
blob5eae721b1e44e1924304792a16138dab12433bfe
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Feb 2014, #03; Fri, 7)
4 X-master-at: 6a7071958620dadcce84e4faaa470407ae3d4108
5 X-next-at: 34970086681ea5b5ca7b0bdca6356de6004e0245
7 What's cooking in git.git (Feb 2014, #03; Fri, 7)
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 The tip of 'master' has been tagged as v1.9.0-rc3.  As a workaround
15 to make life easier for third-party tools, the upcoming major
16 release will be called "Git 1.9.0" (not "Git 1.9").  The first
17 maintenance release for it will be "Git 1.9.1", and the major
18 release after "Git 1.9.0" will either be "Git 2.0.0" or "Git
19 1.10.0".
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 * aj/ada-diff-word-pattern (2014-02-05) 1 commit
30   (merged to 'next' on 2014-02-06 at 8062b22)
31  + userdiff: update Ada patterns
34 * nd/tag-doc (2014-02-04) 1 commit
35   (merged to 'next' on 2014-02-06 at 9f02991)
36  + git-tag.txt: <commit> for --contains is optional
39 * ow/manpages-typofix (2014-02-05) 1 commit
40   (merged to 'next' on 2014-02-06 at b482b8f)
41  + Documentation: fix typos in man pages
43 --------------------------------------------------
44 [New Topics]
46 * jc/check-attr-honor-working-tree (2014-02-06) 2 commits
47  - check-attr: move to the top of working tree when in non-bare repository
48  - t0003: do not chdir the whole test process
50  "git check-attr" when (trying to) work on a repository with a
51  working tree did not work well when the working tree was specified
52  via --work-tree (and obviously with --git-dir).
54  The command also works in a bare repository but it reads from the
55  (possibly stale, irrelevant and/or nonexistent) index, which may
56  need to be fixed to read from HEAD, but that is a completely
57  separate issue.  As a related tangentto this separate issue, we may
58  want to also fix "check-ignore", which refuses to work in a bare
59  repository, to also operate in a bare one.
62 * nd/http-fetch-shallow-fix (2014-02-07) 6 commits
63  - fetch-pack: fix deepen shallow over smart http with no-done cap
64  - protocol-capabilities.txt: document no-done
65  - protocol-capabilities.txt: refer multi_ack_detailed back to pack-protocol.txt
66  - pack-protocol.txt: clarify 'obj-id' in the last ACK after 'done'
67  - t5538: fix default http port
68  - test: rename http fetch and push test files
70  Attempting to deepen a shallow repository by fetching over smart
71  HTTP transport failed in the protocol exchange, when no-done
72  extension was used.  The fetching side waited for the list of
73  shallow boundary commits after the sending end stopped talking to
74  it.
76  Will merge to 'next'.
78 --------------------------------------------------
79 [Stalled]
81 * po/everyday-doc (2014-01-27) 1 commit
82  - Make 'git help everyday' work
84  This may make the said command to emit something, but the source is
85  not meant to be formatted into a manual pages to begin with, and
86  also its contents are a bit stale.  It may be a good first step in
87  the right direction, but needs more work to at least get the
88  mark-up right before public consumption.
90  Will hold.
93 * jk/branch-at-publish-rebased (2014-01-17) 5 commits
94  - t1507 (rev-parse-upstream): fix typo in test title
95  - implement @{publish} shorthand
96  - branch_get: provide per-branch pushremote pointers
97  - branch_get: return early on error
98  - sha1_name: refactor upstream_mark
100  Give an easier access to the tracking branches from "other" side in
101  a triangular workflow by introducing B@{publish} that works in a
102  similar way to how B@{upstream} does.
104  Meant to be used as a basis for whatever Ram wants to build on.
106  Will hold.
109 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
110  - merge: drop unused arg from abort_commit method signature
111  - merge: make prepare_to_commit responsible for write_merge_state
112  - t7505: ensure cleanup after hook blocks merge
113  - t7505: add missing &&
115  Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
116  run during "git merge".  The log message stresses too much on one
117  hook, prepare-commit-msg, but it would equally apply to other hooks
118  like post-merge, I think.
120  Waiting for a reroll.
123 * jl/submodule-recursive-checkout (2013-12-26) 5 commits
124  - Teach checkout to recursively checkout submodules
125  - submodule: teach unpack_trees() to update submodules
126  - submodule: teach unpack_trees() to repopulate submodules
127  - submodule: teach unpack_trees() to remove submodule contents
128  - submodule: prepare for recursive checkout of submodules
130  Expecting a reroll.
133 * jc/graph-post-root-gap (2013-12-30) 3 commits
134  - WIP: document what we want at the end
135  - graph: remove unused code a bit
136  - graph: stuff the current commit into graph->columns[]
138  This was primarily a RFH ($gmane/239580).
141 * fc/transport-helper-fixes (2013-12-09) 6 commits
142  - remote-bzr: support the new 'force' option
143  - test-hg.sh: tests are now expected to pass
144  - transport-helper: check for 'forced update' message
145  - transport-helper: add 'force' to 'export' helpers
146  - transport-helper: don't update refs in dry-run
147  - transport-helper: mismerge fix
149  Updates transport-helper, fast-import and fast-export to allow the
150  ref mapping and ref deletion in a way similar to the natively
151  supported transports.
153  Reported to break t5541, and has been stalled for a while without
154  fixes.
156  Will discard.
159 * fc/completion (2013-12-09) 1 commit
160  - completion: fix completion of certain aliases
162  SZEDER Gábor noticed that this breaks "git -c var=val alias" and
163  also suggested a better description of the change.
165  Has been stalled for a while without much comments from anybody
166  interested.
168  Will discard.
171 * mo/subtree-split-updates (2013-12-10) 3 commits
172  - subtree: add --edit option
173  - subtree: allow --squash and --message with push
174  - subtree: support split --rejoin --squash
176  Has been stalled for a while without much comments from anybody
177  interested.
179  Will discard.
182 * hv/submodule-ignore-fix (2013-12-06) 4 commits
183  - disable complete ignorance of submodules for index <-> HEAD diff
184  - always show committed submodules in summary after commit
185  - teach add -f option for ignored submodules
186  - fix 'git add' to skip submodules configured as ignored
188  Teach "git add" to be consistent with "git status" when changes to
189  submodules are set to be ignored, to avoid surprises after checking
190  with "git status" to see there isn't any change to be further added
191  and then see that "git add ." adds changes to them.
193  I think a reroll is coming, so this may need to be replaced, but I
194  needed some practice with heavy conflict resolution.  It conflicts
195  with two changes to "git add" that have been scheduled for Git 2.0
196  quite badly, and I think I got the resolution right this time.
198  Waiting for a reroll.
201 * kb/fast-hashmap (2014-01-03) 19 commits
202  - hashmap.h: make sure map entries are tightly packed
203   (merged to 'next' on 2014-01-03 at dc85001)
204  + name-hash: retire unused index_name_exists()
205  + hashmap.h: Use 'unsigned int' for hash-codes everywhere
206   (merged to 'next' on 2013-12-16 at bff99b1)
207  + Drop unnecessary #includes from test-hashmap
208  + Add test-hashmap to .gitignore
209   (merged to 'next' on 2013-12-06 at f90be3d)
210  + read-cache.c: fix memory leaks caused by removed cache entries
211  + builtin/update-index.c: cleanup update_one
212  + fix 'git update-index --verbose --again' output
213  + remove old hash.[ch] implementation
214  + name-hash.c: remove cache entries instead of marking them CE_UNHASHED
215  + name-hash.c: use new hash map implementation for cache entries
216  + name-hash.c: remove unreferenced directory entries
217  + name-hash.c: use new hash map implementation for directories
218  + diffcore-rename.c: use new hash map implementation
219  + diffcore-rename.c: simplify finding exact renames
220  + diffcore-rename.c: move code around to prepare for the next patch
221  + buitin/describe.c: use new hash map implementation
222  + add a hashtable implementation that supports O(1) removal
223  + submodule: don't access the .gitmodules cache entry after removing it
225  Improvements to our hash table to get it to meet the needs of the
226  msysgit fscache project, with some nice performance improvements.
228  The tip one does not seem to have reached concensus (yet).
230  Will hold.
233 * jc/create-directories-microopt (2013-11-11) 1 commit
234  - checkout: most of the time we have good leading directories
236  Of unknown value until tested on non-Linux platforms (especially
237  Windows).
239  Will discard.
242 * jt/commit-fixes-footer (2013-10-30) 1 commit
243  - commit: Add -f, --fixes <commit> option to add Fixes: line
245  There is an ongoing discussion around this topic; in general I am
246  fairly negative on a new feature that is too narrow and prefer a
247  more generic solution that can be tailored for specific needs, as
248  many people stated in the thread.
250  cc/interpret-trailers could be such a generic solution (although
251  there don't seem to be much concensus yet).
253  Will discard.
256 * np/pack-v4 (2013-09-18) 90 commits
257  . packv4-parse.c: add tree offset caching
258  . t1050: replace one instance of show-index with verify-pack
259  . index-pack, pack-objects: allow creating .idx v2 with .pack v4
260  . unpack-objects: decode v4 trees
261  . unpack-objects: allow to save processed bytes to a buffer
262  - ...
264  Nico and Duy advancing the eternal vaporware pack-v4.  This is here
265  primarily for wider distribution of the preview edition.
267  Temporarily ejected from 'pu', to try out jk/pack-bitmap, which
268  this topic conflicts with.
271 * mf/graph-show-root (2013-10-25) 1 commit
272  . graph.c: mark root commit differently
274  In a repository with multiple-roots, "log --graph", especially with
275  "--oneline", does not give the reader enough visual cue to see
276  where one line of history ended and a separate history began.
278  This is the version that marks the roots 'x' when they would have
279  been marked as '*'; Keshav Kini suggested an alternative of giving
280  an extra blank line after every root, which I tend to think is a
281  better approach to the problem.
283  Will discard.
286 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
287  - perf-lib: add test_perf_cleanup target
288  - perf-lib: split starting the test from the execution
290  Add test_perf_cleanup shell function to the perf suite, that allows
291  the script writers to define a test with a clean-up action.
293  Will hold.
296 * yt/shortened-rename (2013-10-18) 2 commits
297  - SQUASH??? style fixes and s/omit/shorten/ where appropriate
298  - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
300  Attempts to give more weight on the fact that a filepair represents
301  a rename than showing substring of the actual path when diffstat
302  lines are not wide enough.
304  I am not sure if that is solving a right problem, though.
306  Will discard.
309 * rv/send-email-cache-generated-mid (2013-08-21) 2 commits
310  - git-send-email: Cache generated message-ids, use them when prompting
311  - git-send-email: add optional 'choices' parameter to the ask sub
313  Will discard.
316 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
317  - ### DONTMERGE: needs better explanation on what config they need
318  - pack-refs.c: Add missing call to git_config()
319  - show-ref.c: Add missing call to git_config()
321  The changes themselves are probably good, but it is unclear what
322  basic setting needs to be read for which exact operation.
324  Waiting for clarification.
325  $gmane/228294
328 * jc/format-patch (2013-04-22) 2 commits
329  - format-patch: --inline-single
330  - format-patch: rename "no_inline" field
332  A new option to send a single patch to the standard output to be
333  appended at the bottom of a message.  I personally have no need for
334  this, but it was easy enough to cobble together.  Tests, docs and
335  stripping out more MIMEy stuff are left as exercises to interested
336  parties.
339 * jk/gitweb-utf8 (2013-04-08) 4 commits
340  - gitweb: Fix broken blob action parameters on blob/commitdiff pages
341  - gitweb: Don't append ';js=(0|1)' to external links
342  - gitweb: Make feed title valid utf8
343  - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
345  Various fixes to gitweb.
347  Drew Northup volunteered to take a look into this ($gmane/226216)
348  but nothing seems to have happened since then.
350  Will discard.
353 * jc/show-branch (2013-06-07) 5 commits
354  - show-branch: use commit slab to represent bitflags of arbitrary width
355  - show-branch.c: remove "all_mask"
356  - show-branch.c: abstract out "flags" operation
357  - show-branch.c: lift all_mask/all_revs to a global static
358  - show-branch.c: update comment style
360  Waiting for the final step to lift the hard-limit before sending it out.
362 --------------------------------------------------
363 [Cooking]
365 * jk/makefile (2014-02-05) 16 commits
366  - FIXUP
367  - move LESS/LV pager environment to Makefile
368  - Makefile: teach scripts to include make variables
369  - FIXUP
370  - Makefile: auto-build C strings from make variables
371  - Makefile: drop *_SQ variables
372  - FIXUP
373  - Makefile: add c-quote helper function
374  - Makefile: introduce sq function for shell-quoting
375  - Makefile: always create files via make-var
376  - Makefile: store GIT-* sentinel files in MAKE/
377  - Makefile: prefer printf to echo for GIT-*
378  - Makefile: use tempfile/mv strategy for GIT-*
379  - Makefile: introduce make-var helper function
380  - Makefile: fix git-instaweb dependency on gitweb
381  - Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS
383  Simplify the Makefile rules and macros that exist primarily for
384  quoting purposes, and make it easier to robustly express the
385  dependency rules.
387  Expecting a reroll.
390 * ks/tree-diff-walk (2014-02-06) 5 commits
391   (merged to 'next' on 2014-02-06 at d56a3be)
392  + Finally switch over tree descriptors to contain a pre-parsed entry
393  + revision: convert to using diff_tree_sha1()
394  + line-log: convert to using diff_tree_sha1()
395  + tree-diff: convert diff_root_tree_sha1() to just call diff_tree_sha1 with old=NULL
396  + tree-diff: allow diff_tree_sha1 to accept NULL sha1
398  Will cook in 'next'.
401 * nd/reset-intent-to-add (2014-02-05) 1 commit
402   (merged to 'next' on 2014-02-07 at 3497008)
403  + reset: support "--mixed --intent-to-add" mode
405  Will cook in 'next'.
408 * nd/test-rename-reset (2014-02-04) 1 commit
409   (merged to 'next' on 2014-02-06 at ca188bd)
410  + t7101, t7014: rename test files to indicate what that file is for
412  Will cook in 'next'.
415 * tb/repack-fix-renames (2014-02-05) 1 commit
416  - repack.c: rename a few variables
418  Perhaps unneeded, as the longer-term plan is to drop the codeblock
419  this change touches.
421  Will discard.
424 * tr/remerge-diff (2014-02-05) 6 commits
425  - log --remerge-diff: show what the conflict resolution changed
426  - merge-recursive: allow storing conflict hunks in index
427  - Fold all merge diff variants into an enum
428  - combine-diff: do not pass revs->dense_combined_merges redundantly
429  - log: add a merge base inspection option
430  - pretty: refactor add_merge_info() into parts
431  (this branch uses tr/merge-recursive-index-only.)
433  "log -p" output learns a new way to let users inspect a merge
434  commit by showing the differences between the automerged result
435  with conflicts the person who recorded the merge would have seen
436  and the final conflict resolution that was recorded in the merge.
438  RFC.
441 * bs/stdio-undef-before-redef (2014-01-31) 1 commit
442   (merged to 'next' on 2014-01-31 at 9874918)
443  + git-compat-util.h: #undef (v)snprintf before #define them
445  When we replace broken macros from stdio.h in git-compat-util.h,
446  #undef them to avoid re-definition warnings from the C
447  preprocessor.
449  Will cook in 'next'.
452 * ep/varscope (2014-01-31) 7 commits
453   (merged to 'next' on 2014-01-31 at d198f5d)
454  + builtin/gc.c: reduce scope of variables
455  + builtin/fetch.c: reduce scope of variable
456  + builtin/commit.c: reduce scope of variables
457  + builtin/clean.c: reduce scope of variable
458  + builtin/blame.c: reduce scope of variables
459  + builtin/apply.c: reduce scope of variables
460  + bisect.c: reduce scope of variable
462  Shrink lifetime of variables by moving their definitions to an
463  inner scope where appropriate.
465  Will cook in 'next'.
468 * mw/symlinks (2014-02-04) 6 commits
469   (merged to 'next' on 2014-02-06 at 3d6df37)
470  + setup: don't dereference in-tree symlinks for absolute paths
471  + setup: add abspath_part_inside_repo() function
472  + t0060: add tests for prefix_path when path begins with work tree
473  + t0060: add test for prefix_path when path == work tree
474  + t0060: add test for prefix_path on symlinks via absolute paths
475  + t3004: add test for ls-files on symlinks via absolute paths
477  All subcommands that take pathspecs mishandled an in-tree symbolic
478  link when given it as a full path from the root (which arguably is
479  a sick way to use pathspecs).  "git ls-files -s $(pwd)/RelNotes" in
480  our tree is an easy reproduction recipe.
482  Will cook in 'next'.
485 * ks/combine-diff (2014-02-05) 5 commits
486  - combine-diff: move changed-paths scanning logic into its own function
487  - combine-diff: move show_log_first logic/action out of paths scanning
488  - tree-diff: no need to pass match to skip_uninteresting()
489  - tree-diff: no need to manually verify that there is no mode change for a path
490  - tests: add checking that combine-diff emits only correct paths
491  (this branch uses ks/diff-c-with-diff-order.)
493  By avoiding running full two-way diff between the resulting
494  revision and each of its N parents, combine-diff can be sped up
495  significantly.
497  Will merge to 'next' after reading it over one more time.
498  Help in reviewing the series is very much appreciated.
501 * bc/gpg-sign-everywhere (2014-02-03) 9 commits
502  - pull: add the --gpg-sign option.
503  - rebase: add the --gpg-sign option
504  - rebase: parse options in stuck-long mode
505  - rebase: don't try to match -M option
506  - rebase: remove useless arguments check
507  - am: add the --gpg-sign option
508  - am: parse options in stuck-long mode
509  - git-sh-setup.sh: add variable to use the stuck-long mode
510  - cherry-pick, revert: add the --gpg-sign option
512  Teach "--gpg-sign" option to many commands that create commits.
514  Changes to some scripted Porcelains use unsafe variable
515  substitutions and still need to be tightened.
517  Waiting for a reroll.
520 * ds/rev-parse-required-args (2014-01-28) 1 commit
521   (merged to 'next' on 2014-01-31 at 73b7514)
522  + rev-parse: check i before using argv[i] against argc
524  "git rev-parse --default" without the required option argument did
525  not diagnose it as an error.
527  Will cook in 'next'.
530 * jk/config-path-include-fix (2014-01-28) 2 commits
531   (merged to 'next' on 2014-01-31 at 8550a9e)
532  + handle_path_include: don't look at NULL value
533  + expand_user_path: do not look at NULL path
535  include.path variable (or any variable that expects a path that can
536  use ~username expansion) in the configuration file is not a
537  boolean, but the code failed to check it.
539  Will cook in 'next'.
542 * jk/repack-honor-pack-keep (2014-01-28) 1 commit
543  - repack: add `repack.honorpackkeep` config var
544  (this branch uses jk/pack-bitmap.)
546  Optionally allow "git repack" to include objects that exist in kept
547  packs in newly created packfiles.
549  Waiting for response to review comments.
552 * nd/submodule-pathspec-ending-with-slash (2014-01-27) 8 commits
553   (merged to 'next' on 2014-01-31 at cfddaa5)
554  + clean: use cache_name_is_other()
555  + clean: replace match_pathspec() with dir_path_match()
556  + Pass directory indicator to match_pathspec_item()
557  + match_pathspec: match pathspec "foo/" against directory "foo"
558  + dir.c: prepare match_pathspec_item for taking more flags
559  + Rename match_pathspec_depth() to match_pathspec()
560  + Convert some match_pathspec_depth() to dir_path_match()
561  + Convert some match_pathspec_depth() to ce_path_match()
563  Allow "git cmd path/", when the 'path' is where a submodule is
564  bound to the top-level working tree, to match 'path', despite the
565  extra and unnecessary trailing slash.
567  Will cook in 'next'.
570 * lt/request-pull (2014-01-31) 4 commits
571  - pull-request: test updates
572  - request-pull: pick up tag message as before
573  - Make request-pull able to take a refspec of form local:remote
574  - Make 'git request-pull' more strict about matching
576  Waiting for the updates to settle.
579 * bk/refresh-missing-ok-in-merge-recursive (2014-01-27) 4 commits
580   (merged to 'next' on 2014-01-29 at 614c158)
581  + merge-recursive.c: Tolerate missing files while refreshing index
582  + read-cache.c: Extend make_cache_entry refresh flag with options
583  + read-cache.c: Refactor --ignore-missing implementation
584  + t3030-merge-recursive: Test known breakage with empty work tree
586  Allows "merge-recursive" to work in an empty (temporary) working
587  tree again when there are renames involved, correcting an old
588  regression in 1.7.7 era.
590  Will cook in 'next'.
593 * nd/diff-quiet-stat-dirty (2014-01-27) 2 commits
594   (merged to 'next' on 2014-01-31 at 8b6e35d)
595  + diff: do not quit early on stat-dirty files
596  + Move diffcore_skip_stat_unmatch core logic out for reuse later
598  "git diff --quiet -- pathspec1 pathspec2" sometimes did not return
599  correct status value.
601  Will cook in 'next'.
604 * cc/interpret-trailers (2014-02-06) 14 commits
605  - Documentation: add documentation for 'git interpret-trailers'
606  - trailer: add tests for commands using env variables
607  - trailer: set author and committer env variables
608  - trailer: add tests for trailer command
609  - trailer: execute command from 'trailer.<name>.command'
610  - trailer: if no input file is passed, read from stdin
611  - trailer: add tests for "git interpret-trailers"
612  - trailer: add interpret-trailers command
613  - trailer: put all the processing together and print
614  - trailer: parse trailers from input file
615  - trailer: process command line trailer arguments
616  - trailer: read and process config information
617  - trailer: process trailers from file and arguments
618  - Add data structures and basic functions for commit trailers
621 * dk/blame-janitorial (2014-01-22) 2 commits
622   (merged to 'next' on 2014-01-29 at 0b7ea97)
623  + Eliminate same_suspect function in builtin/blame.c
624  + builtin/blame.c: struct blame_entry does not need a prev link
626  Code clean-up.
628  Will cook in 'next'.
631 * ks/diff-c-with-diff-order (2014-02-03) 5 commits
632   (merged to 'next' on 2014-02-04 at 24a8b2e)
633  + combine-diff: simplify intersect_paths() further
634  + combine-diff: combine_diff_path.len is not needed anymore
635  + combine-diff: optimize combine_diff_path sets intersection
636  + diff test: add tests for combine-diff with orderfile
637  + diffcore-order: export generic ordering interface
638  (this branch is used by ks/combine-diff.)
640  Teach combine-diff to honour the path-output-order imposed by
641  diffcore-order.
643  Will cook in 'next'.
646 * bl/blame-full-history (2014-01-14) 1 commit
647  - blame: new option --prefer-first to better handle merged cherry-picks
649  By disabling the tree-same optimization (which is consistent with
650  the default behaviour of "git log"-family of commands), make "git
651  blame" sometimes produce different result from the original code.
653  Because the "git blame" output can give result for each line from
654  only one lineage of the history, however, this can be only useful
655  when you are lucky---unlike "--full-history" of "git log"-family,
656  where we can show commits from both lineages of histories with an
657  equal weight.  See $gmane/240392 for more detailed discussion.
659  Will discard.
662 * da/pull-ff-configuration (2014-01-15) 2 commits
663   (merged to 'next' on 2014-01-22 at 2686b09)
664  + pull: add --ff-only to the help text
665  + pull: add pull.ff configuration
667  "git pull" learned to pay attention to pull.ff configuration
668  variable.
670  Will cook in 'next'.
673 * wk/submodule-on-branch (2014-01-27) 4 commits
674   (merged to 'next' on 2014-02-06 at 03dc3fd)
675  + Documentation: Describe 'submodule update --remote' use case
676  + submodule: Explicit local branch creation in module_clone
677  + submodule: Document module_clone arguments in comments
678  + submodule: Make 'checkout' update_module explicit
680  Makes sure 'submodule update' modes that do not detach HEADs can
681  be used more pleasantly by checking out a concrete branch when
682  cloning them to prime the well.
684  Will cook in 'next'.
687 * jk/warn-on-object-refname-ambiguity (2014-01-09) 6 commits
688  - get_sha1: drop object/refname ambiguity flag
689  - get_sha1: speed up ambiguous 40-hex test
690  - FIXUP: teach DO_FOR_EACH_NO_RECURSE to prime_ref_dir()
691  - refs: teach for_each_ref a flag to avoid recursion
692  - cat-file: fix a minor memory leak in batch_objects
693  - cat-file: refactor error handling of batch_objects
695  Expecting a reroll.
698 * ap/remote-hg-skip-null-bookmarks (2014-01-02) 1 commit
699  - remote-hg: do not fail on invalid bookmarks
701  Reported to break tests ($gmane/240005)
702  Expecting a reroll.
705 * jk/pack-bitmap (2014-01-23) 25 commits
706   (merged to 'next' on 2014-01-27 at 0b1dcb5)
707  + ewah: support platforms that require aligned reads
708  + read-cache: use get_be32 instead of hand-rolled ntoh_l
709  + block-sha1: factor out get_be and put_be wrappers
710   (merged to 'next' on 2014-01-16 at ddac2d2)
711  + do not discard revindex when re-preparing packfiles
712   (merged to 'next' on 2014-01-10 at bdbe0a4)
713  + pack-bitmap: implement optional name_hash cache
714  + t/perf: add tests for pack bitmaps
715  + t: add basic bitmap functionality tests
716  + count-objects: recognize .bitmap in garbage-checking
717  + repack: consider bitmaps when performing repacks
718  + repack: handle optional files created by pack-objects
719  + repack: turn exts array into array-of-struct
720  + repack: stop using magic number for ARRAY_SIZE(exts)
721  + pack-objects: implement bitmap writing
722  + rev-list: add bitmap mode to speed up object lists
723  + pack-objects: use bitmaps when packing objects
724  + pack-objects: split add_object_entry
725  + pack-bitmap: add support for bitmap indexes
726  + documentation: add documentation for the bitmap format
727  + ewah: compressed bitmap implementation
728  + compat: add endianness helpers
729  + sha1_file: export `git_open_noatime`
730  + revision: allow setting custom limiter function
731  + pack-objects: factor out name_hash
732  + pack-objects: refactor the packing list
733  + revindex: export new APIs
734  (this branch is used by jk/repack-honor-pack-keep.)
736  Borrows the bitmap index into packfiles from JGit to speed up
737  enumeration of objects involved in a commit range without having to
738  fully traverse the history.
740  Will cook in 'next'.
743 * nv/commit-gpgsign-config (2013-12-17) 3 commits
744   (merged to 'next' on 2014-01-03 at 9780cbb)
745  + test the commit.gpgsign config option
746  + commit-tree: add and document --no-gpg-sign
747  + Add the commit.gpgsign option to sign all commits
749  Introduce commit.gpgsign configuration variable to force every
750  commit to be GPG signed.  The variable cannot be overriden from the
751  command line of some of the commands that create commits except for
752  "git commit" and "git commit-tree", but I am not convinced that it
753  is a good idea to sprinkle support for --no-gpg-sign everywhere.
755  Will cook in 'next'.
758 * cc/starts-n-ends-with-endgame (2013-12-05) 1 commit
759   (merged to 'next' on 2014-01-07 at 4cdf8d0)
760  + strbuf: remove prefixcmp() and suffixcmp()
762  Endgame for the cc/starts-n-ends-with topic; this needs to be
763  evil-merged with other topics that introduce new uses of
764  prefix/suffix-cmp functions.
766  Will cook in 'next' until Git 2.0.
769 * gj/push-more-verbose-advice (2013-11-13) 1 commit
770   (merged to 'next' on 2013-12-06 at 574b18a)
771  + push: switch default from "matching" to "simple"
773  Originally merged to 'next' on 2013-11-21
775  Explain 'simple' and 'matching' in "git push" advice message; the
776  topmost patch is a rebase of jc/push-2.0-default-to-simple on top
777  of it.
779  Will cook in 'next' until Git 2.0.
782 * tr/merge-recursive-index-only (2014-02-05) 3 commits
783  - merge-recursive: -Xindex-only to leave worktree unchanged
784  - merge-recursive: internal flag to avoid touching the worktree
785  - merge-recursive: remove dead conditional in update_stages()
786  (this branch is used by tr/remerge-diff.)
788  Will hold.
791 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
792   (merged to 'next' on 2013-12-06 at ead2ec8)
793  + git add: -u/-A now affects the entire working tree
795  Will cook in 'next' until Git 2.0.
798 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
799   (merged to 'next' on 2013-12-06 at ae18007)
800  + core.statinfo: remove as promised in Git 2.0
802  Will cook in 'next' until Git 2.0.
805 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
806   (merged to 'next' on 2013-12-06 at 6fad61c)
807  + push: switch default from "matching" to "simple"
809  Will cook in 'next' until Git 2.0.
812 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
813   (merged to 'next' on 2013-12-06 at fbaa75a)
814  + git add <pathspec>... defaults to "-A"
816  Updated endgame for "git add <pathspec>" that defaults to "--all"
817  aka "--no-ignore-removal".
819  Will cook in 'next' until Git 2.0.
822 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
823   (merged to 'next' on 2013-12-06 at 083d67c)
824  + diff: remove "diff-files -q" in a version of Git in a distant future
826  Will cook in 'next' until a distant future.