]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2014/03 #01)
authorJunio C Hamano <gitster@pobox.com>
Wed, 5 Mar 2014 00:10:06 +0000 (16:10 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 5 Mar 2014 00:10:06 +0000 (16:10 -0800)
whats-cooking.txt

index 25dfbd6c3a80aea110679b65dc6e8524f912cc0a..5fa073a88559b3fabe4e3ccd4a20cf751d83967e 100644 (file)
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Feb 2014, #07; Tue, 25)
-X-master-at: 5f95c9f850b19b368c43ae399cc831b17a26a5ac
-X-next-at: 473e14350eeb6a6a233c48229514a6c604e92ae2
+Subject: What's cooking in git.git (Mar 2014, #01; Tue, 4)
+X-master-at: 2de34784dfcbb4fe0febe9ab98e0b99138040109
+X-next-at: d464cb7a99e56a69dc347cdeb1620023efc8669a
 
-What's cooking in git.git (Feb 2014, #07; Tue, 25)
+What's cooking in git.git (Mar 2014, #01; Tue, 4)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with
 '-' are only in 'pu' (proposed updates) while commits prefixed with
 '+' are in 'next'.
 
-The tip of 'next' has been rewound.  There are healthy number of
-topics in there that have been well-cooked during the 1.9.0
-development cycle that can graduate to 'master' (see the announce in
-http://article.gmane.org/gmane.comp.version-control.git/242658).
-After they are merged to 'master', I'm planning to go back to the
-list archive to pick up patches I may have missed in the meantime.
+A handful of "GSoC warm-up microprojects" have been queued on 'pu'.
+Thanks for reviewing them.
 
 You can find the changes described here in the integration branches
 of the repositories listed at
 
     http://git-blame.blogspot.com/p/git-public-repositories.html
 
+--------------------------------------------------
+[Graduated to "master"]
+
+* al/docs (2014-02-11) 4 commits
+  (merged to 'next' on 2014-02-25 at 0c1a734)
+ + docs/git-blame: explain more clearly the example pickaxe use
+ + docs/git-clone: clarify use of --no-hardlinks option
+ + docs/git-remote: capitalize first word of initial blurb
+ + docs/merge-strategies: remove hyphen from mis-merges
+
+ Originally merged to 'next' on 2014-02-13
+
+ A handful of documentation updates, all trivially harmless.
+
+
+* bc/gpg-sign-everywhere (2014-02-11) 9 commits
+  (merged to 'next' on 2014-02-25 at 7db014c)
+ + pull: add the --gpg-sign option.
+ + rebase: add the --gpg-sign option
+ + rebase: parse options in stuck-long mode
+ + rebase: don't try to match -M option
+ + rebase: remove useless arguments check
+ + am: add the --gpg-sign option
+ + am: parse options in stuck-long mode
+ + git-sh-setup.sh: add variable to use the stuck-long mode
+ + cherry-pick, revert: add the --gpg-sign option
+
+ Originally merged to 'next' on 2014-02-13
+
+ Teach "--gpg-sign" option to many commands that create commits.
+
+
+* bk/refresh-missing-ok-in-merge-recursive (2014-02-24) 4 commits
+  (merged to 'next' on 2014-02-25 at 2651cb0)
+ + merge-recursive.c: tolerate missing files while refreshing index
+ + read-cache.c: extend make_cache_entry refresh flag with options
+ + read-cache.c: refactor --ignore-missing implementation
+ + t3030-merge-recursive: test known breakage with empty work tree
+
+ Originally merged to 'next' on 2014-01-29
+
+ Allow "merge-recursive" to work in an empty (temporary) working
+ tree again when there are renames involved, correcting an old
+ regression in 1.7.7 era.
+
+
+* bs/stdio-undef-before-redef (2014-01-31) 1 commit
+  (merged to 'next' on 2014-02-25 at 77c4b5f)
+ + git-compat-util.h: #undef (v)snprintf before #define them
+
+ Originally merged to 'next' on 2014-01-31
+
+ When we replace broken macros from stdio.h in git-compat-util.h,
+ #undef them to avoid re-definition warnings from the C
+ preprocessor.
+
+
+* da/pull-ff-configuration (2014-01-15) 2 commits
+  (merged to 'next' on 2014-02-25 at b9e4f61)
+ + pull: add --ff-only to the help text
+ + pull: add pull.ff configuration
+
+ Originally merged to 'next' on 2014-01-22
+
+ "git pull" learned to pay attention to pull.ff configuration
+ variable.
+
+
+* dk/blame-janitorial (2014-02-25) 5 commits
+  (merged to 'next' on 2014-02-25 at d5faeb2)
+ + builtin/blame.c::find_copy_in_blob: no need to scan for region end
+ + blame.c: prepare_lines should not call xrealloc for every line
+ + builtin/blame.c::prepare_lines: fix allocation size of sb->lineno
+ + builtin/blame.c: eliminate same_suspect()
+ + builtin/blame.c: struct blame_entry does not need a prev link
+
+ Originally merged to 'next' on 2014-02-13
+
+ Code clean-up.
+
+
+* ds/rev-parse-required-args (2014-01-28) 1 commit
+  (merged to 'next' on 2014-02-25 at bba6e79)
+ + rev-parse: check i before using argv[i] against argc
+
+ Originally merged to 'next' on 2014-01-31
+
+ "git rev-parse --default" without the required option argument did
+ not diagnose it as an error.
+
+
+* ep/varscope (2014-01-31) 7 commits
+  (merged to 'next' on 2014-02-25 at e967c7e)
+ + builtin/gc.c: reduce scope of variables
+ + builtin/fetch.c: reduce scope of variable
+ + builtin/commit.c: reduce scope of variables
+ + builtin/clean.c: reduce scope of variable
+ + builtin/blame.c: reduce scope of variables
+ + builtin/apply.c: reduce scope of variables
+ + bisect.c: reduce scope of variable
+
+ Originally merged to 'next' on 2014-01-31
+
+ Shrink lifetime of variables by moving their definitions to an
+ inner scope where appropriate.
+
+
+* jk/config-path-include-fix (2014-01-28) 2 commits
+  (merged to 'next' on 2014-02-25 at 3604f75)
+ + handle_path_include: don't look at NULL value
+ + expand_user_path: do not look at NULL path
+
+ Originally merged to 'next' on 2014-01-31
+
+ include.path variable (or any variable that expects a path that can
+ use ~username expansion) in the configuration file is not a
+ boolean, but the code failed to check it.
+
+
+* jk/pack-bitmap (2014-02-12) 26 commits
+  (merged to 'next' on 2014-02-25 at 5f65d26)
+ + ewah: unconditionally ntohll ewah data
+ + ewah: support platforms that require aligned reads
+ + read-cache: use get_be32 instead of hand-rolled ntoh_l
+ + block-sha1: factor out get_be and put_be wrappers
+ + do not discard revindex when re-preparing packfiles
+ + pack-bitmap: implement optional name_hash cache
+ + t/perf: add tests for pack bitmaps
+ + t: add basic bitmap functionality tests
+ + count-objects: recognize .bitmap in garbage-checking
+ + repack: consider bitmaps when performing repacks
+ + repack: handle optional files created by pack-objects
+ + repack: turn exts array into array-of-struct
+ + repack: stop using magic number for ARRAY_SIZE(exts)
+ + pack-objects: implement bitmap writing
+ + rev-list: add bitmap mode to speed up object lists
+ + pack-objects: use bitmaps when packing objects
+ + pack-objects: split add_object_entry
+ + pack-bitmap: add support for bitmap indexes
+ + documentation: add documentation for the bitmap format
+ + ewah: compressed bitmap implementation
+ + compat: add endianness helpers
+ + sha1_file: export `git_open_noatime`
+ + revision: allow setting custom limiter function
+ + pack-objects: factor out name_hash
+ + pack-objects: refactor the packing list
+ + revindex: export new APIs
+ (this branch is used by jk/repack-pack-keep-objects.)
+
+ Originally merged to 'next' on 2014-02-13
+
+ Borrow the bitmap index into packfiles from JGit to speed up
+ enumeration of objects involved in a commit range without having to
+ fully traverse the history.
+
+
+* jk/test-ports (2014-02-10) 2 commits
+  (merged to 'next' on 2014-02-25 at 86ce2e4)
+ + tests: auto-set git-daemon port
+ + tests: auto-set LIB_HTTPD_PORT from test name
+ (this branch is tangled with nd/http-fetch-shallow-fix.)
+
+ Originally merged to 'next' on 2014-02-13
+
+ Avoid having to assign port number to be used in tests manually.
+
+
+* kb/fast-hashmap (2014-02-24) 18 commits
+  (merged to 'next' on 2014-02-25 at 88a98e6)
+ + name-hash: retire unused index_name_exists()
+ + hashmap.h: use 'unsigned int' for hash-codes everywhere
+ + test-hashmap.c: drop unnecessary #includes
+ + .gitignore: test-hashmap is a generated file
+ + read-cache.c: fix memory leaks caused by removed cache entries
+ + builtin/update-index.c: cleanup update_one
+ + fix 'git update-index --verbose --again' output
+ + remove old hash.[ch] implementation
+ + name-hash.c: remove cache entries instead of marking them CE_UNHASHED
+ + name-hash.c: use new hash map implementation for cache entries
+ + name-hash.c: remove unreferenced directory entries
+ + name-hash.c: use new hash map implementation for directories
+ + diffcore-rename.c: use new hash map implementation
+ + diffcore-rename.c: simplify finding exact renames
+ + diffcore-rename.c: move code around to prepare for the next patch
+ + buitin/describe.c: use new hash map implementation
+ + add a hashtable implementation that supports O(1) removal
+ + submodule: don't access the .gitmodules cache entry after removing it
+ (this branch is used by kb/fast-hashmap-pack-struct.)
+
+ Originally merged to 'next' on 2014-01-03
+
+ Improvements to our hash table to get it to meet the needs of the
+ msysgit fscache project, with some nice performance improvements.
+
+
+* ks/tree-diff-walk (2014-02-24) 5 commits
+  (merged to 'next' on 2014-02-25 at 17e594f)
+ + tree-walk: finally switch over tree descriptors to contain a pre-parsed entry
+ + revision: convert to using diff_tree_sha1()
+ + line-log: convert to using diff_tree_sha1()
+ + tree-diff: convert diff_root_tree_sha1() to just call diff_tree_sha1 with old=NULL
+ + tree-diff: allow diff_tree_sha1 to accept NULL sha1
+ (this branch is used by ks/combine-diff, ks/tree-diff-more and ks/tree-diff-nway.)
+
+ Originally merged to 'next' on 2014-02-06
+
+
+* mw/symlinks (2014-02-04) 6 commits
+  (merged to 'next' on 2014-02-25 at 15dc036)
+ + setup: don't dereference in-tree symlinks for absolute paths
+ + setup: add abspath_part_inside_repo() function
+ + t0060: add tests for prefix_path when path begins with work tree
+ + t0060: add test for prefix_path when path == work tree
+ + t0060: add test for prefix_path on symlinks via absolute paths
+ + t3004: add test for ls-files on symlinks via absolute paths
+
+ Originally merged to 'next' on 2014-02-06
+
+ All subcommands that take pathspecs mishandled an in-tree symbolic
+ link when given it as a full path from the root (which arguably is
+ a sick way to use pathspecs).  "git ls-files -s $(pwd)/RelNotes" in
+ our tree is an easy reproduction recipe.
+
+
+* nd/diff-quiet-stat-dirty (2014-02-24) 2 commits
+  (merged to 'next' on 2014-02-25 at 7cad1d3)
+ + diff: do not quit early on stat-dirty files
+ + diff.c: move diffcore_skip_stat_unmatch core logic out for reuse later
+
+ Originally merged to 'next' on 2014-01-31
+
+ "git diff --quiet -- pathspec1 pathspec2" sometimes did not return
+ correct status value.
+
+
+* nd/http-fetch-shallow-fix (2014-02-13) 7 commits
+  (merged to 'next' on 2014-02-25 at ad4e9c9)
+ + t5537: move http tests out to t5539
+ + fetch-pack: fix deepen shallow over smart http with no-done cap
+ + protocol-capabilities.txt: document no-done
+ + protocol-capabilities.txt: refer multi_ack_detailed back to pack-protocol.txt
+ + pack-protocol.txt: clarify 'obj-id' in the last ACK after 'done'
+ + test: rename http fetch and push test files
+ + tests: auto-set LIB_HTTPD_PORT from test name
+ (this branch is tangled with jk/test-ports.)
+
+ Originally merged to 'next' on 2014-02-13
+
+ Attempting to deepen a shallow repository by fetching over smart
+ HTTP transport failed in the protocol exchange, when no-done
+ extension was used.  The fetching side waited for the list of
+ shallow boundary commits after the sending end stopped talking to
+ it.
+
+
+* nd/reset-intent-to-add (2014-02-05) 1 commit
+  (merged to 'next' on 2014-02-25 at 0c48245)
+ + reset: support "--mixed --intent-to-add" mode
+
+ Originally merged to 'next' on 2014-02-07
+
+
+* nd/submodule-pathspec-ending-with-slash (2014-02-24) 8 commits
+  (merged to 'next' on 2014-02-25 at 954b7a2)
+ + clean: use cache_name_is_other()
+ + clean: replace match_pathspec() with dir_path_match()
+ + pathspec: pass directory indicator to match_pathspec_item()
+ + match_pathspec: match pathspec "foo/" against directory "foo"
+ + dir.c: prepare match_pathspec_item for taking more flags
+ + pathspec: rename match_pathspec_depth() to match_pathspec()
+ + pathspec: convert some match_pathspec_depth() to dir_path_match()
+ + pathspec: convert some match_pathspec_depth() to ce_path_match()
+
+ Originally merged to 'next' on 2014-01-31
+
+ Allow "git cmd path/", when the 'path' is where a submodule is
+ bound to the top-level working tree, to match 'path', despite the
+ extra and unnecessary trailing slash.
+
+
+* nd/test-rename-reset (2014-02-04) 1 commit
+  (merged to 'next' on 2014-02-25 at 7b25711)
+ + t7101, t7014: rename test files to indicate what that file is for
+
+ Originally merged to 'next' on 2014-02-06
+
+
+* nv/commit-gpgsign-config (2014-02-24) 3 commits
+  (merged to 'next' on 2014-02-25 at 0baefa2)
+ + test the commit.gpgsign config option
+ + commit-tree: add and document --no-gpg-sign
+ + commit-tree: add the commit.gpgsign option to sign all commits
+
+ Originally merged to 'next' on 2014-01-03
+
+ Introduce commit.gpgsign configuration variable to force every
+ commit to be GPG signed.  The variable cannot be overriden from the
+ command line of some of the commands that create commits except for
+ "git commit" and "git commit-tree", but I am not convinced that it
+ is a good idea to sprinkle support for --no-gpg-sign everywhere,
+ which in turn means that this configuration variable may not be
+ such a good idea.
+
+
+* wk/submodule-on-branch (2014-02-24) 4 commits
+  (merged to 'next' on 2014-02-25 at c6d9fef)
+ + Documentation: describe 'submodule update --remote' use case
+ + submodule: explicit local branch creation in module_clone
+ + submodule: document module_clone arguments in comments
+ + submodule: make 'checkout' update_module mode more explicit
+
+ Originally merged to 'next' on 2014-02-06
+
+ Make sure 'submodule update' modes that do not detach HEADs can
+ be used more pleasantly by checking out a concrete branch when
+ cloning them to prime the well.
+
 --------------------------------------------------
 [New Topics]
 
-* ak/gitweb-fit-image (2014-02-20) 1 commit
- - gitweb: Avoid overflowing page body frame with large images
+* jc/stash-pop-not-popped (2014-02-26) 1 commit
+ - stash pop: mention we did not drop the stash upon failing to apply
 
- Instead of allowing an <img> to be shown in whatever size, force
- scaling it to fit on the page with max-height/max-width css style
- attributes.
+ "stash pop", upon failing to apply the stash, refrains from
+ discarding the stash to avoid information loss.  Be more explicit
+ in the error message.
+
+ The wording may want to get a bit more bikeshedding, but otherwise
+ it should be OK for 'next'.
+
+
+* bg/install-branch-config-skip-prefix (2014-02-28) 2 commits
+ - branch: use skip_prefix() in install_branch_config()
+ - t3200-branch: test setting branch as own upstream
+
+ The new test probably wants the longer-term effect of the rejected
+ operation, not just the rejection warning message.
+
+
+* cn/fetch-prune-overlapping-destination (2014-02-28) 2 commits
+ - fetch: handle overlaping refspecs on --prune
+ - fetch: add a failing test for prunning with overlapping refspecs
+
+ Protect refs in a hierarchy that can come from more than one remote
+ hierarcies from incorrect removal by "git fetch --prune".
+
+ Comments?
+
+
+* dd/find-graft-with-sha1-pos (2014-02-27) 1 commit
+ - commit.c: use the generic "sha1_pos" function for lookup
+
+ Replace a hand-rolled binary search with a call to our generic
+ binary search helper function.
+
+
+* dd/use-alloc-grow (2014-03-03) 14 commits
+ - sha1_file.c: use ALLOC_GROW() in pretend_sha1_file()
+ - read-cache.c: use ALLOC_GROW() in add_index_entry()
+ - builtin/mktree.c: use ALLOC_GROW() in append_to_tree()
+ - attr.c: use ALLOC_GROW() in handle_attr_line()
+ - dir.c: use ALLOC_GROW() in create_simplify()
+ - reflog-walk.c: use ALLOC_GROW()
+ - replace_object.c: use ALLOC_GROW() in register_replace_object()
+ - patch-ids.c: use ALLOC_GROW() in add_commit()
+ - diffcore-rename.c: use ALLOC_GROW()
+ - diff.c: use ALLOC_GROW()
+ - commit.c: use ALLOC_GROW() in register_commit_graft()
+ - cache-tree.c: use ALLOC_GROW() in find_subtree()
+ - bundle.c: use ALLOC_GROW() in add_to_ref_list()
+ - builtin/pack-objects.c: use ALLOC_GROW() in check_pbase_path()
+
+ Replace open-coded reallocation with ALLOC_GROW() macro. 
+
+
+* dk/skip-prefix-scan-only-once (2014-03-03) 1 commit
+ - skip_prefix(): scan prefix only once
+
+ Updaste implementation of skip_prefix() to scan only once; given
+ that most "prefix" arguments to the inline function are constant
+ strings whose strlen() can be determined at the compile time, this
+ might actually make things worse with a compiler with sufficient
+ intelligence.
+
+
+* jk/doc-coding-guideline (2014-02-28) 1 commit
+ - CodingGuidelines: mention C whitespace rules
+
+ Elaborate on a style niggle that has been part of "mimic existing
+ code".
 
  Will merge to 'next'.
 
 
-* da/difftool-git-files (2014-02-24) 1 commit
- - difftool: support repositories with .git-files
+* jk/shallow-update-fix (2014-02-27) 2 commits
+ - shallow: automatically clean up shallow tempfiles
+ - shallow: use stat_validity to check for up-to-date file
 
- "git difftool" misbehaved when the repository is bound to the
- working tree with the ".git file" mechanism, where a textual
- file ".git" tells us where it is.
+ Serving objects from a shallow repository needs to write a
+ temporary file to be used, but the serving upload-pack may not have
+ write access to the repository which is meant to be read-only.
+
+
+* jl/doc-submodule-update-checkout (2014-02-28) 1 commit
+ - submodule update: consistently document the '--checkout' option
+
+ Add missing documentation for "submodule update --checkout".
 
  Will merge to 'next'.
 
 
-* jk/commit-dates-parsing-fix (2014-02-24) 5 commits
- - log: do not segfault on gmtime errors
- - log: handle integer overflow in timestamps
- - date: check date overflow against time_t
- - fsck: report integer overflow in author timestamps
- - t4212: test bogus timestamps with git-log
+* jn/bisect-coding-style (2014-03-03) 1 commit
+ - git-bisect.sh: fix a few style issues
 
  Will merge to 'next'.
 
 
-* jk/diff-filespec-cleanup (2014-02-24) 1 commit
- - diffcore.h: be explicit about the signedness of is_binary
+* jn/branch-lift-unnecessary-name-length-limit (2014-02-28) 1 commit
+ - branch.c: delete size check of newly tracked branch names
 
- Will merge to 'next' and then to 'master' and 'maint'.
 
+* mh/simplify-cache-tree-find (2014-03-04) 2 commits
+ - SQUASH??? use strchrnul
+ - cache_tree_find(): remove redundant checks
 
-* jk/remote-pushremote-config-reading (2014-02-24) 1 commit
- - remote: handle pushremote config in any order
+
+* nd/strbuf-inline-styles (2014-03-03) 1 commit
+ - strbuf: style fix -- top opening bracket on a separate line
 
  Will merge to 'next'.
 
 
-* jk/repack-pack-keep-objects (2014-02-24) 1 commit
- - repack: add `repack.packKeepObjects` config var
- (this branch uses jk/pack-bitmap.)
+* nd/tag-version-sort (2014-02-27) 1 commit
+ - tag: support --sort=<spec>
 
- Names?
+ Allow v1.9.0 sorted before v1.10.0 in "git tag --list" output.
 
 
-* jm/stash-doc-k-for-keep (2014-02-24) 1 commit
- - stash doc: mention short form -k in save description
+* rt/help-pretty-prints-cmd-names (2014-02-28) 1 commit
+ - help.c: rename function "pretty_print_string_list"
 
  Will merge to 'next'.
 
 
-* jn/am-doc-hooks (2014-02-24) 1 commit
- - am doc: add a pointer to relevant hooks
+* sg/archive-restrict-remote (2014-02-28) 2 commits
+ - add uploadarchive.allowUnreachable option
+ - docs: clarify remote restrictions for git-upload-archive
+
+ Allow loosening remote "git archive" invocation security check that
+ refuses to serve tree-ish not at the tip of any ref.
 
  Will merge to 'next'.
 
 
-* mh/object-code-cleanup (2014-02-24) 4 commits
- - sha1_file.c: document a bunch of functions defined in the file
- - sha1_file_name(): declare to return a const string
- - find_pack_entry(): document last_found_pack
- - replace_object: use struct members instead of an array
 
- Will merge to 'next'.
+* sh/finish-tmp-packfile (2014-03-03) 2 commits
+ - finish_tmp_packfile():use strbuf for pathname construction
+ - Merge branch 'sh/write-pack-file-warning-message-fix' into sh/finish-tmp-packfile
+ (this branch uses sh/write-pack-file-warning-message-fix.)
 
 
-* nd/i18n-progress (2014-02-24) 1 commit
- - i18n: mark all progress lines for translation
+* sh/write-pack-file-warning-message-fix (2014-03-03) 1 commit
+ - write_pack_file: use correct variable in diagnostic
+ (this branch is used by sh/finish-tmp-packfile.)
+
+ A warning from "git pack-objects" were generated by referring to an
+ incorrect variable when forming the filename that we had trouble
+ with.
 
  Will merge to 'next'.
 
 
-* nd/sha1-file-delta-stack-leakage-fix (2014-02-24) 1 commit
- - sha1_file: fix delta_stack memory leak in unpack_entry
+* sr/add--interactive-term-readkey (2014-03-03) 2 commits
+ - git-add--interactive: warn if module for interactive.singlekey is missing
+ - git-config: document interactive.singlekey requires Term::ReadKey
 
- Will merge to 'next' and then to 'master' and 'maint'.
+ Will merge to 'next'.
 
 
-* tc/commit-dry-run-exit-status-tests (2014-02-24) 1 commit
- - demonstrate git-commit --dry-run exit code behaviour
+* ta/parse-commit-with-skip-prefix (2014-03-04) 1 commit
+ - commit.c: use skip_prefix() instead of starts_with()
+
+ Will merge to 'next'.
 
 --------------------------------------------------
 [Stalled]
 
 * kb/fast-hashmap-pack-struct (2014-02-24) 1 commit
  - hashmap.h: make sure map entries are tightly packed
- (this branch uses kb/fast-hashmap.)
 
  I am inclined to drop this; an alternative is to replace it with
  the "more portable" one that uses #pragma, which I am willing to
@@ -267,694 +658,515 @@ of the repositories listed at
  . graph.c: mark root commit differently
 
  In a repository with multiple-roots, "log --graph", especially with
- "--oneline", does not give the reader enough visual cue to see
- where one line of history ended and a separate history began.
-
- This is the version that marks the roots 'x' when they would have
- been marked as '*'; Keshav Kini suggested an alternative of giving
- an extra blank line after every root, which I tend to think is a
- better approach to the problem.
-
- Will discard.
-
-
-* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
- - perf-lib: add test_perf_cleanup target
- - perf-lib: split starting the test from the execution
-
- Add test_perf_cleanup shell function to the perf suite, that allows
- the script writers to define a test with a clean-up action.
-
- Will hold.
-
-
-* yt/shortened-rename (2013-10-18) 2 commits
- - SQUASH??? style fixes and s/omit/shorten/ where appropriate
- - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
-
- Attempts to give more weight on the fact that a filepair represents
- a rename than showing substring of the actual path when diffstat
- lines are not wide enough.
-
- I am not sure if that is solving a right problem, though.
-
- Will discard.
-
-
-* rv/send-email-cache-generated-mid (2013-08-21) 2 commits
- - git-send-email: Cache generated message-ids, use them when prompting
- - git-send-email: add optional 'choices' parameter to the ask sub
-
- Will discard.
-
-
-* rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
- - ### DONTMERGE: needs better explanation on what config they need
- - pack-refs.c: Add missing call to git_config()
- - show-ref.c: Add missing call to git_config()
-
- The changes themselves are probably good, but it is unclear what
- basic setting needs to be read for which exact operation.
-
- Will discard, tired of waiting for clarification.
- $gmane/228294
-
-
-* jc/format-patch (2013-04-22) 2 commits
- - format-patch: --inline-single
- - format-patch: rename "no_inline" field
-
- A new option to send a single patch to the standard output to be
- appended at the bottom of a message.  I personally have no need for
- this, but it was easy enough to cobble together.  Tests, docs and
- stripping out more MIMEy stuff are left as exercises to interested
- parties.
-
-
-* jk/gitweb-utf8 (2013-04-08) 4 commits
- - gitweb: Fix broken blob action parameters on blob/commitdiff pages
- - gitweb: Don't append ';js=(0|1)' to external links
- - gitweb: Make feed title valid utf8
- - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
-
- Various fixes to gitweb.
-
- Drew Northup volunteered to take a look into this ($gmane/226216)
- but nothing seems to have happened since then.
-
- Will discard.
-
-
-* jc/show-branch (2013-06-07) 5 commits
- - show-branch: use commit slab to represent bitflags of arbitrary width
- - show-branch.c: remove "all_mask"
- - show-branch.c: abstract out "flags" operation
- - show-branch.c: lift all_mask/all_revs to a global static
- - show-branch.c: update comment style
-
- Waiting for the final step to lift the hard-limit before sending it out.
-
---------------------------------------------------
-[Cooking]
-
-* fc/transport-helper-fixes (2014-02-24) 7 commits
- - remote-bzr: support the new 'force' option
- - test-hg.sh: tests are now expected to pass
- - transport-helper.c: do not overwrite forced bit
- - transport-helper: check for 'forced update' message
- - transport-helper: add 'force' to 'export' helpers
- - transport-helper: don't update refs in dry-run
- - transport-helper: mismerge fix
-
- Updates transport-helper, fast-import and fast-export to allow the
- ref mapping and ref deletion in a way similar to the natively
- supported transports.
-
- Will merge to 'next'.
-
-
-* kb/fast-hashmap (2014-02-24) 18 commits
-  (merged to 'next' on 2014-02-25 at 88a98e6)
- + name-hash: retire unused index_name_exists()
- + hashmap.h: use 'unsigned int' for hash-codes everywhere
- + test-hashmap.c: drop unnecessary #includes
- + .gitignore: test-hashmap is a generated file
- + read-cache.c: fix memory leaks caused by removed cache entries
- + builtin/update-index.c: cleanup update_one
- + fix 'git update-index --verbose --again' output
- + remove old hash.[ch] implementation
- + name-hash.c: remove cache entries instead of marking them CE_UNHASHED
- + name-hash.c: use new hash map implementation for cache entries
- + name-hash.c: remove unreferenced directory entries
- + name-hash.c: use new hash map implementation for directories
- + diffcore-rename.c: use new hash map implementation
- + diffcore-rename.c: simplify finding exact renames
- + diffcore-rename.c: move code around to prepare for the next patch
- + buitin/describe.c: use new hash map implementation
- + add a hashtable implementation that supports O(1) removal
- + submodule: don't access the .gitmodules cache entry after removing it
- (this branch is used by kb/fast-hashmap-pack-struct.)
-
- Originally merged to 'next' on 2014-01-03
-
- Improvements to our hash table to get it to meet the needs of the
- msysgit fscache project, with some nice performance improvements.
-
- Will merge to 'master'.
-
-
-* bc/blame-crlf-test (2014-02-18) 1 commit
- - blame: add a failing test for a CRLF issue.
-
- I have a feeling that a fix for this should be fairly isolated and
- trivial (it should be just the matter of paying attention to the
- crlf settings when synthesizing the fake commit)---perhaps somebody
- can squash in a fix to this?
-
-
-* jk/http-no-curl-easy (2014-02-18) 1 commit
- - http: never use curl_easy_perform
-
- Avoid use of the curl-easy family of functions, which interferes
- with connection reuse in a negative way.
-
- Will merge to 'next'.
-
-
-* jk/janitorial-fixes (2014-02-18) 5 commits
- - open_istream(): do not dereference NULL in the error case
- - builtin/mv: don't use memory after free
- - utf8: use correct type for values in interval table
- - utf8: fix iconv error detection
- - notes-utils: handle boolean notes.rewritemode correctly
-
- Will merge to 'next'.
-
-
-* ks/config-file-stdin (2014-02-18) 4 commits
- - config: teach "git config --file -" to read from the standard input
- - config: change git_config_with_options() interface
- - builtin/config.c: rename check_blob_write() -> check_write()
- - config: disallow relative include paths from blobs
-
- Will merge to 'next'.
-
-
-* lb/contrib-contacts-looser-diff-parsing (2014-02-18) 1 commit
- - git-contacts: do not fail parsing of good diffs
-
- Will merge to 'next'.
+ "--oneline", does not give the reader enough visual cue to see
+ where one line of history ended and a separate history began.
 
+ This is the version that marks the roots 'x' when they would have
+ been marked as '*'; Keshav Kini suggested an alternative of giving
+ an extra blank line after every root, which I tend to think is a
+ better approach to the problem.
 
-* mh/replace-refs-variable-rename (2014-02-20) 1 commit
- - rename read_replace_refs to check_replace_refs
+ Will discard.
 
- Will merge to 'next'.
 
+* tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
+ - perf-lib: add test_perf_cleanup target
+ - perf-lib: split starting the test from the execution
 
-* nd/commit-editor-cleanup (2014-02-25) 3 commits
- - commit: add --cleanup=scissors
- - wt-status.c: move cut-line print code out to wt_status_add_cut_line
- - wt-status.c: make cut_line[] const to shrink .data section a bit
+ Add test_perf_cleanup shell function to the perf suite, that allows
+ the script writers to define a test with a clean-up action.
 
"git commit --cleanup=<mode>" learned a new mode, scissors.
Will hold.
 
 
-* nd/no-more-fnmatch (2014-02-20) 4 commits
- - actually remove compat fnmatch source code
- - stop using fnmatch (either native or compat)
- - Revert "test-wildmatch: add "perf" command to compare wildmatch and fnmatch"
- - use wildmatch() directly without fnmatch() wrapper
+* yt/shortened-rename (2013-10-18) 2 commits
+ - SQUASH??? style fixes and s/omit/shorten/ where appropriate
+ - diff.c: keep arrow(=>) on show_stats()'s shortened filename part to make rename visible
 
- We started using wildmatch() in place of fnmatch(3); complete the
- process and stop using fnmatch(3).
+ Attempts to give more weight on the fact that a filepair represents
+ a rename than showing substring of the actual path when diffstat
+ lines are not wide enough.
 
Will merge to 'next'.
I am not sure if that is solving a right problem, though.
 
+ Will discard.
 
-* nd/reset-setup-worktree (2014-02-18) 1 commit
- - reset: optionally setup worktree and refresh index on --mixed
 
- "git reset" needs to refresh the index when working in a working
- tree (it can also be used to match the index to the HEAD in an
- otherwise bare repository), but it failed to set up the working
- tree properly, causing GIT_WORK_TREE to be ignored.
+* rv/send-email-cache-generated-mid (2013-08-21) 2 commits
+ - git-send-email: Cache generated message-ids, use them when prompting
+ - git-send-email: add optional 'choices' parameter to the ask sub
 
- Will merge to 'next'.
+ Will discard.
 
 
-* po/git-help-user-manual (2014-02-18) 1 commit
- - Provide a 'git help user-manual' route to the docbook
+* rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
+ - ### DONTMERGE: needs better explanation on what config they need
+ - pack-refs.c: Add missing call to git_config()
+ - show-ref.c: Add missing call to git_config()
 
- I am not sure if this is even needed.
+ The changes themselves are probably good, but it is unclear what
+ basic setting needs to be read for which exact operation.
 
+ Will discard, tired of waiting for clarification.
+ $gmane/228294
 
-* rt/links-for-asciidoctor (2014-02-20) 1 commit
- - Documentation: fix documentation AsciiDoc links for external urls
 
- Will merge to 'next'.
+* jc/format-patch (2013-04-22) 2 commits
+ - format-patch: --inline-single
+ - format-patch: rename "no_inline" field
 
+ A new option to send a single patch to the standard output to be
+ appended at the bottom of a message.  I personally have no need for
+ this, but it was easy enough to cobble together.  Tests, docs and
+ stripping out more MIMEy stuff are left as exercises to interested
+ parties.
 
-* tg/index-v4-format (2014-02-24) 3 commits
- - read-cache: add index.version config variable
- - test-lib: allow setting the index format version
- - introduce GIT_INDEX_VERSION environment variable
 
- Will merge to 'next'.
+* jk/gitweb-utf8 (2013-04-08) 4 commits
+ - gitweb: Fix broken blob action parameters on blob/commitdiff pages
+ - gitweb: Don't append ';js=(0|1)' to external links
+ - gitweb: Make feed title valid utf8
+ - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
 
+ Various fixes to gitweb.
 
-* tr/diff-submodule-no-reuse-worktree (2014-02-18) 1 commit
- - diff: do not reuse_worktree_file for submodules
+ Drew Northup volunteered to take a look into this ($gmane/226216)
+ but nothing seems to have happened since then.
 
- "git diff --external-diff" incorrectly fed the submodule directory
- in the working tree to the external diff driver when it knew it is
- the same as one of the versions being compared.
+ Will discard.
 
- Will merge to 'next'.
 
+* jc/show-branch (2013-06-07) 5 commits
+ - show-branch: use commit slab to represent bitflags of arbitrary width
+ - show-branch.c: remove "all_mask"
+ - show-branch.c: abstract out "flags" operation
+ - show-branch.c: lift all_mask/all_revs to a global static
+ - show-branch.c: update comment style
 
-* nd/multiple-work-trees (2014-02-19) 26 commits
- - FIXUP???
- - gc: support prune --repos
- - prune: strategies for linked checkouts
- - checkout: detach if the branch is already checked out elsewhere
- - checkout: clean up half-prepared directories in --to mode
- - checkout: support checking out into a new working directory
- - use new wrapper write_file() for simple file writing
- - wrapper.c: wrapper to open a file, fprintf then close
- - setup.c: support multi-checkout repo setup
- - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
- - setup.c: convert check_repository_format_gently to use strbuf
- - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
- - setup.c: convert is_git_directory() to use strbuf
- - git-stash: avoid hardcoding $GIT_DIR/logs/....
- - *.sh: avoid hardcoding $GIT_DIR/hooks/...
- - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
- - Add new environment variable $GIT_COMMON_DIR
- - commit: use SEQ_DIR instead of hardcoding "sequencer"
- - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
- - reflog: avoid constructing .lock path with git_path
- - *.sh: respect $GIT_INDEX_FILE
- - Make git_path() aware of file relocation in $GIT_DIR
- - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
- - path.c: rename vsnpath() to do_git_path()
- - Convert git_snpath() to strbuf_git_path()
- - path.c: make get_pathname() return strbuf instead of static buffer
+ Waiting for the final step to lift the hard-limit before sending it out.
 
- The tip commit needs to be dropped; the series needs a serious review.
+--------------------------------------------------
+[Cooking]
 
+* ak/gitweb-fit-image (2014-02-20) 1 commit
+ - gitweb: Avoid overflowing page body frame with large images
 
-* ks/tree-diff-nway (2014-02-24) 2 commits
- - combine-diff: speed it up, by using multiparent diff
- - tree-diff: rework diff_tree() to generate diffs for multiparent cases as well
- (this branch uses ks/combine-diff, ks/tree-diff-more and ks/tree-diff-walk.)
+ Instead of allowing an <img> to be shown in whatever size, force
+ scaling it to fit on the page with max-height/max-width css style
+ attributes.
 
- Instead of running N pair-wise diff-trees when inspecting a
- N-parent merge, find the set of paths that were touched by walking
- N+1 trees in parallel.  These set of paths can then be turned into
- N pair-wise diff-tree results to be processed through rename
- detections and such.  And N=2 case nicely degenerates to the usual
- 2-way diff-tree, which is very nice.
+ Will merge to 'next'.
 
- Promising, but unfortunately the implementation seems a bit too
- unportable for such a core part of the system.
 
- Reroll is there, but have run out of time to pick it up this round.
+* da/difftool-git-files (2014-02-25) 2 commits
+ - WIP: test to protect the previous fix
+ - difftool: support repositories with .git-files
 
+ "git difftool" misbehaved when the repository is bound to the
+ working tree with the ".git file" mechanism, where a textual
+ file ".git" tells us where it is.
 
-* al/docs (2014-02-11) 4 commits
-  (merged to 'next' on 2014-02-25 at 0c1a734)
- + docs/git-blame: explain more clearly the example pickaxe use
- + docs/git-clone: clarify use of --no-hardlinks option
- + docs/git-remote: capitalize first word of initial blurb
- + docs/merge-strategies: remove hyphen from mis-merges
+ Will merge to 'next'.
 
- Originally merged to 'next' on 2014-02-13
 
- A handful of documentation updates, all trivially harmless.
+* jk/commit-dates-parsing-fix (2014-02-24) 5 commits
+ - log: do not segfault on gmtime errors
+ - log: handle integer overflow in timestamps
+ - date: check date overflow against time_t
+ - fsck: report integer overflow in author timestamps
+ - t4212: test bogus timestamps with git-log
 
- Will merge to 'master'.
+ Will merge to 'next'.
 
 
-* jk/test-ports (2014-02-10) 2 commits
-  (merged to 'next' on 2014-02-25 at 86ce2e4)
- + tests: auto-set git-daemon port
- + tests: auto-set LIB_HTTPD_PORT from test name
- (this branch is tangled with nd/http-fetch-shallow-fix.)
+* jk/diff-filespec-cleanup (2014-02-24) 1 commit
+ - diffcore.h: be explicit about the signedness of is_binary
 
- Originally merged to 'next' on 2014-02-13
+ Will merge to 'next' and then to 'master' and 'maint'.
 
- Avoid having to assign port number to be used in tests manually.
 
- Will merge to 'master'.
+* jk/remote-pushremote-config-reading (2014-02-24) 1 commit
+ - remote: handle pushremote config in any order
 
+ Will merge to 'next'.
 
-* nd/daemonize-gc (2014-02-10) 2 commits
-  (merged to 'next' on 2014-02-25 at f592335)
- + gc: config option for running --auto in background
- + daemon: move daemonize() to libgit.a
 
- Originally merged to 'next' on 2014-02-20
+* jk/repack-pack-keep-objects (2014-03-03) 1 commit
+ - repack: add `repack.packKeptObjects` config var
 
- Allow running "gc --auto" in the background.
 
- Will merge to 'master'.
+* jm/stash-doc-k-for-keep (2014-02-24) 1 commit
+ - stash doc: mention short form -k in save description
 
+ Will merge to 'next'.
 
-* nd/gitignore-trailing-whitespace (2014-02-10) 2 commits
- - dir: ignore trailing spaces in exclude patterns
- - dir: warn about trailing spaces in exclude patterns
 
- Warn and then ignore trailing whitespaces in .gitignore files,
- unless they are quoted for fnmatch(3), e.g. "path\ ".
+* jn/am-doc-hooks (2014-02-24) 1 commit
+ - am doc: add a pointer to relevant hooks
 
  Will merge to 'next'.
 
 
-* nd/log-show-linear-break (2014-02-10) 1 commit
- - log: add --show-linear-break to help see non-linear history
-
- Attempts to show where a single-strand-of-pearls break in "git log"
- output.
+* mh/object-code-cleanup (2014-02-24) 4 commits
+ - sha1_file.c: document a bunch of functions defined in the file
+ - sha1_file_name(): declare to return a const string
+ - find_pack_entry(): document last_found_pack
+ - replace_object: use struct members instead of an array
 
- "git log --no-merges --show-linear-break" does not seem to work
- well (tried on range "pu~10..pu" or something like that).
+ Will merge to 'next'.
 
 
-* ss/completion-rec-sub-fetch-push (2014-02-11) 1 commit
- - completion: teach --recurse-submodules to fetch, pull and push
+* nd/i18n-progress (2014-02-24) 1 commit
+ - i18n: mark all progress lines for translation
 
  Will merge to 'next'.
 
 
-* ks/tree-diff-more (2014-02-24) 15 commits
- - tree-diff: reuse base str(buf) memory on sub-tree recursion
- - tree-diff: no need to call "full" diff_tree_sha1 from show_path()
- - tree-diff: rework diff_tree interface to be sha1 based
- - tree-diff: remove special-case diff-emitting code for empty-tree cases
- - tree-diff: simplify tree_entry_pathcmp
- - tree-diff: show_path prototype is not needed anymore
- - tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
- - tree-diff: move all action-taking code out of compare_tree_entry()
- - tree-diff: don't assume compare_tree_entry() returns -1,0,1
- - tree-diff: consolidate code for emitting diffs and recursion in one place
- - tree-diff: show_tree() is not needed
- - tree-diff: no need to pass match to skip_uninteresting()
- - tree-diff: no need to manually verify that there is no mode change for a path
- - combine-diff: move changed-paths scanning logic into its own function
- - combine-diff: move show_log_first logic/action out of paths scanning
- (this branch is used by ks/tree-diff-nway; uses ks/combine-diff and ks/tree-diff-walk.)
+* nd/sha1-file-delta-stack-leakage-fix (2014-02-24) 1 commit
+ - sha1_file: fix delta_stack memory leak in unpack_entry
 
Code refactoring.
Will merge to 'next' and then to 'master' and 'maint'.
 
- Will merge to 'next'.
 
+* tc/commit-dry-run-exit-status-tests (2014-02-24) 1 commit
+ - demonstrate git-commit --dry-run exit code behaviour
 
-* jh/note-trees-record-blobs (2014-02-20) 1 commit
- - notes: disallow reusing non-blob as a note object
 
- "git notes -C <blob>" should not take an object that is not a blob.
+* fc/transport-helper-fixes (2014-02-24) 7 commits
+ - remote-bzr: support the new 'force' option
+ - test-hg.sh: tests are now expected to pass
+ - transport-helper.c: do not overwrite forced bit
+ - transport-helper: check for 'forced update' message
+ - transport-helper: add 'force' to 'export' helpers
+ - transport-helper: don't update refs in dry-run
+ - transport-helper: mismerge fix
+
+ Updates transport-helper, fast-import and fast-export to allow the
+ ref mapping and ref deletion in a way similar to the natively
+ supported transports.
 
  Will merge to 'next'.
 
 
-* jk/run-network-tests-by-default (2014-02-14) 1 commit
-  (merged to 'next' on 2014-02-25 at 62a8ad0)
- + tests: turn on network daemon tests by default
+* bc/blame-crlf-test (2014-02-18) 1 commit
+ - blame: add a failing test for a CRLF issue.
 
- Originally merged to 'next' on 2014-02-20
+ I have a feeling that a fix for this should be fairly isolated and
+ trivial (it should be just the matter of paying attention to the
+ crlf settings when synthesizing the fake commit)---perhaps somebody
+ can squash in a fix to this?
 
- Teach "make test" to run networking tests when possible by default.
 
- Will merge to 'master'.
+* jk/http-no-curl-easy (2014-02-18) 1 commit
+ - http: never use curl_easy_perform
 
+ Avoid use of the curl-easy family of functions, which interferes
+ with connection reuse in a negative way.
 
-* jc/check-attr-honor-working-tree (2014-02-06) 2 commits
- - check-attr: move to the top of working tree when in non-bare repository
- - t0003: do not chdir the whole test process
+ Will merge to 'next'.
 
- "git check-attr" when (trying to) work on a repository with a
- working tree did not work well when the working tree was specified
- via --work-tree (and obviously with --git-dir).
 
- The command also works in a bare repository but it reads from the
- (possibly stale, irrelevant and/or nonexistent) index, which may
- need to be fixed to read from HEAD, but that is a completely
- separate issue.  As a related tangentto this separate issue, we may
- want to also fix "check-ignore", which refuses to work in a bare
- repository, to also operate in a bare one.
+* jk/janitorial-fixes (2014-02-18) 5 commits
+ - open_istream(): do not dereference NULL in the error case
+ - builtin/mv: don't use memory after free
+ - utf8: use correct type for values in interval table
+ - utf8: fix iconv error detection
+ - notes-utils: handle boolean notes.rewritemode correctly
 
  Will merge to 'next'.
 
 
-* nd/http-fetch-shallow-fix (2014-02-13) 7 commits
-  (merged to 'next' on 2014-02-25 at ad4e9c9)
- + t5537: move http tests out to t5539
- + fetch-pack: fix deepen shallow over smart http with no-done cap
- + protocol-capabilities.txt: document no-done
- + protocol-capabilities.txt: refer multi_ack_detailed back to pack-protocol.txt
- + pack-protocol.txt: clarify 'obj-id' in the last ACK after 'done'
- + test: rename http fetch and push test files
- + tests: auto-set LIB_HTTPD_PORT from test name
- (this branch is tangled with jk/test-ports.)
-
- Originally merged to 'next' on 2014-02-13
+* ks/config-file-stdin (2014-02-18) 4 commits
+ - config: teach "git config --file -" to read from the standard input
+ - config: change git_config_with_options() interface
+ - builtin/config.c: rename check_blob_write() -> check_write()
+ - config: disallow relative include paths from blobs
 
- Attempting to deepen a shallow repository by fetching over smart
- HTTP transport failed in the protocol exchange, when no-done
- extension was used.  The fetching side waited for the list of
- shallow boundary commits after the sending end stopped talking to
- it.
+ Will merge to 'next'.
 
- Will merge to 'master'.
 
+* lb/contrib-contacts-looser-diff-parsing (2014-02-18) 1 commit
+ - git-contacts: do not fail parsing of good diffs
 
-* jk/makefile (2014-02-05) 16 commits
- - FIXUP
- - move LESS/LV pager environment to Makefile
- - Makefile: teach scripts to include make variables
- - FIXUP
- - Makefile: auto-build C strings from make variables
- - Makefile: drop *_SQ variables
- - FIXUP
- - Makefile: add c-quote helper function
- - Makefile: introduce sq function for shell-quoting
- - Makefile: always create files via make-var
- - Makefile: store GIT-* sentinel files in MAKE/
- - Makefile: prefer printf to echo for GIT-*
- - Makefile: use tempfile/mv strategy for GIT-*
- - Makefile: introduce make-var helper function
- - Makefile: fix git-instaweb dependency on gitweb
- - Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS
+ Will merge to 'next'.
 
- Simplify the Makefile rules and macros that exist primarily for
- quoting purposes, and make it easier to robustly express the
- dependency rules.
 
- Expecting a reroll.
+* mh/replace-refs-variable-rename (2014-02-28) 3 commits
+ - Document some functions defined in object.c
+ - Add docstrings for lookup_replace_object() and do_lookup_replace_object()
+ - rename read_replace_refs to check_replace_refs
 
+ Will merge to 'next'.
 
-* ks/tree-diff-walk (2014-02-24) 5 commits
-  (merged to 'next' on 2014-02-25 at 17e594f)
- + tree-walk: finally switch over tree descriptors to contain a pre-parsed entry
- + revision: convert to using diff_tree_sha1()
- + line-log: convert to using diff_tree_sha1()
- + tree-diff: convert diff_root_tree_sha1() to just call diff_tree_sha1 with old=NULL
- + tree-diff: allow diff_tree_sha1 to accept NULL sha1
- (this branch is used by ks/combine-diff, ks/tree-diff-more and ks/tree-diff-nway.)
 
- Originally merged to 'next' on 2014-02-06
+* nd/commit-editor-cleanup (2014-02-25) 3 commits
+ - commit: add --cleanup=scissors
+ - wt-status.c: move cut-line print code out to wt_status_add_cut_line
+ - wt-status.c: make cut_line[] const to shrink .data section a bit
 
Will merge to 'master'.
"git commit --cleanup=<mode>" learned a new mode, scissors.
 
 
-* nd/reset-intent-to-add (2014-02-05) 1 commit
-  (merged to 'next' on 2014-02-25 at 0c48245)
- + reset: support "--mixed --intent-to-add" mode
+* nd/no-more-fnmatch (2014-02-20) 4 commits
+ - actually remove compat fnmatch source code
+ - stop using fnmatch (either native or compat)
+ - Revert "test-wildmatch: add "perf" command to compare wildmatch and fnmatch"
+ - use wildmatch() directly without fnmatch() wrapper
 
- Originally merged to 'next' on 2014-02-07
+ We started using wildmatch() in place of fnmatch(3); complete the
+ process and stop using fnmatch(3).
 
- Will merge to 'master'.
+ Will merge to 'next'.
 
 
-* nd/test-rename-reset (2014-02-04) 1 commit
-  (merged to 'next' on 2014-02-25 at 7b25711)
- + t7101, t7014: rename test files to indicate what that file is for
+* nd/reset-setup-worktree (2014-02-18) 1 commit
+ - reset: optionally setup worktree and refresh index on --mixed
 
- Originally merged to 'next' on 2014-02-06
+ "git reset" needs to refresh the index when working in a working
+ tree (it can also be used to match the index to the HEAD in an
+ otherwise bare repository), but it failed to set up the working
+ tree properly, causing GIT_WORK_TREE to be ignored.
 
- Will merge to 'master'.
+ Will merge to 'next'.
 
 
-* tr/remerge-diff (2014-02-05) 6 commits
- - log --remerge-diff: show what the conflict resolution changed
- - merge-recursive: allow storing conflict hunks in index
- - Fold all merge diff variants into an enum
- - combine-diff: do not pass revs->dense_combined_merges redundantly
- - log: add a merge base inspection option
- - pretty: refactor add_merge_info() into parts
- (this branch uses tr/merge-recursive-index-only.)
+* po/git-help-user-manual (2014-02-18) 1 commit
+ - Provide a 'git help user-manual' route to the docbook
 
- "log -p" output learns a new way to let users inspect a merge
- commit by showing the differences between the automerged result
- with conflicts the person who recorded the merge would have seen
- and the final conflict resolution that was recorded in the merge.
+ I am not sure if this is even needed.
 
- RFC.
 
+* rt/links-for-asciidoctor (2014-02-20) 1 commit
+ - Documentation: fix documentation AsciiDoc links for external urls
 
-* bs/stdio-undef-before-redef (2014-01-31) 1 commit
-  (merged to 'next' on 2014-02-25 at 77c4b5f)
- + git-compat-util.h: #undef (v)snprintf before #define them
+ Will merge to 'next'.
 
- Originally merged to 'next' on 2014-01-31
 
- When we replace broken macros from stdio.h in git-compat-util.h,
- #undef them to avoid re-definition warnings from the C
- preprocessor.
+* tg/index-v4-format (2014-02-24) 3 commits
+ - read-cache: add index.version config variable
+ - test-lib: allow setting the index format version
+ - introduce GIT_INDEX_VERSION environment variable
 
- Will merge to 'master'.
+ Will merge to 'next'.
 
 
-* ep/varscope (2014-01-31) 7 commits
-  (merged to 'next' on 2014-02-25 at e967c7e)
- + builtin/gc.c: reduce scope of variables
- + builtin/fetch.c: reduce scope of variable
- + builtin/commit.c: reduce scope of variables
- + builtin/clean.c: reduce scope of variable
- + builtin/blame.c: reduce scope of variables
- + builtin/apply.c: reduce scope of variables
- + bisect.c: reduce scope of variable
+* tr/diff-submodule-no-reuse-worktree (2014-02-18) 1 commit
+ - diff: do not reuse_worktree_file for submodules
 
- Originally merged to 'next' on 2014-01-31
+ "git diff --external-diff" incorrectly fed the submodule directory
+ in the working tree to the external diff driver when it knew it is
+ the same as one of the versions being compared.
 
- Shrink lifetime of variables by moving their definitions to an
- inner scope where appropriate.
+ Will merge to 'next'.
 
- Will merge to 'master'.
 
+* nd/multiple-work-trees (2014-02-19) 26 commits
+ - FIXUP???
+ - gc: support prune --repos
+ - prune: strategies for linked checkouts
+ - checkout: detach if the branch is already checked out elsewhere
+ - checkout: clean up half-prepared directories in --to mode
+ - checkout: support checking out into a new working directory
+ - use new wrapper write_file() for simple file writing
+ - wrapper.c: wrapper to open a file, fprintf then close
+ - setup.c: support multi-checkout repo setup
+ - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
+ - setup.c: convert check_repository_format_gently to use strbuf
+ - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
+ - setup.c: convert is_git_directory() to use strbuf
+ - git-stash: avoid hardcoding $GIT_DIR/logs/....
+ - *.sh: avoid hardcoding $GIT_DIR/hooks/...
+ - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
+ - Add new environment variable $GIT_COMMON_DIR
+ - commit: use SEQ_DIR instead of hardcoding "sequencer"
+ - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
+ - reflog: avoid constructing .lock path with git_path
+ - *.sh: respect $GIT_INDEX_FILE
+ - Make git_path() aware of file relocation in $GIT_DIR
+ - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
+ - path.c: rename vsnpath() to do_git_path()
+ - Convert git_snpath() to strbuf_git_path()
+ - path.c: make get_pathname() return strbuf instead of static buffer
 
-* mw/symlinks (2014-02-04) 6 commits
-  (merged to 'next' on 2014-02-25 at 15dc036)
- + setup: don't dereference in-tree symlinks for absolute paths
- + setup: add abspath_part_inside_repo() function
- + t0060: add tests for prefix_path when path begins with work tree
- + t0060: add test for prefix_path when path == work tree
- + t0060: add test for prefix_path on symlinks via absolute paths
- + t3004: add test for ls-files on symlinks via absolute paths
+ The tip commit needs to be dropped; the series needs a serious review.
 
- Originally merged to 'next' on 2014-02-06
 
- All subcommands that take pathspecs mishandled an in-tree symbolic
- link when given it as a full path from the root (which arguably is
- a sick way to use pathspecs).  "git ls-files -s $(pwd)/RelNotes" in
- our tree is an easy reproduction recipe.
+* ks/tree-diff-nway (2014-03-04) 19 commits
+ - combine-diff: speed it up, by using multiparent diff tree-walker directly
+ - tree-diff: rework diff_tree() to generate diffs for multiparent cases as well
+ - Portable alloca for Git
+ - tree-diff: reuse base str(buf) memory on sub-tree recursion
+ - tree-diff: no need to call "full" diff_tree_sha1 from show_path()
+ - tree-diff: rework diff_tree interface to be sha1 based
+ - tree-diff: diff_tree() should now be static
+ - tree-diff: remove special-case diff-emitting code for empty-tree cases
+ - tree-diff: simplify tree_entry_pathcmp
+ - tree-diff: show_path prototype is not needed anymore
+ - tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
+ - tree-diff: move all action-taking code out of compare_tree_entry()
+ - tree-diff: don't assume compare_tree_entry() returns -1,0,1
+ - tree-diff: consolidate code for emitting diffs and recursion in one place
+ - tree-diff: show_tree() is not needed
+ - tree-diff: no need to pass match to skip_uninteresting()
+ - tree-diff: no need to manually verify that there is no mode change for a path
+ - combine-diff: move changed-paths scanning logic into its own function
+ - combine-diff: move show_log_first logic/action out of paths scanning
+ (this branch uses ks/combine-diff.)
 
- Will merge to 'master'.
+ Instead of running N pair-wise diff-trees when inspecting a
+ N-parent merge, find the set of paths that were touched by walking
+ N+1 trees in parallel.  These set of paths can then be turned into
+ N pair-wise diff-tree results to be processed through rename
+ detections and such.  And N=2 case nicely degenerates to the usual
+ 2-way diff-tree, which is very nice.
 
 
-* ks/combine-diff (2014-02-24) 6 commits
-  (merged to 'next' on 2014-02-25 at 69e5a87)
- + tests: add checking that combine-diff emits only correct paths
- + combine-diff: simplify intersect_paths() further
- + combine-diff: combine_diff_path.len is not needed anymore
- + combine-diff: optimize combine_diff_path sets intersection
- + diff test: add tests for combine-diff with orderfile
- + diffcore-order: export generic ordering interface
- (this branch is used by ks/tree-diff-more and ks/tree-diff-nway; uses ks/tree-diff-walk.)
+* nd/daemonize-gc (2014-02-10) 2 commits
+  (merged to 'next' on 2014-02-25 at f592335)
+ + gc: config option for running --auto in background
+ + daemon: move daemonize() to libgit.a
 
  Originally merged to 'next' on 2014-02-20
 
- Teach combine-diff to honour the path-output-order imposed by
- diffcore-order, and optimize how matching paths are found in
- the N-way diffs made with parents.
+ Allow running "gc --auto" in the background.
 
  Will merge to 'master'.
 
 
-* bc/gpg-sign-everywhere (2014-02-11) 9 commits
-  (merged to 'next' on 2014-02-25 at 7db014c)
- + pull: add the --gpg-sign option.
- + rebase: add the --gpg-sign option
- + rebase: parse options in stuck-long mode
- + rebase: don't try to match -M option
- + rebase: remove useless arguments check
- + am: add the --gpg-sign option
- + am: parse options in stuck-long mode
- + git-sh-setup.sh: add variable to use the stuck-long mode
- + cherry-pick, revert: add the --gpg-sign option
+* nd/gitignore-trailing-whitespace (2014-02-10) 2 commits
+ - dir: ignore trailing spaces in exclude patterns
+ - dir: warn about trailing spaces in exclude patterns
+
+ Warn and then ignore trailing whitespaces in .gitignore files,
+ unless they are quoted for fnmatch(3), e.g. "path\ ".
+
+ Will merge to 'next'.
 
- Originally merged to 'next' on 2014-02-13
 
- Teach "--gpg-sign" option to many commands that create commits.
+* nd/log-show-linear-break (2014-02-10) 1 commit
+ - log: add --show-linear-break to help see non-linear history
 
- Will merge to 'master'.
+ Attempts to show where a single-strand-of-pearls break in "git log"
+ output.
 
+ "git log --no-merges --show-linear-break" does not seem to work
+ well (tried on range "pu~10..pu" or something like that).
 
-* ds/rev-parse-required-args (2014-01-28) 1 commit
-  (merged to 'next' on 2014-02-25 at bba6e79)
- + rev-parse: check i before using argv[i] against argc
 
- Originally merged to 'next' on 2014-01-31
+* ss/completion-rec-sub-fetch-push (2014-02-11) 1 commit
+ - completion: teach --recurse-submodules to fetch, pull and push
 
- "git rev-parse --default" without the required option argument did
- not diagnose it as an error.
+ Will merge to 'next'.
 
- Will merge to 'master'.
 
+* jh/note-trees-record-blobs (2014-02-20) 1 commit
+ - notes: disallow reusing non-blob as a note object
 
-* jk/config-path-include-fix (2014-01-28) 2 commits
-  (merged to 'next' on 2014-02-25 at 3604f75)
- + handle_path_include: don't look at NULL value
- + expand_user_path: do not look at NULL path
+ "git notes -C <blob>" should not take an object that is not a blob.
 
- Originally merged to 'next' on 2014-01-31
+ Will merge to 'next'.
 
- include.path variable (or any variable that expects a path that can
- use ~username expansion) in the configuration file is not a
- boolean, but the code failed to check it.
+
+* jk/run-network-tests-by-default (2014-02-14) 1 commit
+  (merged to 'next' on 2014-02-25 at 62a8ad0)
+ + tests: turn on network daemon tests by default
+
+ Originally merged to 'next' on 2014-02-20
+
+ Teach "make test" to run networking tests when possible by default.
 
  Will merge to 'master'.
 
 
-* nd/submodule-pathspec-ending-with-slash (2014-02-24) 8 commits
-  (merged to 'next' on 2014-02-25 at 954b7a2)
- + clean: use cache_name_is_other()
- + clean: replace match_pathspec() with dir_path_match()
- + pathspec: pass directory indicator to match_pathspec_item()
- + match_pathspec: match pathspec "foo/" against directory "foo"
- + dir.c: prepare match_pathspec_item for taking more flags
- + pathspec: rename match_pathspec_depth() to match_pathspec()
- + pathspec: convert some match_pathspec_depth() to dir_path_match()
- + pathspec: convert some match_pathspec_depth() to ce_path_match()
+* jc/check-attr-honor-working-tree (2014-02-06) 2 commits
+ - check-attr: move to the top of working tree when in non-bare repository
+ - t0003: do not chdir the whole test process
 
- Originally merged to 'next' on 2014-01-31
+ "git check-attr" when (trying to) work on a repository with a
+ working tree did not work well when the working tree was specified
+ via --work-tree (and obviously with --git-dir).
 
- Allow "git cmd path/", when the 'path' is where a submodule is
- bound to the top-level working tree, to match 'path', despite the
- extra and unnecessary trailing slash.
+ The command also works in a bare repository but it reads from the
+ (possibly stale, irrelevant and/or nonexistent) index, which may
+ need to be fixed to read from HEAD, but that is a completely
+ separate issue.  As a related tangentto this separate issue, we may
+ want to also fix "check-ignore", which refuses to work in a bare
+ repository, to also operate in a bare one.
 
- Will merge to 'master'.
+ Will merge to 'next'.
 
 
-* lt/request-pull (2014-01-31) 4 commits
- - pull-request: test updates
- - request-pull: pick up tag message as before
- - Make request-pull able to take a refspec of form local:remote
- - Make 'git request-pull' more strict about matching
+* jk/makefile (2014-02-05) 16 commits
+ - FIXUP
+ - move LESS/LV pager environment to Makefile
+ - Makefile: teach scripts to include make variables
+ - FIXUP
+ - Makefile: auto-build C strings from make variables
+ - Makefile: drop *_SQ variables
+ - FIXUP
+ - Makefile: add c-quote helper function
+ - Makefile: introduce sq function for shell-quoting
+ - Makefile: always create files via make-var
+ - Makefile: store GIT-* sentinel files in MAKE/
+ - Makefile: prefer printf to echo for GIT-*
+ - Makefile: use tempfile/mv strategy for GIT-*
+ - Makefile: introduce make-var helper function
+ - Makefile: fix git-instaweb dependency on gitweb
+ - Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS
 
- Waiting for the updates to settle.
+ Simplify the Makefile rules and macros that exist primarily for
+ quoting purposes, and make it easier to robustly express the
+ dependency rules.
 
+ Expecting a reroll.
 
-* bk/refresh-missing-ok-in-merge-recursive (2014-02-24) 4 commits
-  (merged to 'next' on 2014-02-25 at 2651cb0)
- + merge-recursive.c: tolerate missing files while refreshing index
- + read-cache.c: extend make_cache_entry refresh flag with options
- + read-cache.c: refactor --ignore-missing implementation
- + t3030-merge-recursive: test known breakage with empty work tree
 
- Originally merged to 'next' on 2014-01-29
+* tr/remerge-diff (2014-02-26) 5 commits
+ . log --remerge-diff: show what the conflict resolution changed
+ . name-hash: allow dir hashing even when !ignore_case
+ . merge-recursive: allow storing conflict hunks in index
+ . revision: fold all merge diff variants into an enum merge_diff_mode
+ . combine-diff: do not pass revs->dense_combined_merges redundantly
+ (this branch uses tr/merge-recursive-index-only.)
 
- Allow "merge-recursive" to work in an empty (temporary) working
- tree again when there are renames involved, correcting an old
- regression in 1.7.7 era.
+ "log -p" output learns a new way to let users inspect a merge
+ commit by showing the differences between the automerged result
+ with conflicts the person who recorded the merge would have seen
+ and the final conflict resolution that was recorded in the merge.
 
- Will merge to 'master'.
+ RFC.  This latest round clashes with the kb/fast-hashmap topic in
+ 'master'.
 
 
-* nd/diff-quiet-stat-dirty (2014-02-24) 2 commits
-  (merged to 'next' on 2014-02-25 at 7cad1d3)
- + diff: do not quit early on stat-dirty files
- + diff.c: move diffcore_skip_stat_unmatch core logic out for reuse later
+* ks/combine-diff (2014-02-24) 6 commits
+  (merged to 'next' on 2014-02-25 at 69e5a87)
+ + tests: add checking that combine-diff emits only correct paths
+ + combine-diff: simplify intersect_paths() further
+ + combine-diff: combine_diff_path.len is not needed anymore
+ + combine-diff: optimize combine_diff_path sets intersection
+ + diff test: add tests for combine-diff with orderfile
+ + diffcore-order: export generic ordering interface
+ (this branch is used by ks/tree-diff-nway.)
 
- Originally merged to 'next' on 2014-01-31
+ Originally merged to 'next' on 2014-02-20
 
- "git diff --quiet -- pathspec1 pathspec2" sometimes did not return
- correct status value.
+ Teach combine-diff to honour the path-output-order imposed by
+ diffcore-order, and optimize how matching paths are found in
+ the N-way diffs made with parents.
 
  Will merge to 'master'.
 
 
+* lt/request-pull (2014-02-25) 5 commits
+ - request-pull: resurrect "pretty refname" feature
+ - request-pull: test updates
+ - request-pull: pick up tag message as before
+ - request-pull: allow "local:remote" to specify names on both ends
+ - request-pull: more strictly match local/remote branches
+
+ Needs doc update but otherwise it should be ready for 'next'.
+
+
 * cc/interpret-trailers (2014-02-20) 14 commits
  - Documentation: add documentation for 'git interpret-trailers'
  - trailer: add tests for commands using env variables
@@ -971,23 +1183,7 @@ of the repositories listed at
  - trailer: process trailers from file and arguments
  - trailer: add data structures and basic functions for commit trailers
 
- Waiting for a reroll.
- Hopefully ready for 'next'.
-
-
-* dk/blame-janitorial (2014-02-25) 5 commits
-  (merged to 'next' on 2014-02-25 at d5faeb2)
- + builtin/blame.c::find_copy_in_blob: no need to scan for region end
- + blame.c: prepare_lines should not call xrealloc for every line
- + builtin/blame.c::prepare_lines: fix allocation size of sb->lineno
- + builtin/blame.c: eliminate same_suspect()
- + builtin/blame.c: struct blame_entry does not need a prev link
-
- Originally merged to 'next' on 2014-02-13
-
- Code clean-up.
-
- Will merge to 'master'.
+ Will pick up the reroll but not today.
 
 
 * bl/blame-full-history (2014-01-14) 1 commit
@@ -1006,35 +1202,6 @@ of the repositories listed at
  Will discard.
 
 
-* da/pull-ff-configuration (2014-01-15) 2 commits
-  (merged to 'next' on 2014-02-25 at b9e4f61)
- + pull: add --ff-only to the help text
- + pull: add pull.ff configuration
-
- Originally merged to 'next' on 2014-01-22
-
- "git pull" learned to pay attention to pull.ff configuration
- variable.
-
- Will merge to 'master'.
-
-
-* wk/submodule-on-branch (2014-02-24) 4 commits
-  (merged to 'next' on 2014-02-25 at c6d9fef)
- + Documentation: describe 'submodule update --remote' use case
- + submodule: explicit local branch creation in module_clone
- + submodule: document module_clone arguments in comments
- + submodule: make 'checkout' update_module mode more explicit
-
- Originally merged to 'next' on 2014-02-06
-
- Make sure 'submodule update' modes that do not detach HEADs can
- be used more pleasantly by checking out a concrete branch when
- cloning them to prime the well.
-
- Will merge to 'master'.
-
-
 * jk/warn-on-object-refname-ambiguity (2014-01-09) 6 commits
  - get_sha1: drop object/refname ambiguity flag
  - get_sha1: speed up ambiguous 40-hex test
@@ -1053,64 +1220,6 @@ of the repositories listed at
  Expecting a reroll.
 
 
-* jk/pack-bitmap (2014-02-12) 26 commits
-  (merged to 'next' on 2014-02-25 at 5f65d26)
- + ewah: unconditionally ntohll ewah data
- + ewah: support platforms that require aligned reads
- + read-cache: use get_be32 instead of hand-rolled ntoh_l
- + block-sha1: factor out get_be and put_be wrappers
- + do not discard revindex when re-preparing packfiles
- + pack-bitmap: implement optional name_hash cache
- + t/perf: add tests for pack bitmaps
- + t: add basic bitmap functionality tests
- + count-objects: recognize .bitmap in garbage-checking
- + repack: consider bitmaps when performing repacks
- + repack: handle optional files created by pack-objects
- + repack: turn exts array into array-of-struct
- + repack: stop using magic number for ARRAY_SIZE(exts)
- + pack-objects: implement bitmap writing
- + rev-list: add bitmap mode to speed up object lists
- + pack-objects: use bitmaps when packing objects
- + pack-objects: split add_object_entry
- + pack-bitmap: add support for bitmap indexes
- + documentation: add documentation for the bitmap format
- + ewah: compressed bitmap implementation
- + compat: add endianness helpers
- + sha1_file: export `git_open_noatime`
- + revision: allow setting custom limiter function
- + pack-objects: factor out name_hash
- + pack-objects: refactor the packing list
- + revindex: export new APIs
- (this branch is used by jk/repack-pack-keep-objects.)
-
- Originally merged to 'next' on 2014-02-13
-
- Borrow the bitmap index into packfiles from JGit to speed up
- enumeration of objects involved in a commit range without having to
- fully traverse the history.
-
- Will merge to 'master'.
-
-
-* nv/commit-gpgsign-config (2014-02-24) 3 commits
-  (merged to 'next' on 2014-02-25 at 0baefa2)
- + test the commit.gpgsign config option
- + commit-tree: add and document --no-gpg-sign
- + commit-tree: add the commit.gpgsign option to sign all commits
-
- Originally merged to 'next' on 2014-01-03
-
- Introduce commit.gpgsign configuration variable to force every
- commit to be GPG signed.  The variable cannot be overriden from the
- command line of some of the commands that create commits except for
- "git commit" and "git commit-tree", but I am not convinced that it
- is a good idea to sprinkle support for --no-gpg-sign everywhere,
- which in turn means that this configuration variable may not be
- such a good idea.
-
- Will merge to 'master'.
-
-
 * cc/starts-n-ends-with-endgame (2013-12-05) 1 commit
   (merged to 'next' on 2014-02-25 at 473e143)
  + strbuf: remove prefixcmp() and suffixcmp()
@@ -1213,3 +1322,29 @@ of the repositories listed at
  . diffcore-order: export generic ordering interface
 
  Now part of ks/combine-diff topic.
+
+
+* ks/tree-diff-more (2014-02-24) 15 commits
+ - tree-diff: reuse base str(buf) memory on sub-tree recursion
+ - tree-diff: no need to call "full" diff_tree_sha1 from show_path()
+ - tree-diff: rework diff_tree interface to be sha1 based
+ - tree-diff: remove special-case diff-emitting code for empty-tree cases
+ - tree-diff: simplify tree_entry_pathcmp
+ - tree-diff: show_path prototype is not needed anymore
+ - tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
+ - tree-diff: move all action-taking code out of compare_tree_entry()
+ - tree-diff: don't assume compare_tree_entry() returns -1,0,1
+ - tree-diff: consolidate code for emitting diffs and recursion in one place
+ - tree-diff: show_tree() is not needed
+ - tree-diff: no need to pass match to skip_uninteresting()
+ - tree-diff: no need to manually verify that there is no mode change for a path
+ - combine-diff: move changed-paths scanning logic into its own function
+ - combine-diff: move show_log_first logic/action out of paths scanning
+ (this branch is used by ks/tree-diff-nway; uses ks/combine-diff.)
+
+ Code refactoring.
+
+ Now part of ks/tree-diff-nway.
+
+
+