To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Jan 2016, #02; Mon, 11)
-X-master-at: 754884255bb580df159e58defa81cdd30b5c430c
-X-next-at: ef7b32d4f2d070ec6e688815cb7d6b6c2bc843fb
+Subject: What's cooking in git.git (Jan 2016, #03; Wed, 13)
+X-master-at: fc10eb5b87a75af2cb93a3932897572f2c544915
+X-next-at: dc08a1951c8b3cd3e311ff0c2612db06ab28ae13
-What's cooking in git.git (Jan 2016, #02; Mon, 11)
+What's cooking in git.git (Jan 2016, #03; Wed, 13)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with
'+' are in 'next'. The ones marked with '.' do not appear in any of
the integration branches, but I am still holding onto them.
-It's been a week or so since Git 2.7 was released. I'll draw the
-projected timeline for the next cycle (which I expect to be a
-shorter and lightweight cycle), reorder 'next' and possibly eject a
-few topics from it to give them a fresh slate to rebuild on, and
-then start the 2.7.x maintenance track soonish, but none of these
-has happened yet; I'm feeling behind X-<.
-
-Big thanks to Stephen Smith for picking up a few topics from the
-Stalled pile and reviving them. And as always, thanks for the
-regular reviewers (you know who you are) for helping the topics
-move forward.
+The tip of 'next' has been rewound. A handful of topics have
+graduated to 'master'. A few topics that are fixes to 2.7.0 started
+cooking in 'next'.
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
--------------------------------------------------
-[New Topics]
+[Graduated to "master"]
-* dw/signoff-doc (2016-01-05) 1 commit
- - Expand documentation describing --signoff
+* ea/blame-progress (2015-12-16) 1 commit
+ (merged to 'next' on 2015-12-22 at f8e8643)
+ + blame: add support for --[no-]progress option
- The documentation has been updated to hint the connection between
- the '--signoff' option and DCO.
+ Originally merged to 'next' on 2015-12-22
- Will merge to 'next'.
+ "git blame" learned to produce the progress eye-candy when it takes
+ too much time before emitting the first line of the result.
-* ew/for-each-ref-doc (2016-01-05) 1 commit
- - for-each-ref: document `creatordate` and `creator` fields
+* ep/make-phoney (2015-12-16) 1 commit
+ (merged to 'next' on 2015-12-22 at 27c7593)
+ + Makefile: add missing phony target
- Will merge to 'next'.
+ Originally merged to 'next' on 2015-12-22
+ A slight update to the Makefile.
-* sg/t6050-failing-editor-test-fix (2016-01-05) 1 commit
- - t6050-replace: make failing editor test more robust
- Will merge to 'next'.
+* nd/stop-setenv-work-tree (2015-12-22) 1 commit
+ (merged to 'next' on 2015-12-22 at 6d7bb0c)
+ + Revert "setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR"
+ (this branch is used by nd/clear-gitenv-upon-use-of-alias.)
+ Originally merged to 'next' on 2015-12-22
-* js/dirname-basename (2016-01-11) 4 commits
- - t0060: verify that basename() and dirname() work as expected
- - compat/basename.c: provide a dirname() compatibility function
- - compat/basename: make basename() conform to POSIX
- - Refactor skipping DOS drive prefixes
+ An earlier change in 2.5.x-era broke users' hooks and aliases by
+ exporting GIT_WORK_TREE to point at the root of the working tree,
+ interfering when they tried to use a different working tree without
+ setting GIT_WORK_TREE environment themselves.
- dirname() emulation has been added, as Msys2 lacks it.
- Will merge to 'next', 'master', and then to 'maint'.
+* ps/push-delete-option (2015-12-16) 2 commits
+ (merged to 'next' on 2015-12-22 at d83cc1d)
+ + push: add '-d' as shorthand for '--delete'
+ + push: add '--delete' flag to synopsis
- The third-patch has an optional suggestion to make it easier to
- follow; I'm slightly in favor but lack of a reroll for it is not a
- showstopper, either.
+ Originally merged to 'next' on 2015-12-22
+ "branch --delete" has "branch -d" but "push --delete" does not.
-* js/fopen-harder (2016-01-11) 2 commits
- - Handle more file writes correctly in shared repos
- - commit: allow editing the commit message even in shared repos
- Some codepaths used fopen(3) when opening a fixed path in $GIT_DIR
- (e.g. COMMIT_EDITMSG) that is meant to be left after the command is
- done. This however did not work well if the repository is set to
- be shared with core.sharedRepository and the umask of the previous
- user is tighter. Make them work better by calling unlink(2) and
- retrying after fopen(3) fails with EPERM.
+* sb/submodule-parallel-fetch (2015-12-16) 7 commits
+ (merged to 'next' on 2015-12-22 at 44e84ff)
+ + submodules: allow parallel fetching, add tests and documentation
+ + fetch_populated_submodules: use new parallel job processing
+ + run-command: add an asynchronous parallel child processor
+ + sigchain: add command to pop all common signals
+ + strbuf: add strbuf_read_once to read without blocking
+ + xread: poll on non blocking fds
+ + submodule.c: write "Fetching submodule <foo>" to stderr
+ (this branch is used by sb/submodule-parallel-update.)
+
+ Originally merged to 'next' on 2015-12-22
+
+ Add a framework to spawn a group of processes in parallel, and use
+ it to run "git fetch --recurse-submodules" in parallel.
+
+ Rerolled and this seems to be a lot cleaner. The merge of the
+ earlier one to 'next' has been reverted.
+
+
+* vl/grep-configurable-threads (2015-12-16) 3 commits
+ (merged to 'next' on 2015-12-22 at 8954705)
+ + grep: add --threads=<num> option and grep.threads configuration
+ + grep: slight refactoring to the code that disables threading
+ + grep: allow threading even on a single-core machine
+
+ Originally merged to 'next' on 2015-12-22
+
+ "git grep" can now be configured (or told from the command line)
+ how many threads to use when searching in the working tree files.
+
+--------------------------------------------------
+[New Topics]
+
+* ho/gitweb-squelch-undef-warning (2016-01-12) 1 commit
+ (merged to 'next' on 2016-01-12 at ef4fc5f)
+ + gitweb: squelch "uninitialized value" warning
+
+ Asking gitweb for a nonexistent commit left a warning in the server
+ log.
+
+ Somebody may want to follow this up with a new test, perhaps?
+ IIRC, we do test that no Perl warnings are given to the server log,
+ so this should have been caught if our test coverage were good.
+
+ Will merge to 'master'.
+
+
+* tg/grep-no-index-fallback (2016-01-12) 2 commits
+ (merged to 'next' on 2016-01-12 at 8960bdd)
+ + builtin/grep: add grep.fallbackToNoIndex config
+ + t7810: correct --no-index test
+
+ "git grep" by default does not fall back to its --no-index
+ behaviour outside a directory under Git's control (otherwise the
+ user may by mistake end up running a huge recursive search); with a
+ new configuration (set in $HOME/.gitconfig--by definition this
+ cannot be set in the config file per project), this safety can be
+ disabled.
+
+ Will merge to 'master'.
+
+
+* js/pull-rebase-i (2016-01-13) 3 commits
+ - completion: add missing branch.*.rebase values
+ - remote: handle the config setting branch.*.rebase=interactive
+ - pull: allow interactive rebase with --rebase=interactive
+
+ "git pull --rebase" has been extended to allow invoking
+ "rebase -i".
Will merge to 'next'.
-* nd/exclusion-regression-fix (2016-01-08) 1 commit
- - Revert "dir.c: don't exclude whole dir prematurely if neg pattern may match"
+* jk/ok-to-fail-gc-auto-in-rebase (2016-01-13) 1 commit
+ - rebase: ignore failures from "gc --auto"
- The ignore mechanism saw a few regressions around untracked file
- listing and sparse checkout selection areas in 2.7.0; the change
- that is responsible for the regression has been reverted.
+ "git rebase", unlike all other callers of "gc --auto", did not
+ ignore the exit code from "gc --auto".
+
+ Will merge to 'next'.
- Will merge to 'next' and then to 'master'.
+* js/close-packs-before-gc (2016-01-13) 4 commits
+ - receive-pack: release pack files before garbage-collecting
+ - merge: release pack files before garbage-collecting
+ - am: release pack files before garbage-collecting
+ - fetch: release pack files before garbage-collecting
-* ss/clone-depth-single-doc (2016-01-08) 3 commits
- - docs: clarify that --depth for git-fetch works with newly initialized repos
- - docs: say "commits" in the --depth option wording for git-clone
- - docs: clarify that passing --depth to git-clone implies --single-branch
+ Many codepaths that run "gc --auto" before exiting kept packfiles
+ mapped and left the file descriptors to them open, which was not
+ friendly to systems that cannot remove files that are open. They
+ now close the packs before doing so.
- Updates documents to clarify "git fetch --depth".
+ Will merge to 'next'.
+
+
+* js/msys2 (2016-01-13) 5 commits
+ - compat/winansi: support compiling with MSys2
+ - compat/mingw: support MSys2-based MinGW build
+ - nedmalloc: allow compiling with MSys2's compiler
+ - config.mak.uname: supporting 64-bit MSys2
+ - config.mak.uname: support MSys2
+
+ Beginning of the upstreaming process of Git for Windows effort.
+
+ Waiting for review.
+ ($gmane/283975).
+
+
+* rp/p4-filetype-change (2016-01-13) 1 commit
+ - git-p4.py: add support for filetype change
Will merge to 'next'.
+
+* tk/interpret-trailers-in-place (2016-01-13) 2 commits
+ - interpret-trailers: add option for in-place editing
+ - trailer: use fprintf instead of printf
+
+ "interpret-trailers" has been taught to optionally update a file in
+ place, instead of always writing the result to the standard output.
+
+ Test may need to be updated to ensure a failing rewrite does not
+ clobber the original input.
+
+ Waiting for review.
+ ($gmane/283959).
+
--------------------------------------------------
[Stalled]
--------------------------------------------------
[Cooking]
-* wp/sha1-name-negative-match (2016-01-11) 2 commits
+* dw/signoff-doc (2016-01-05) 1 commit
+ (merged to 'next' on 2016-01-12 at 1b08b48)
+ + Expand documentation describing --signoff
+
+ The documentation has been updated to hint the connection between
+ the '--signoff' option and DCO.
+
+ Will merge to 'master'.
+
+
+* ew/for-each-ref-doc (2016-01-05) 1 commit
+ (merged to 'next' on 2016-01-12 at e5c4e75)
+ + for-each-ref: document `creatordate` and `creator` fields
+
+ Will merge to 'master'.
+
+
+* sg/t6050-failing-editor-test-fix (2016-01-05) 1 commit
+ (merged to 'next' on 2016-01-12 at dc08a19)
+ + t6050-replace: make failing editor test more robust
+
+ Will merge to 'master'.
+
+
+* js/dirname-basename (2016-01-12) 4 commits
+ (merged to 'next' on 2016-01-12 at c3c970a)
+ + t0060: verify that basename() and dirname() work as expected
+ + compat/basename.c: provide a dirname() compatibility function
+ + compat/basename: make basename() conform to POSIX
+ + Refactor skipping DOS drive prefixes
+
+ dirname() emulation has been added, as Msys2 lacks it.
+
+ The test needs to be loosened to allow implementation defined
+ behaviour; currently it fails on Macs.
+
+ Waiting for an update.
+ ($gmane/283968).
+
+
+* js/fopen-harder (2016-01-11) 2 commits
+ (merged to 'next' on 2016-01-12 at c6ef194)
+ + Handle more file writes correctly in shared repos
+ + commit: allow editing the commit message even in shared repos
+
+ Some codepaths used fopen(3) when opening a fixed path in $GIT_DIR
+ (e.g. COMMIT_EDITMSG) that is meant to be left after the command is
+ done. This however did not work well if the repository is set to
+ be shared with core.sharedRepository and the umask of the previous
+ user is tighter. Make them work better by calling unlink(2) and
+ retrying after fopen(3) fails with EPERM.
+
+ Will merge to 'master'.
+
+
+* nd/exclusion-regression-fix (2016-01-08) 1 commit
+ (merged to 'next' on 2016-01-12 at 0eb98a5)
+ + Revert "dir.c: don't exclude whole dir prematurely if neg pattern may match"
+
+ The ignore mechanism saw a few regressions around untracked file
+ listing and sparse checkout selection areas in 2.7.0; the change
+ that is responsible for the regression has been reverted.
+
+ Will merge to 'master'.
+
+
+* ss/clone-depth-single-doc (2016-01-08) 3 commits
+ (merged to 'next' on 2016-01-12 at 16ded8c)
+ + docs: clarify that --depth for git-fetch works with newly initialized repos
+ + docs: say "commits" in the --depth option wording for git-clone
+ + docs: clarify that passing --depth to git-clone implies --single-branch
+
+ Updates documents to clarify "git fetch --depth".
+
+ Will merge to 'master'.
+
+
+* wp/sha1-name-negative-match (2016-01-13) 2 commits
- object name: introduce '^{/!-<negative pattern>}' notation
- test for '!' handling in rev-parse's named commits
Introduce "<branch>^{/!-<pattern>}" notation to name a commit
reachable from <branch> that does not match the given <pattern>.
+ A questionable corner case where commit has no message remains.
+
+ Waiting for review.
+ ($gmane/283971)
+
-* ak/format-patch-odir-config (2016-01-11) 1 commit
- . format-patch: introduce format.outputDirectory configuration
+* ak/format-patch-odir-config (2016-01-13) 1 commit
+ - format-patch: introduce format.outputDirectory configuration
Allow "-o <dir>" option to be omitted on the command line of "git
format-patch" if you always use the same directory in your
workflow.
- Left out of 'pu' for now as t4014 seems to break with this topic.
+ Will merge to 'next'.
* jk/notes-merge-from-anywhere (2015-12-29) 1 commit
* dk/reflog-walk-with-non-commit (2016-01-05) 1 commit
- - reflog-walk: don't segfault on non-commit sha1's in the reflog
+ (merged to 'next' on 2016-01-12 at 5f7b10e)
+ + reflog-walk: don't segfault on non-commit sha1's in the reflog
"git reflog" incorrectly assumed that all objects that used to be
at the tip of a ref must be commits, which caused it to segfault.
- Will merge to 'next'.
+ Will merge to 'master'.
* ew/send-email-mutt-alias-fix (2016-01-04) 1 commit
- - git-send-email: do not double-escape quotes from mutt
+ (merged to 'next' on 2016-01-12 at 84d1329)
+ + git-send-email: do not double-escape quotes from mutt
"git send-email" was confused by escaped quotes stored in the alias
files saved by "mutt".
- Will merge to 'next'.
+ Will merge to 'master'.
* jk/clang-pedantic (2016-01-04) 2 commits
- - bswap: add NO_UNALIGNED_LOADS define
- - avoid shifting signed integers 31 bits
+ (merged to 'next' on 2016-01-12 at b5be271)
+ + bswap: add NO_UNALIGNED_LOADS define
+ + avoid shifting signed integers 31 bits
A few unportable C construct have been spotted by clang compiler
and have been fixed.
- Will merge to 'next'.
-
-
-* ea/blame-progress (2015-12-16) 1 commit
- (merged to 'next' on 2015-12-22 at f8e8643)
- + blame: add support for --[no-]progress option
-
- "git blame" learned to produce the progress eye-candy when it takes
- too much time before emitting the first line of the result.
-
Will merge to 'master'.
* jk/pack-revindex (2015-12-21) 2 commits
- - pack-revindex: store entries directly in packed_git
- - pack-revindex: drop hash table
+ (merged to 'next' on 2016-01-12 at 2e39a16)
+ + pack-revindex: store entries directly in packed_git
+ + pack-revindex: drop hash table
- Will merge to 'next'.
+ Will merge to 'master'.
-* jk/symbolic-ref (2016-01-11) 5 commits
+* jk/symbolic-ref (2016-01-13) 6 commits
- lock_ref_sha1_basic: handle REF_NODEREF with invalid refs
+ - lock_ref_sha1_basic: always fill old_oid while holding lock
- checkout,clone: check return value of create_symref
- create_symref: write reflog while holding lock
- create_symref: use existing ref-lock code
Will merge to 'next'.
-* nd/stop-setenv-work-tree (2015-12-22) 1 commit
- (merged to 'next' on 2015-12-22 at 6d7bb0c)
- + Revert "setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR"
- (this branch is used by nd/clear-gitenv-upon-use-of-alias.)
-
- An earlier change in 2.5.x-era broke users' hooks and aliases by
- exporting GIT_WORK_TREE to point at the root of the working tree,
- interfering when they tried to use a different working tree without
- setting GIT_WORK_TREE environment themselves.
-
- Will merge to 'master'.
-
-
-* ep/update-command-substitution-style (2016-01-11) 70 commits
+* ep/shell-command-substitution-style (2016-01-12) 92 commits
+ - t9901-git-web--browse.sh: use the $( ... ) construct for command substitution
+ - t9501-gitweb-standalone-http-status.sh: use the $( ... ) construct for command substitution
+ - t9350-fast-export.sh: use the $( ... ) construct for command substitution
+ - t9300-fast-import.sh: use the $( ... ) construct for command substitution
+ - t9150-svk-mergetickets.sh: use the $( ... ) construct for command substitution
+ - t9145-git-svn-master-branch.sh: use the $( ... ) construct for command substitution
+ - t9138-git-svn-authors-prog.sh: use the $( ... ) construct for command substitution
+ - t9137-git-svn-dcommit-clobber-series.sh: use the $( ... ) construct for command substitution
+ - t9132-git-svn-broken-symlink.sh: use the $( ... ) construct for command substitution
+ - t9130-git-svn-authors-file.sh: use the $( ... ) construct for command substitution
+ - t9129-git-svn-i18n-commitencoding.sh: use the $( ... ) construct for command substitution
+ - t9119-git-svn-info.sh: use the $( ... ) construct for command substitution
+ - t9118-git-svn-funky-branch-names.sh: use the $( ... ) construct for command substitution
+ - t9114-git-svn-dcommit-merge.sh: use the $( ... ) construct for command substitution
+ - t9110-git-svn-use-svm-props.sh: use the $( ... ) construct for command substitution
+ - t9109-git-svn-multi-glob.sh: use the $( ... ) construct for command substitution
+ - t9108-git-svn-glob.sh: use the $( ... ) construct for command substitution
+ - t9107-git-svn-migrate.sh: use the $( ... ) construct for command substitution
+ - t9105-git-svn-commit-diff.sh: use the $( ... ) construct for command substitution
+ - t9104-git-svn-follow-parent.sh: use the $( ... ) construct for command substitution
+ - t9101-git-svn-props.sh: use the $( ... ) construct for command substitution
+ - t9100-git-svn-basic.sh: use the $( ... ) construct for command substitution
- t/t9001-send-email.sh: use the $( ... ) construct for command substitution
- t/t8003-blame-corner-cases.sh: use the $( ... ) construct for command substitution
- t/t7700-repack.sh: use the $( ... ) construct for command substitution
* nd/dir-exclude-cleanup (2015-12-28) 1 commit
- - dir.c: clean the entire struct in clear_exclude_list()
+ (merged to 'next' on 2016-01-12 at e6584c9)
+ + dir.c: clean the entire struct in clear_exclude_list()
The "exclude_list" structure has the usual "alloc, nr" pair of
fields to be used by ALLOC_GROW(), but clear_exclude_list() forgot
to reset 'alloc' to 0 when it cleared 'nr' and discarded the
managed array.
- Will merge to 'next'.
+ Will merge to 'master'.
* ss/user-manual (2015-12-30) 4 commits
- - user-manual: add addition gitweb information
- - user-manual: add section documenting shallow clones
- - glossary: define the term shallow clone
- - user-manual: remove temporary branch entry from todo list
+ (merged to 'next' on 2016-01-12 at c7f0328)
+ + user-manual: add addition gitweb information
+ + user-manual: add section documenting shallow clones
+ + glossary: define the term shallow clone
+ + user-manual: remove temporary branch entry from todo list
Drop a few old "todo" items by deciding that the change one of them
suggests is not such a good idea, and doing the change the other
one suggested to do.
- Will merge to 'next'.
+ Will merge to 'master'.
* nd/ita-cleanup (2015-12-28) 3 commits
- - grep: make it clear i-t-a entries are ignored
- - add and use a convenience macro ce_intent_to_add()
- - blame: remove obsolete comment
+ (merged to 'next' on 2016-01-12 at 008a6e3)
+ + grep: make it clear i-t-a entries are ignored
+ + add and use a convenience macro ce_intent_to_add()
+ + blame: remove obsolete comment
Paths that have been told the index about with "add -N" are not
quite yet in the index, but a few commands behaved as if they
Here are only the obviously correct bits; some other changes were
in the posted series, but not quite ready to be queued here.
- Will merge to 'next'.
+ Will merge to 'master'.
* cc/untracked (2015-12-29) 10 commits
$gmane/283080
-* ep/make-phoney (2015-12-16) 1 commit
- (merged to 'next' on 2015-12-22 at 27c7593)
- + Makefile: add missing phony target
-
- A slight update to the Makefile.
-
- Will merge to 'master'.
-
-
-* vl/grep-configurable-threads (2015-12-16) 3 commits
- (merged to 'next' on 2015-12-22 at 8954705)
- + grep: add --threads=<num> option and grep.threads configuration
- + grep: slight refactoring to the code that disables threading
- + grep: allow threading even on a single-core machine
-
- "git grep" can now be configured (or told from the command line)
- how many threads to use when searching in the working tree files.
-
- Will merge to 'master'.
-
-
-* ps/push-delete-option (2015-12-16) 2 commits
- (merged to 'next' on 2015-12-22 at d83cc1d)
- + push: add '-d' as shorthand for '--delete'
- + push: add '--delete' flag to synopsis
-
- "branch --delete" has "branch -d" but "push --delete" does not.
-
- Will merge to 'master'.
-
-
-* dt/refs-backend-lmdb (2015-12-04) 16 commits
- - refs: tests for lmdb backend
- - refs: add LMDB refs backend
- - refs: allow ref backend to be set for clone
- - init: allow alternate backends to be set for new repos
- - refs: always handle non-normal refs in files backend
- - refs: move duplicate check to common code
- - refs: make lock generic
- - refs: add method to rename refs
- - refs: add methods to init refs backend and db
- - refs: add method for delete_refs
- - refs: add method for initial ref transaction commit
- - refs: add methods for reflog
- - refs: add do_for_each_per_worktree_ref
- - refs: add methods for the ref iterators
- - refs: add methods for misc ref operations
- - refs: add a backend method structure with transaction functions
+* dt/refs-backend-lmdb (2016-01-12) 22 commits
+ . DONTMERGE: compilation fix
+ . refs: tests for lmdb backend
+ . refs: add LMDB refs backend
+ . svn: learn ref-storage argument
+ . refs: allow ref backend to be set for clone
+ . clone: use child_process for recursive checkouts
+ . refs: check submodules ref storage config
+ . init: allow alternate backends to be set for new repos
+ . refs: always handle non-normal refs in files backend
+ . refs: resolve symbolic refs first
+ . refs: allow log-only updates
+ . refs: move duplicate check to common code
+ . refs: make lock generic
+ . refs: add method to rename refs
+ . refs: add methods to init refs db
+ . refs: add method for delete_refs
+ . refs: add method for initial ref transaction commit
+ . refs: add methods for reflog
+ . refs: add do_for_each_per_worktree_ref
+ . refs: add methods for the ref iterators
+ . refs: add methods for misc ref operations
+ . refs: add a backend method structure with transaction functions
Building on top of a few refs-backend preparatory series, LMDB
based refs backend has been plugged into the system.
- Still being discussed and worked on.
+ Rerolled, but left out of 'pu' for now due to conflicts.
* dw/subtree-split-do-not-drop-merge (2015-12-10) 1 commit
The "split" subcommand of "git subtree" (in contrib/) incorrectly
skipped merges when it shouldn't, which was corrected.
- Waiting for review from 'subtree' folks.
+ Still being worked on.
+ ($gmane/283874)
* nd/clear-gitenv-upon-use-of-alias (2015-12-29) 5 commits
- - run-command: don't warn on SIGPIPE deaths
- - git.c: make sure we do not leak GIT_* to alias scripts
- - setup.c: re-fix d95138e (setup: set env $GIT_WORK_TREE when ..
- - git.c: make it clear save_env() is for alias handling only
- - Merge branch 'nd/stop-setenv-work-tree' into nd/clear-gitenv-upon-use-of-alias
- (this branch uses nd/stop-setenv-work-tree.)
+ (merged to 'next' on 2016-01-12 at 696b1f5)
+ + run-command: don't warn on SIGPIPE deaths
+ + git.c: make sure we do not leak GIT_* to alias scripts
+ + setup.c: re-fix d95138e (setup: set env $GIT_WORK_TREE when ..
+ + git.c: make it clear save_env() is for alias handling only
+ + Merge branch 'nd/stop-setenv-work-tree' into nd/clear-gitenv-upon-use-of-alias
d95138e6 (setup: set env $GIT_WORK_TREE when work tree is set, like
$GIT_DIR, 2015-06-26) attempted to work around a glitch in alias
Try to address the same issue by always restoring the environment
and respawning the real underlying command when handling alias.
- Will merge to 'next'.
+ Will merge to 'master'.
* kn/ref-filter-atom-parsing (2016-01-05) 15 commits
($gmane/281701)
-* dk/gc-more-wo-pack (2015-11-24) 3 commits
- - gc: Clean garbage .bitmap files from pack dir
- - t5304: Add test for .bitmap garbage files
+* dk/gc-more-wo-pack (2016-01-13) 4 commits
+ - gc: clean garbage .bitmap files from pack dir
+ - t5304: ensure non-garbage files are not deleted
+ - t5304: test .bitmap garbage files
- prepare_packed_git(): find more garbage
Follow-on to dk/gc-idx-wo-pack topic, to clean up stale
Waiting for review.
-* ps/rebase-keep-empty (2015-11-24) 2 commits
- - rebase: fix preserving commits with --keep-empty
- - rebase: test broken behavior with --keep-empty
-
- Keep duplicate commits via rebase --keep-empty.
-
- Of dubious or negative value.
- Will discard.
- ($gmane/282107).
-
-
* rm/subtree-unwrap-tags (2015-11-24) 1 commit
- contrib/subtree: unwrap tag refs
- Waiting for review from subtree folks.
+ "git subtree" (in contrib/) records the tag object name in the
+ commit log message when a subtree is added using a tag, without
+ peeling it down to the underlying commit. The tag needs to be
+ peeled when "git subtree split" wants to work on the commit, but
+ the command forgot to do so.
+
+ Will merge to 'next'.
* sg/sh-require-clean-orphan (2015-11-24) 2 commits
Add options to ls-files to help diagnose end-of-line problems.
- Needs review.
+ Will merge to 'next'.
* ec/annotate-deleted (2015-11-20) 1 commit
Waiting for review.
-* sb/submodule-parallel-fetch (2015-12-16) 7 commits
- (merged to 'next' on 2015-12-22 at 44e84ff)
- + submodules: allow parallel fetching, add tests and documentation
- + fetch_populated_submodules: use new parallel job processing
- + run-command: add an asynchronous parallel child processor
- + sigchain: add command to pop all common signals
- + strbuf: add strbuf_read_once to read without blocking
- + xread: poll on non blocking fds
- + submodule.c: write "Fetching submodule <foo>" to stderr
- (this branch is used by sb/submodule-parallel-update.)
-
- Add a framework to spawn a group of processes in parallel, and use
- it to run "git fetch --recurse-submodules" in parallel.
-
- Rerolled and this seems to be a lot cleaner. The merge of the
- earlier one to 'next' has been reverted.
-
- Will merge to 'master'.
-
-
-* sb/submodule-parallel-update (2015-12-16) 8 commits
+* sb/submodule-parallel-update (2016-01-12) 8 commits
- clone: allow an explicit argument for parallel submodule clones
- submodule update: expose parallelism to the user
- git submodule update: have a dedicated helper for cloning
- submodule-config: remove name_and_item_from_var
- submodule-config: drop check against NULL
- submodule-config: keep update strategy around
- (this branch uses sb/submodule-parallel-fetch.)
Builds on top of the "fetch --recurse-submodules" work to introduce
parallel downloading into multiple submodules for "submodule update".
list of object names from the standard input instead of from the
command line, and does not involve files in the working tree.
- Rerolled.
- Needs review.
+ Will be rerolled.
-* mh/notes-allow-reading-treeish (2015-10-08) 3 commits
- (merged to 'next' on 2015-10-23 at 8a697f0)
+* mh/notes-allow-reading-treeish (2016-01-12) 1 commit
+ (merged to 'next' on 2016-01-12 at 7aa311f)
+ notes: allow treeish expressions as notes ref
- + Merge branch 'jk/notes-dwim-doc' into next
- + Merge branch 'jc/merge-drop-old-syntax' into next
- (this branch uses jc/merge-drop-old-syntax.)
+
+ Originally merged to 'next' on 2015-10-23
Some "git notes" operations, e.g. "git log --notes=<note>", should
be able to read notes from any tree-ish that is shaped like a notes
when the operation would update the notes (in which case we must
have a place to store the updated notes tree, iow, a ref).
- As the patch was done on top of the 'drop old-syntax from merge',
- this has to wait until that other topic can graduate, unfortunately.
- It can be redone in a way that does not depend on that topic after
- this cycle, though.
-
- Will keep in 'next'.
-
-
-* jc/mailinfo (2015-10-21) 1 commit
- - mailinfo: ignore in-body header that we do not care about
-
- Some people write arbitrary garbage at the beginning of a piece of
- e-mail (or after -- >8 -- scissors -- >8 -- line) in the commit log
- message and expect them to be discarded, even though "From:" and
- "Subject:" are the only documented in-body headers that you are
- supposed to have there. Allow some garbage (specifically, what may
- look like RFC2822 headers like "MIME-Version: ...") to be there and
- ignore them.
-
- No comments after waiting for a long time.
- Will discard.
+ Will merge to 'master'.
* js/am-3-merge-recursive-direct (2015-10-12) 2 commits
- (merged to 'next' on 2015-10-23 at dc631e5)
- + am: make a direct call to merge_recursive
- + merge_recursive_options: introduce the "gently" flag
+ - am: make a direct call to merge_recursive
+ - merge_recursive_options: introduce the "gently" flag
The merge_recursive_generic() function has been made a bit safer to
call from inside a process. "git am -3" was taught to make a direct
point of dying exactly because it knew it is going to exit, but now
they have to care, and they need to be audited.
- Will keep in 'next'.
-
-
-* sg/pretty-more-date-mode-format (2015-10-07) 1 commit
- - pretty: add format specifiers for short and raw date formats
-
- Introduce "%as" and "%aR" placeholders for "log --format" to show
- the author date in the short and raw formats.
-
- No comments after waiting for a long time.
- Will discard.
-
-
-* jk/graph-format-padding (2015-09-14) 1 commit
- - pretty: pass graph width to pretty formatting for use in '%>|(N)'
-
- Redefine the way '%>|(N)' padding and the "--graph" option
- interacts. It has been that the available columns to display the
- log message was measured from the edge of the area the graph ended,
- but with this it becomes the beginning of the entire output.
-
- I have a suspicion that 50% of the users would appreciate this
- change, and the remainder see this break their expectation. If
- that is the case, we might need to introduce a similar but
- different alignment operator so that this new behaviour is
- available to those who want to use it, without negatively affecting
- existing uses.
-
- No comments after waiting for a long time.
- Will discard.
- ($gmane/278326)
-
* ad/cygwin-wants-rename (2015-08-07) 1 commit
- config.mak.uname: Cygwin needs OBJECT_CREATION_USES_RENAMES
* jc/merge-drop-old-syntax (2015-04-29) 1 commit
- (merged to 'next' on 2015-10-07 at 50fed71)
- + merge: drop 'git merge <message> HEAD <commit>' syntax
- (this branch is used by mh/notes-allow-reading-treeish.)
-
- Originally merged to 'next' on 2015-05-28
+ - merge: drop 'git merge <message> HEAD <commit>' syntax
Stop supporting "git merge <message> HEAD <commit>" syntax that has
been deprecated since October 2007. It has been reported that
git-gui still uses the deprecated syntax, which needs to be fixed
before this final step can proceed.
($gmane/282594)
-
- Will keep in 'next'.