To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Feb 2014, #04; Wed, 12)
-X-master-at: bc97e2d8ae24dc2c8d06e616e20a0b4a47c58f67
-X-next-at: 4cf525ce1d2c8852398b34afa865f9fb26828d57
+Subject: What's cooking in git.git (Feb 2014, #05; Fri, 14)
+X-master-at: 5f95c9f850b19b368c43ae399cc831b17a26a5ac
+X-next-at: dc9e3eb950a3fce88e01983170c37200a6d34d8f
-What's cooking in git.git (Feb 2014, #04; Wed, 12)
+What's cooking in git.git (Feb 2014, #05; Fri, 14)
--------------------------------------------------
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 'master' has been tagged as v1.9.0-rc3. As a workaround
-to make life easier for third-party tools, the upcoming major
-release will be called "Git 1.9.0" (not "Git 1.9"). The first
-maintenance release for it will be "Git 1.9.1", and the major
-release after "Git 1.9.0" will either be "Git 2.0.0" or "Git
-1.10.0".
+The tip of 'master' is v1.9.0. The first maintenance release for it
+will be "Git 1.9.1", and the major release after "Git 1.9.0" will
+either be "Git 2.0.0" or "Git 1.10.0".
You can find the changes described here in the integration branches
of the repositories listed at
--------------------------------------------------
[New Topics]
-* al/docs (2014-02-11) 4 commits
- - 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
-
- A handful of documentation updates, all trivially harmless.
-
- Will merge to 'next'.
-
-
-* jk/test-ports (2014-02-10) 2 commits
- - 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.)
-
- Avoid having to assign port number to be used in tests manually.
-
- Will merge to 'next'.
-
-
-* nd/daemonize-gc (2014-02-10) 2 commits
- - gc: config option for running --auto in background
- - daemon: move daemonize() to libgit.a
-
- Allow running "gc --auto" in the background.
-
- 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\ ".
-
-
-* nd/log-show-linear-break (2014-02-10) 1 commit
- - log: add --show-linear-break to help see non-linear history
+* ks/tree-diff-nway (2014-02-14) 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 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.
-* ss/completion-rec-sub-fetch-push (2014-02-11) 1 commit
- - completion: teach --recurse-submodules to fetch, pull and push
-
-
-* ks/tree-diff-more (2014-02-12) 16 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
- - FIXUP!
- - 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 and ks/tree-diff-walk.)
-
-
-* jh/note-trees-record-blobs (2014-02-12) 1 commit
- - notes: Disallow reusing non-blob as a note object
-
-
-* jk/run-network-tests-by-default (2014-02-12) 1 commit
- - tests: turn on network daemon tests by default
-
- Teach "make test" to run networking tests when possible by default.
-
- Needs a bit more work.
- e.g. $gmane/242013
+ Promising, but unfortunately the implementation seems a bit too
+ unportable for such a core part of the system.
--------------------------------------------------
[Stalled]
--------------------------------------------------
[Cooking]
+* al/docs (2014-02-11) 4 commits
+ (merged to 'next' on 2014-02-13 at 4157cf3)
+ + 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
+
+ A handful of documentation updates, all trivially harmless.
+
+ Will cook in 'next'.
+
+
+* jk/test-ports (2014-02-10) 2 commits
+ (merged to 'next' on 2014-02-13 at cbedcb2)
+ + 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.)
+
+ Avoid having to assign port number to be used in tests manually.
+
+ Will cook in 'next'.
+
+
+* nd/daemonize-gc (2014-02-10) 2 commits
+ - gc: config option for running --auto in background
+ - daemon: move daemonize() to libgit.a
+
+ Allow running "gc --auto" in the background.
+
+ 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\ ".
+
+
+* nd/log-show-linear-break (2014-02-10) 1 commit
+ - log: add --show-linear-break to help see non-linear history
+
+
+* ss/completion-rec-sub-fetch-push (2014-02-11) 1 commit
+ - completion: teach --recurse-submodules to fetch, pull and push
+
+
+* ks/tree-diff-more (2014-02-13) 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.)
+
+
+* jh/note-trees-record-blobs (2014-02-12) 1 commit
+ - notes: Disallow reusing non-blob as a note object
+
+
+* jk/run-network-tests-by-default (2014-02-14) 1 commit
+ - tests: turn on network daemon tests by default
+
+ Teach "make test" to run networking tests when possible by default.
+
+ Will merge to and then cook in 'next'.
+
+
* 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
repository, to also operate in a bare one.
-* nd/http-fetch-shallow-fix (2014-02-10) 6 commits
- - 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
+* nd/http-fetch-shallow-fix (2014-02-13) 7 commits
+ (merged to 'next' on 2014-02-13 at 7ec3c2f)
+ + 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.)
Attempting to deepen a shallow repository by fetching over smart
shallow boundary commits after the sending end stopped talking to
it.
- Will merge to 'next'.
+ Will cook in 'next'.
* jk/makefile (2014-02-05) 16 commits
+ 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 and ks/tree-diff-more.)
+ (this branch is used by ks/combine-diff, ks/tree-diff-more and ks/tree-diff-nway.)
Will cook in 'next'.
- 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; uses ks/tree-diff-walk.)
+ (this branch is used by ks/tree-diff-more and ks/tree-diff-nway; uses ks/tree-diff-walk.)
By avoiding running full two-way diff between the resulting
revision and each of its N parents, combine-diff can be sped up
* bc/gpg-sign-everywhere (2014-02-11) 9 commits
- - 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
+ (merged to 'next' on 2014-02-13 at 390376c)
+ + 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
Teach "--gpg-sign" option to many commands that create commits.
Changes to some scripted Porcelains use unsafe variable
substitutions and still need to be tightened.
- Will merge to 'next'.
+ Will cook in 'next'.
* ds/rev-parse-required-args (2014-01-28) 1 commit
Will cook in 'next'.
-* jk/repack-honor-pack-keep (2014-01-28) 1 commit
+* jk/repack-honor-pack-keep (2014-02-12) 1 commit
- repack: add `repack.honorpackkeep` config var
- (this branch is tangled with jk/pack-bitmap.)
+ (this branch uses jk/pack-bitmap.)
Optionally allow "git repack" to include objects that exist in kept
packs in newly created packfiles.
* dk/blame-janitorial (2014-02-12) 4 commits
- - blame.c: prepare_lines should not call xrealloc for every line
+ (merged to 'next' on 2014-02-13 at cc6f7eb)
+ + blame.c: prepare_lines should not call xrealloc for every line
(merged to 'next' on 2014-02-11 at 4af3ebd)
+ builtin/blame.c::prepare_lines: fix allocation size of sb->lineno
(merged to 'next' on 2014-01-29 at 0b7ea97)
Code clean-up.
- Will merge to and cook in 'next'.
+ Will cook in 'next'.
* ks/diff-c-with-diff-order (2014-02-03) 5 commits
* jk/pack-bitmap (2014-02-12) 26 commits
- - ewah: unconditionally ntohll ewah data
+ (merged to 'next' on 2014-02-13 at 591b040)
+ + ewah: unconditionally ntohll ewah data
(merged to 'next' on 2014-01-27 at 0b1dcb5)
+ ewah: support platforms that require aligned reads
+ read-cache: use get_be32 instead of hand-rolled ntoh_l
+ pack-objects: factor out name_hash
+ pack-objects: refactor the packing list
+ revindex: export new APIs
- (this branch is tangled with jk/repack-honor-pack-keep.)
+ (this branch is used by jk/repack-honor-pack-keep.)
Borrows 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 and cook in 'next'.
+ Will cook in 'next'.
* nv/commit-gpgsign-config (2013-12-17) 3 commits