1 To: git@vger.kernel.org
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
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
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 --------------------------------------------------
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
78 --------------------------------------------------
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.
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.
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
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
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
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
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).
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
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).
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
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.
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.
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.
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
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.
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
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.
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 --------------------------------------------------
365 * jk/makefile (2014-02-05) 16 commits
367 - move LESS/LV pager environment to Makefile
368 - Makefile: teach scripts to include make variables
370 - Makefile: auto-build C strings from make variables
371 - Makefile: drop *_SQ variables
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
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
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
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
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
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.
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
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.
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.
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
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.
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.
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.
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.
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.
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
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
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.
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
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.
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
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)
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.
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.
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
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.)
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.