What's cooking (2017/04 #02)

This commit is contained in:
Junio C Hamano
2017-04-17 00:27:30 -07:00
parent 41d739de0f
commit 892fe7d61b

View File

@@ -1,10 +1,10 @@
To: git@vger.kernel.org
Bcc: lwn@lwn.net
Subject: What's cooking in git.git (Apr 2017, #01; Tue, 11)
X-master-at: cf11a67975b057a144618badf16dc4e3d25b9407
X-next-at: 0e3151a226817c3c07c4878b88a23b0a10c959ef
Subject: What's cooking in git.git (Apr 2017, #02; Sun, 16)
X-master-at: 584f8975d2d9530a34bd0b936ae774f82fe30fed
X-next-at: 2cccc8116438182c988c7f26d9559a1c22e78f1c
What's cooking in git.git (Apr 2017, #01; Tue, 11)
What's cooking in git.git (Apr 2017, #02; Sun, 16)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with
@@ -12,12 +12,6 @@ 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.
The maintainer has been offline for a week or so and is still
expected to be working at a slower pace than usual for the rest of
the week. No new topics has been queued, but the ones already in
the tree have advanced, some graduated to 'master' and others
joining 'next'.
You can find the changes described here in the integration branches
of the repositories listed at
@@ -26,238 +20,6 @@ of the repositories listed at
--------------------------------------------------
[Graduated to "master"]
* ab/case-insensitive-upstream-and-push-marker (2017-03-27) 1 commit
(merged to 'next' on 2017-03-28 at 166654719e)
+ rev-parse: match @{upstream}, @{u} and @{push} case-insensitively
On many keyboards, typing "@{" involves holding down SHIFT key and
one can easily end up with "@{Up..." when typing "@{upstream}". As
the upstream/push keywords do not appear anywhere else in the syntax,
we can safely accept them case insensitively without introducing
ambiguity or confusion to solve this.
* ab/doc-submitting (2017-03-26) 2 commits
(merged to 'next' on 2017-03-28 at 49e23678df)
+ doc/SubmittingPatches: show how to get a CLI commit summary
+ doc/SubmittingPatches: clarify the casing convention for "area: change..."
Doc update.
* ab/ref-filter-no-contains (2017-03-24) 16 commits
(merged to 'next' on 2017-03-28 at bdce986928)
+ tag: add tests for --with and --without
+ ref-filter: reflow recently changed branch/tag/for-each-ref docs
+ ref-filter: add --no-contains option to tag/branch/for-each-ref
+ tag: change --point-at to default to HEAD
+ tag: implicitly supply --list given another list-like option
+ tag: change misleading --list <pattern> documentation
+ parse-options: add OPT_NONEG to the "contains" option
+ tag: add more incompatibles mode tests
+ for-each-ref: partly change <object> to <commit> in help
+ tag tests: fix a typo in a test description
+ tag: remove a TODO item from the test suite
+ ref-filter: add test for --contains on a non-commit
+ ref-filter: make combining --merged & --no-merged an error
+ tag doc: reword --[no-]merged to talk about commits, not tips
+ tag doc: split up the --[no-]merged documentation
+ tag doc: move the description of --[no-]merged earlier
"git tag/branch/for-each-ref" family of commands long allowed to
filter the refs by "--contains X" (show only the refs that are
descendants of X), "--merged X" (show only the refs that are
ancestors of X), "--no-merged X" (show only the refs that are not
ancestors of X). One curious omission, "--no-contains X" (show
only the refs that are not descendants of X) has been added to
them.
* ab/test-readme-updates (2017-03-26) 3 commits
(merged to 'next' on 2017-03-28 at abdc7b3b15)
+ t/README: clarify the test_have_prereq documentation
+ t/README: change "Inside <X> part" to "Inside the <X> part"
+ t/README: link to metacpan.org, not search.cpan.org
Doc updates.
* ah/log-decorate-default-to-auto (2017-03-24) 1 commit
(merged to 'next' on 2017-03-24 at ce353ebfb5)
+ log: if --decorate is not given, default to --decorate=auto
The default behaviour of "git log" in an interactive session has
been changed to enable "--decorate".
* bc/push-cert-receive-fix (2017-03-28) 1 commit
(merged to 'next' on 2017-03-30 at 4f49b383e2)
+ builtin/receive-pack: fix incorrect pointer arithmetic
"git receive-pack" could have been forced to die by attempting
allocate an unreasonably large amount of memory with a crafted push
certificate; this has been fixed.
* bw/recurse-submodules-relative-fix (2017-03-17) 5 commits
(merged to 'next' on 2017-03-28 at d0cef6234e)
+ ls-files: fix bug when recursing with relative pathspec
+ ls-files: fix typo in variable name
+ grep: fix bug when recursing with relative pathspec
+ setup: allow for prefix to be passed to git commands
+ grep: fix help text typo
A few commands that recently learned the "--recurse-submodule"
option misbehaved when started from a subdirectory of the
superproject.
* bw/submodule-is-active (2017-03-18) 10 commits
(merged to 'next' on 2017-03-22 at 4c05cb5ab4)
+ submodule add: respect submodule.active and submodule.<name>.active
+ submodule--helper init: set submodule.<name>.active
+ clone: teach --recurse-submodules to optionally take a pathspec
+ submodule init: initialize active submodules
+ submodule: decouple url and submodule interest
+ submodule--helper clone: check for configured submodules using helper
+ submodule sync: use submodule--helper is-active
+ submodule sync: skip work for inactive submodules
+ submodule status: use submodule--helper is-active
+ submodule--helper: add is-active subcommand
"what URL do we want to update this submodule?" and "are we
interested in this submodule?" are split into two distinct
concepts, and then the way used to express the latter got extended,
paving a way to make it easier to manage a project with many
submodules and make it possible to later extend use of multiple
worktrees for a project with submodules.
* cc/untracked (2017-03-30) 1 commit
(merged to 'next' on 2017-03-30 at 0b20d47950)
+ update-index: fix xgetcwd() related memory leak
Code cleanup.
* jc/merge-drop-old-syntax (2015-04-29) 1 commit
(merged to 'next' on 2017-02-27 at 2c0f5f73d8)
+ merge: drop 'git merge <message> HEAD <commit>' syntax
Stop supporting "git merge <message> HEAD <commit>" syntax that has
been deprecated since October 2007, and issues a deprecation
warning message since v2.5.0.
* jk/make-coccicheck-detect-errors (2017-03-29) 1 commit
(merged to 'next' on 2017-03-30 at 34d4fe70dc)
+ Makefile: detect errors in running spatch
Build fix.
* jk/no-looking-at-dotgit-outside-repo-final (2016-10-26) 1 commit
(merged to 'next' on 2017-02-27 at 7373a1b73d)
+ setup_git_env: avoid blind fall-back to ".git"
This is the endgame of the topic to avoid blindly falling back to
".git" when the setup sequence said we are _not_ in Git repository.
A corner case that happens to work right now may be broken by a
call to die("BUG").
* js/rebase-i-reword-to-run-hooks (2017-03-27) 3 commits
(merged to 'next' on 2017-03-28 at d23d60f63d)
+ sequencer: allow the commit-msg hooks to run during a `reword`
+ sequencer: make commit options more extensible
+ t7504: document regression: reword no longer calls commit-msg
A recent update to "rebase -i" stopped running hooks for the "git
commit" command during "reword" action, which has been fixed.
* ls/travis-relays-for-windows-ci (2017-03-28) 1 commit
- travis-ci: build and test Git on Windows
Define a new task in .travis.yml that triggers a test session on
Windows run elsewhere.
* mg/describe-debug-l10n (2017-03-27) 2 commits
(merged to 'next' on 2017-03-28 at 16ad604828)
+ l10n: de: translate describe debug terms
+ describe: localize debug output fully
(this branch is used by mg/name-rev-debug.)
Some debugging output from "git describe" were marked for l10n,
but some weren't. Mark missing ones for l10n.
* mh/notes-tree-consolidate-fix (2017-03-27) 1 commit
(merged to 'next' on 2017-03-30 at 8383c6c088)
+ notes: do not break note_tree structure in note_tree_consolidate()
Removing an entry from a notes tree and then looking another note
entry from the resulting tree using the internal notes API
functions did not work as expected. No in-tree users of the API
has such access pattern, but it still is worth fixing.
* rs/freebsd-getcwd-workaround (2017-03-26) 1 commit
(merged to 'next' on 2017-03-28 at 3f3c1553a7)
+ strbuf: support long paths w/o read rights in strbuf_getcwd() on FreeBSD
FreeBSD implementation of getcwd(3) behaved differently when an
intermediate directory is unreadable/unsearchable depending on the
length of the buffer provided, which our strbuf_getcwd() was not
aware of. strbuf_getcwd() has been taught to cope with it better.
* sg/completion-ctags (2017-03-23) 3 commits
(merged to 'next' on 2017-03-27 at cf8c081f7d)
+ completion: offer ctags symbol names for 'git log -S', '-G' and '-L:'
+ completion: extract completing ctags symbol names into helper function
+ completion: put matching ctags symbol names directly into COMPREPLY
(this branch uses sg/completion-refs-speedup.)
Command line completion updates.
* sg/completion-refs-speedup (2017-03-23) 14 commits
(merged to 'next' on 2017-03-27 at 6bb275710d)
+ completion: speed up branch and tag completion
+ completion: fill COMPREPLY directly when completing fetch refspecs
+ completion: fill COMPREPLY directly when completing refs
+ completion: let 'for-each-ref' sort remote branches for 'checkout' DWIMery
+ completion: let 'for-each-ref' filter remote branches for 'checkout' DWIMery
+ completion: let 'for-each-ref' strip the remote name from remote branches
+ completion: let 'for-each-ref' and 'ls-remote' filter matching refs
+ completion: don't disambiguate short refs
+ completion: don't disambiguate tags and branches
+ completion: support excluding full refs
+ completion: support completing fully qualified non-fast-forward refspecs
+ completion: support completing full refs after '--option=refs/<TAB>'
+ completion: wrap __git_refs() for better option parsing
+ completion: remove redundant __gitcomp_nl() options from _git_commit()
(this branch is used by sg/completion-ctags.)
The refs completion for large number of refs has been sped up,
partly by giving up disambiguating ambiguous refs and partly by
eliminating most of the shell processing between 'git for-each-ref'
and 'ls-remote' and Bash's completion facility.
--------------------------------------------------
[New Topics]
* sb/unpack-trees-would-lose-submodule-message-update (2017-03-29) 1 commit
(merged to 'next' on 2017-04-11 at 61d8ce8218)
+ unpack-trees.c: align submodule error message to the other error messages
Update an error message.
Will merge to 'master'.
* ab/regen-perl-mak-with-different-perl (2017-03-29) 1 commit
(merged to 'next' on 2017-04-11 at 706b224f1e)
+ perl: regenerate perl.mak if perl -V changes
@@ -265,34 +27,13 @@ of the repositories listed at
Update the build dependency so that an update to /usr/bin/perl
etc. result in recomputation of perl.mak file.
Will merge to 'master'.
* js/difftool-builtin (2017-03-30) 1 commit
(merged to 'next' on 2017-04-11 at 38df92441f)
+ difftool: avoid strcpy
* jc/bs-t-is-not-a-tab-for-sed (2017-03-31) 1 commit
(merged to 'next' on 2017-04-11 at 5573b2c49b)
+ contrib/git-resurrect.sh: do not write \t for HT in sed scripts
Code cleanup.
Will merge to 'master'.
* dt/http-postbuffer-can-be-large (2017-03-31) 1 commit
- http.postbuffer: allow full range of ssize_t values
Allow the http.postbuffer configuration variable to be set to a
size that can be expressed in size_t, which can be larger than
ulong on some platforms.
Will merge to 'next'.
* jh/core-checksum-index (2017-03-30) 1 commit
- read-cache: core.checksumindex
Expecting a reroll.
cf. <094f16d2-e1d9-1478-df6a-4f24f17e184e@jeffhostetler.com>
* jc/unused-symbols (2017-03-31) 1 commit
(merged to 'next' on 2017-04-11 at 750a6d9e97)
@@ -300,18 +41,6 @@ of the repositories listed at
Code cleanup.
Will merge to 'master'.
* jh/memihash-opt (2017-03-31) 1 commit
(merged to 'next' on 2017-04-11 at ec5a6f2818)
+ name-hash: fix buffer overrun
Hotfix for a topic that is already in 'master'.
Will merge to 'master'.
This already has the fix for "sed '...\t'" squashed in.
* jk/loose-object-info-report-error (2017-04-01) 2 commits
(merged to 'next' on 2017-04-11 at 3a33761d94)
@@ -321,30 +50,39 @@ of the repositories listed at
Update error handling for codepath that deals with corrupt loose
objects.
Will merge to 'master'.
* jk/snprintf-cleanups (2017-03-30) 18 commits
(merged to 'next' on 2017-04-11 at 42ac56e886)
+ daemon: use an argv_array to exec children
+ gc: replace local buffer with git_path
+ transport-helper: replace checked snprintf with xsnprintf
+ convert unchecked snprintf into xsnprintf
+ combine-diff: replace malloc/snprintf with xstrfmt
+ replace unchecked snprintf calls with heap buffers
+ receive-pack: print --pack-header directly into argv array
+ name-rev: replace static buffer with strbuf
+ create_branch: use xstrfmt for reflog message
+ create_branch: move msg setup closer to point of use
+ avoid using mksnpath for refs
+ avoid using fixed PATH_MAX buffers for refs
+ fetch: use heap buffer to format reflog
+ tag: use strbuf to format tag header
+ diff: avoid fixed-size buffer for patch-ids
+ odb_mkstemp: use git_path_buf
+ odb_mkstemp: write filename into strbuf
+ do not check odb_mkstemp return value for errors
Code clean-up.
* jc/bs-t-is-not-a-tab-for-sed (2017-03-31) 1 commit
(merged to 'next' on 2017-04-11 at 5573b2c49b)
+ contrib/git-resurrect.sh: do not write \t for HT in sed scripts
* js/difftool-builtin (2017-04-13) 2 commits
(merged to 'next' on 2017-04-15 at 0040a91b86)
+ difftool: fix use-after-free
(merged to 'next' on 2017-04-11 at 38df92441f)
+ difftool: avoid strcpy
Code cleanup.
Will merge to 'master'.
* bw/push-options-recursively-to-submodules (2017-04-11) 5 commits
- push: propagate remote and refspec with --recurse-submodules
- submodule--helper: add push-check subcommand
- remote: expose parse_push_refspec function
- push: propagate push-options with --recurse-submodules
- push: unmark a local variable as static
"git push --recurse-submodules --push-option=<string>" learned to
propagate the push option recursively down to pushes in submodules.
Will merge to 'next'.
* mm/ls-files-s-doc (2017-04-01) 1 commit
(merged to 'next' on 2017-04-11 at 7e55625b1e)
@@ -352,17 +90,6 @@ of the repositories listed at
Doc update.
Will merge to 'master'.
* pc/t2027-git-to-pipe-cleanup (2017-04-01) 1 commit
- t2027: avoid using pipes
Having a git command on the upstream side of a pipe in a test
script will hide the exit status from the command, which may cause
us to fail to notice a breakage; rewrite tests in a script to avoid
this issue.
* qp/bisect-docfix (2017-04-01) 1 commit
(merged to 'next' on 2017-04-11 at 9c20eba240)
@@ -370,8 +97,6 @@ of the repositories listed at
Doc update.
Will merge to 'master'.
* sb/show-diff-for-submodule-in-diff-fix (2017-04-02) 1 commit
(merged to 'next' on 2017-04-11 at 8d16ef369e)
@@ -380,16 +105,290 @@ of the repositories listed at
"git diff --submodule=diff" learned to work better in a project
with a submodule that in turn has its own submodules.
Will merge to 'master'.
* sb/unpack-trees-would-lose-submodule-message-update (2017-03-29) 1 commit
(merged to 'next' on 2017-04-11 at 61d8ce8218)
+ unpack-trees.c: align submodule error message to the other error messages
Update an error message.
--------------------------------------------------
[New Topics]
* ah/diff-files-ours-theirs-doc (2017-04-13) 1 commit
- diff-files: document --ours etc.
The diff options "--ours", "--theirs" exist for quite some time.
But so far they were not documented. Now they are.
Will merge to 'next'.
* lt/mailinfo-in-body-header-continuation (2017-04-11) 1 commit
- mailinfo: fix in-body header continuations
* dt/xgethostname-nul-termination (2017-04-13) 1 commit
- xgethostname: handle long hostnames
If a patch e-mail had its first paragraph after an in-body header
indented (even after a blank line after the in-body header line),
the indented line was mistook as a continuation of the in-body
header. This has been fixed.
gethostname(2) may not NUL terminate the buffer if hostname does
not fit; unfortunately there is no easy way to see if our buffer
was too small, but at least this will make sure we will not end up
using garbage past the end of the buffer.
Will merge to 'next'.
* jh/string-list-micro-optim (2017-04-15) 1 commit
- string-list: use ALLOC_GROW macro when reallocing string_list
The string-list API used a custom reallocation strategy that was
very inefficient, instead of using the usual ALLOC_GROW() macro,
which has been fixed.
Will merge to 'next'.
* jh/unpack-trees-micro-optim (2017-04-15) 1 commit
- unpack-trees: avoid duplicate ODB lookups during checkout
In a 2- and 3-way merge of trees, more than one source trees often
end up sharing an identical subtree; optimize by not reading the
same tree multiple times in such a case.
Will merge to 'next'.
* jh/verify-index-checksum-only-in-fsck (2017-04-15) 1 commit
- read-cache: force_verify_index_checksum
The index file has a trailing SHA-1 checksum to detect file
corruption, and historically we checked it every time the index
file is used. Omit the validation during normal use, and instead
verify only in "git fsck".
Will merge to 'next'.
* jk/no-looking-at-dotgit-outside-repo (2017-04-16) 2 commits
- test-read-cache: setup git dir
- has_sha1_file: don't bother if we are not in a repository
Clean up fallouts from recent tightening of the set-up sequence,
where Git barfs when repository information is accessed without
first ensuring that it was started in a repository.
Will merge to 'next'.
* ls/travis-doc-asciidoctor (2017-04-16) 3 commits
- travis-ci: unset compiler for jobs that do not need one
- travis-ci: parallelize documentation build
- travis-ci: build documentation with AsciiDoc and Asciidoctor
Have Travis CI format the documentation with both AsciiDoc and
AsciiDoctor.
Will merge to 'next'.
* mg/status-in-progress-info (2017-04-14) 1 commit
- status: show in-progress info for short status
"git status" learns an option to report various operations
(e.g. "merging") that the user is in the middle of.
* nd/conditional-config-include (2017-04-14) 2 commits
- config: resolve symlinks in conditional include's patterns
- path.c: and an option to call real_path() in expand_user_path()
$GIT_DIR may in some cases be normalized with all symlinks resolved
while "gitdir" path expansion in the pattern does not receive the
same treatment, leading to incorrect mismatch. This has been fixed.
Will merge to 'next'.
* nd/worktree-add-lock (2017-04-16) 2 commits
- SQUASH???
- worktree add: add --lock option
Allow to lock a worktree immediately after it's created. This helps
prevent a race between "git worktree add; git worktree lock" and
"git worktree prune".
Waiting for a response to SQUASH???
* ps/pathspec-empty-prefix-origin (2017-04-14) 1 commit
- pathspec: honor `PATHSPEC_PREFIX_ORIGIN` with empty prefix
* sb/submodule-rm-absorb (2017-04-13) 1 commit
- submodule.c: add missing ' in error messages
Error message fix.
Will merge to 'next'.
* sr/http-proxy-configuration-fix (2017-04-13) 2 commits
- http: fix the silent ignoring of proxy misconfiguraion
- http: honor empty http.proxy option to bypass proxy
"http.proxy" set to an empty string is used to disable the usage of
proxy. We broke this early last year.
Will merge to 'next'.
* tb/doc-eol-normalization (2017-04-13) 1 commit
- gitattributes.txt: document how to normalize the line endings
Doc update.
Will merge to 'next'.
* va/i18n-perl-scripts (2017-04-13) 1 commit
- git-add--interactive.perl: add missing dot in a message
Message fix.
Will merge to 'next'.
* bw/submodule-is-active (2017-04-13) 1 commit
- submodule--helper: fix typo in is_active error message
Error message fix.
Will merge to 'next'.
* gb/rebase-signoff (2017-04-16) 3 commits
- rebase: pass --[no-]signoff option to git am
- builtin/am: fold am_signoff() into am_append_signoff()
- builtin/am: honor --signoff also when --rebasing
"git rebase" learns "--signoff" option.
* jh/add-index-entry-optim (2017-04-15) 3 commits
- read-cache: speed up add_index_entry during checkout
- p0006-read-tree-checkout: perf test to time read-tree
- read-cache: add strcmp_offset function
"git checkout" that handles a lot of paths has been optimized by
reducing the number of unnecessary checks of paths in the
has_dir_name() function.
Will merge to 'next'.
* ab/grep-plug-pathspec-leak (2017-04-16) 1 commit
- grep: plug a trivial memory leak
Call clear_pathspec() to release resources immediately before the
cmd_grep() function returns.
Will merge to 'next'.
Meh.
* ab/grep-threading-cleanup (2017-04-16) 8 commits
- grep: given --threads with NO_PTHREADS=YesPlease, warn
- pack-objects: fix buggy warning about threads under NO_PTHREADS=YesPlease
- pack-object & index-pack: add test for --threads warning under NO_PTHREADS
- tests: add a PTHREADS prerequisite
- grep: skip pthreads overhead when using one thread
- grep: don't redundantly compile throwaway patterns under threading
- grep: add tests for --threads=N and grep.threads
- grep: assert that threading is enabled when calling grep_{lock,unlock}
* bw/attr-pathspec (2017-04-16) 1 commit
- pathspec: fix segfault in clear_pathspec
Will merge to 'next'.
Hotfix for a topic already in 'master'.
* bw/submodule-with-bs-path (2017-04-16) 1 commit
- submodule: prevent backslash expantion in submodule names
"git submodule" script does not work well with strange pathnames.
Protect it from a path with slashes in them, at least.
Will merge to 'next'.
* dt/gc-ignore-old-gc-logs (2017-04-16) 1 commit
- t6500: wait for detached auto gc at the end of the test script
Will merge to 'next'.
Hotfix for a topic already in 'master'.
* jk/loose-object-fsck (2017-04-16) 1 commit
- sha1_file: remove an used fd variable
Code cleanup.
Will merge to 'next'.
* jk/quarantine-received-objects (2017-04-16) 3 commits
- refs: reject ref updates while GIT_QUARANTINE_PATH is set
- receive-pack: document user-visible quarantine effects
- receive-pack: drop tmp_objdir_env from run_update_hook
Add finishing touches to a recent topic.
Will merge to 'next'.
* ld/p4-current-branch-fix (2017-04-16) 3 commits
- git-p4: don't use name-rev to get current branch
- git-p4: add read_pipe_text() internal function
- git-p4: add failing test for name-rev rather than symbolic-ref
"git p4" used "name-rev HEAD" when it wants to learn what branch is
checked out; it should use "symbolic-ref HEAD".
Will merge to 'next'.
* ls/travis-coccicheck (2017-04-16) 1 commit
- travis-ci: add static analysis build job to run coccicheck
Travis CI learns to run coccicheck.
* rs/misc-cppcheck-fixes (2017-04-16) 3 commits
- server-info: avoid calling fclose(3) twice in update_info_file()
- files_for_each_reflog_ent_reverse(): close stream and free strbuf on error
- am: close stream on error, but not stdin
Will merge to 'next'.
Various small fixes.
* sf/putty-w-args (2017-04-16) 1 commit
- connect.c: handle errors from split_cmdline
Will merge to 'next'.
Hotfix for a topic already in 'master'.
* km/t1400-modernization (2017-04-16) 1 commit
- t1400: use consistent style for test_expect_success calls
Code cleanup.
Will merge to 'next'.
* vn/revision-shorthand-for-side-branch-log (2017-04-16) 1 commit
- doc/revisions: remove brackets from rev^-n shorthand
Doc cleanup.
Will merge to 'next'.
@@ -517,6 +516,63 @@ of the repositories listed at
--------------------------------------------------
[Cooking]
* dt/http-postbuffer-can-be-large (2017-04-13) 1 commit
- http.postbuffer: allow full range of ssize_t values
Allow the http.postbuffer configuration variable to be set to a
size that can be expressed in size_t, which can be larger than
ulong on some platforms.
Will merge to 'next'.
* jh/memihash-opt (2017-04-12) 3 commits
(merged to 'next' on 2017-04-15 at 6bfc58e19a)
+ t3008: skip lazy-init test on a single-core box
+ test-online-cpus: helper to return cpu count
(merged to 'next' on 2017-04-11 at ec5a6f2818)
+ name-hash: fix buffer overrun
Hotfix for a topic that is already in 'master'.
Will merge to 'master'.
* bw/push-options-recursively-to-submodules (2017-04-11) 5 commits
(merged to 'next' on 2017-04-16 at d4d657724b)
+ push: propagate remote and refspec with --recurse-submodules
+ submodule--helper: add push-check subcommand
+ remote: expose parse_push_refspec function
+ push: propagate push-options with --recurse-submodules
+ push: unmark a local variable as static
"git push --recurse-submodules --push-option=<string>" learned to
propagate the push option recursively down to pushes in submodules.
Will merge to 'master'.
* pc/t2027-git-to-pipe-cleanup (2017-04-14) 1 commit
- t2027: avoid using pipes
Having a git command on the upstream side of a pipe in a test
script will hide the exit status from the command, which may cause
us to fail to notice a breakage; rewrite tests in a script to avoid
this issue.
* lt/mailinfo-in-body-header-continuation (2017-04-11) 1 commit
(merged to 'next' on 2017-04-16 at b2f51f0780)
+ mailinfo: fix in-body header continuations
If a patch e-mail had its first paragraph after an in-body header
indented (even after a blank line after the in-body header line),
the indented line was mistook as a continuation of the in-body
header. This has been fixed.
Will merge to 'master'.
* bp/sub-process-convert-filter (2017-03-30) 8 commits
- convert: update subprocess_read_status to not die on EOF
- sub-process: move sub-process functions into separate files
@@ -530,7 +586,8 @@ of the repositories listed at
Code from "conversion using external process" codepath has been
extracted to a separate sub-process.[ch] module.
This looks ready for 'next'. Any more comments?
Reroll exists but needs more work.
cf. <20170407120354.17736-1-benpeart@microsoft.com>
* cc/split-index-config (2017-03-30) 1 commit
@@ -543,32 +600,6 @@ of the repositories listed at
The code looked OK, though.
* jk/snprintf-cleanups (2017-03-30) 18 commits
(merged to 'next' on 2017-04-11 at 42ac56e886)
+ daemon: use an argv_array to exec children
+ gc: replace local buffer with git_path
+ transport-helper: replace checked snprintf with xsnprintf
+ convert unchecked snprintf into xsnprintf
+ combine-diff: replace malloc/snprintf with xstrfmt
+ replace unchecked snprintf calls with heap buffers
+ receive-pack: print --pack-header directly into argv array
+ name-rev: replace static buffer with strbuf
+ create_branch: use xstrfmt for reflog message
+ create_branch: move msg setup closer to point of use
+ avoid using mksnpath for refs
+ avoid using fixed PATH_MAX buffers for refs
+ fetch: use heap buffer to format reflog
+ tag: use strbuf to format tag header
+ diff: avoid fixed-size buffer for patch-ids
+ odb_mkstemp: use git_path_buf
+ odb_mkstemp: write filename into strbuf
+ do not check odb_mkstemp return value for errors
Code clean-up.
Will merge to 'master'.
* mg/name-rev-debug (2017-03-31) 4 commits
- describe: pass --debug down to name-rev
- name-rev: provide debug output
@@ -583,40 +614,42 @@ of the repositories listed at
* bc/object-id (2017-03-31) 20 commits
- Documentation: update and rename api-sha1-array.txt
- Rename sha1_array to oid_array
- Convert sha1_array_for_each_unique and for_each_abbrev to object_id
- Convert sha1_array_lookup to take struct object_id
- Convert remaining callers of sha1_array_lookup to object_id
- Make sha1_array_append take a struct object_id *
- sha1-array: convert internal storage for struct sha1_array to object_id
- builtin/pull: convert to struct object_id
- submodule: convert check_for_new_submodule_commits to object_id
- sha1_name: convert disambiguate_hint_fn to take object_id
- sha1_name: convert struct disambiguate_state to object_id
- test-sha1-array: convert most code to struct object_id
- parse-options-cb: convert sha1_array_append caller to struct object_id
- fsck: convert init_skiplist to struct object_id
- builtin/receive-pack: convert portions to struct object_id
- builtin/pull: convert portions to struct object_id
- builtin/diff: convert to struct object_id
- Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ
- Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ
- Define new hash-size constants for allocating memory
(merged to 'next' on 2017-04-16 at b16f1899dd)
+ Documentation: update and rename api-sha1-array.txt
+ Rename sha1_array to oid_array
+ Convert sha1_array_for_each_unique and for_each_abbrev to object_id
+ Convert sha1_array_lookup to take struct object_id
+ Convert remaining callers of sha1_array_lookup to object_id
+ Make sha1_array_append take a struct object_id *
+ sha1-array: convert internal storage for struct sha1_array to object_id
+ builtin/pull: convert to struct object_id
+ submodule: convert check_for_new_submodule_commits to object_id
+ sha1_name: convert disambiguate_hint_fn to take object_id
+ sha1_name: convert struct disambiguate_state to object_id
+ test-sha1-array: convert most code to struct object_id
+ parse-options-cb: convert sha1_array_append caller to struct object_id
+ fsck: convert init_skiplist to struct object_id
+ builtin/receive-pack: convert portions to struct object_id
+ builtin/pull: convert portions to struct object_id
+ builtin/diff: convert to struct object_id
+ Convert GIT_SHA1_RAWSZ used for allocation to GIT_MAX_RAWSZ
+ Convert GIT_SHA1_HEXSZ used for allocation to GIT_MAX_HEXSZ
+ Define new hash-size constants for allocating memory
Conversion from unsigned char [40] to struct object_id continues.
Will merge to 'next'.
Will merge to 'master'.
* sb/submodule-short-status (2017-03-29) 7 commits
- submodule.c: correctly handle nested submodules in is_submodule_modified
- short status: improve reporting for submodule changes
- submodule.c: stricter checking for submodules in is_submodule_modified
- submodule.c: port is_submodule_modified to use porcelain 2
- submodule.c: convert is_submodule_modified to use strbuf_getwholeline
- submodule.c: factor out early loop termination in is_submodule_modified
- submodule.c: use argv_array in is_submodule_modified
(merged to 'next' on 2017-04-16 at 24e18f4a4a)
+ submodule.c: correctly handle nested submodules in is_submodule_modified
+ short status: improve reporting for submodule changes
+ submodule.c: stricter checking for submodules in is_submodule_modified
+ submodule.c: port is_submodule_modified to use porcelain 2
+ submodule.c: convert is_submodule_modified to use strbuf_getwholeline
+ submodule.c: factor out early loop termination in is_submodule_modified
+ submodule.c: use argv_array in is_submodule_modified
The output from "git status --short" has been extended to show
various kinds of dirtyness in submodules differently; instead of to
@@ -624,10 +657,10 @@ of the repositories listed at
to the working tree of the submodule but not the commit that is
checked out.
Will merge to 'next'.
Will merge to 'master'.
* mh/separate-ref-cache (2017-03-31) 20 commits
* mh/separate-ref-cache (2017-04-16) 20 commits
- do_for_each_entry_in_dir(): delete function
- files_pack_refs(): use reference iteration
- commit_packed_refs(): use reference iteration
@@ -664,7 +697,7 @@ of the repositories listed at
A proposal to use po4a to localize our manual pages.
* nd/prune-in-worktree (2017-03-27) 12 commits
* nd/prune-in-worktree (2017-04-16) 12 commits
- rev-list: expose and document --single-worktree
- revision.c: --reflog add HEAD reflog from all worktrees
- files-backend: make reflog iterator go through per-worktree reflog
@@ -688,10 +721,11 @@ of the repositories listed at
Waiting for nd/files-backend-git-dir to settle.
* nd/worktree-kill-parse-ref (2017-03-27) 4 commits
* nd/worktree-kill-parse-ref (2017-04-16) 5 commits
- refs: kill set_worktree_head_symref()
- worktree.c: kill parse_ref() in favor of refs_resolve_ref_unsafe()
- refs: introduce get_worktree_ref_store()
- refs.c: make submodule ref store hashmap generic
- environment.c: fix potential segfault by get_git_common_dir()
(this branch is used by nd/prune-in-worktree; uses nd/files-backend-git-dir; is tangled with mh/separate-ref-cache.)
@@ -701,13 +735,13 @@ of the repositories listed at
Waiting for nd/files-backend-git-dir to settle.
* nd/files-backend-git-dir (2017-03-27) 28 commits
* nd/files-backend-git-dir (2017-04-14) 28 commits
- refs.h: add a note about sorting order of for_each_ref_*
- t1406: new tests for submodule ref store
- t1405: some basic tests on main ref store
- t/helper: add test-ref-store to test ref-store functions
- refs: delete pack_refs() in favor of refs_pack_refs()
- files-backend: avoid ref api targetting main ref store
- files-backend: avoid ref api targeting main ref store
- refs: new transaction related ref-store api
- refs: add new ref-store api
- refs: rename get_ref_store() to get_submodule_ref_store() and make it public
@@ -740,17 +774,6 @@ of the repositories listed at
Will merge to 'next'.
* jc/p4-current-branch-fix (2017-03-27) 2 commits
- DONTMERGE git-p4: "name-rev HEAD" is not a way to find the current branch
- git-p4: add failing test for name-rev rather than symbolic-ref
"git p4" used "name-rev HEAD" when it wants to learn what branch is
checked out; it should use "symbolic-ref HEAD".
The tip one (i.e. real fix) needs to be redone by somebody
competent with Python and git-p4 codebase.
* jc/bundle (2016-03-03) 6 commits
- index-pack: --clone-bundle option
- Merge branch 'jc/index-pack' into jc/bundle
@@ -776,3 +799,13 @@ of the repositories listed at
the base for naming a commit.
Now part of mg/name-rev-debug topic.
* jc/p4-current-branch-fix (2017-03-27) 2 commits
. DONTMERGE git-p4: "name-rev HEAD" is not a way to find the current branch
. git-p4: add failing test for name-rev rather than symbolic-ref
"git p4" used "name-rev HEAD" when it wants to learn what branch is
checked out; it should use "symbolic-ref HEAD".
Superseded by the ld/p4-current-branch-fix topic.