To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (May 2017, #06; Mon, 22)
-X-master-at: 10c78a162fa821ee85203165b805ff46be454091
-X-next-at: 20371eebb69346345f908fea7f7cbd2909a91c2c
+Subject: What's cooking in git.git (May 2017, #07; Tue, 23)
+X-master-at: 1eb437020a2c098a7c12da4c05082fbea10d98c9
+X-next-at: 93fb34087a286d99fc95933e0bb699d6263fbad7
-What's cooking in git.git (May 2017, #06; Mon, 22)
+What's cooking in git.git (May 2017, #07; Tue, 23)
--------------------------------------------------
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 tip of 'next' has been rewound, and the first batch of topics
-for the next release have been merged to 'master'. I tentatively
-wrote doen that this cycle will last for 11 weeks, completing at the
-end of July.
+The 'maint' branch is now for the v2.13.x maintenance track. A
+handful of fixes in 'master' will soon be merged to it to prepare
+for v2.13.1 in a week or so.
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"]
+
+* ab/doc-replace-gmane-links (2017-05-09) 2 commits
+ (merged to 'next' on 2017-05-20 at 2c4f96560c)
+ + doc: replace more gmane links
+ + doc: replace a couple of broken gmane links
+
+ The Web interface to gmane news archive is long gone, even though
+ the articles are still accessible via NTTP. Replace the links with
+ ones to public-inbox.org. Because their message identification is
+ based on the actual message-id, it is likely that it will be easier
+ to migrate away from it if/when necessary.
+
+
+* ab/fix-poison-tests (2017-05-11) 3 commits
+ (merged to 'next' on 2017-05-20 at 5b13ba86bd)
+ + travis-ci: add job to run tests with GETTEXT_POISON
+ + travis-ci: setup "prove cache" in "script" step
+ + tests: fix tests broken under GETTEXT_POISON=YesPlease
+
+ Update tests to pass under GETTEXT_POISON (a mechanism to ensure
+ that output strings that should not be translated are not
+ translated by mistake), and tell TravisCI to run them.
+
+
+* ah/log-decorate-default-to-auto (2017-05-15) 1 commit
+ (merged to 'next' on 2017-05-20 at 209614479c)
+ + builtin/log: honor log.decorate
+
+ Setting "log.decorate=false" in the configuration file did not take
+ effect in v2.13, which has been corrected.
+
+
+* bw/submodule-with-bs-path (2017-05-01) 1 commit
+ (merged to 'next' on 2017-05-20 at b740f784cb)
+ + t7400: add !CYGWIN prerequisite to 'add with \\ in path'
+
+ A hotfix to a topic that is already in v2.13.
+
+
+* jt/push-options-doc (2017-05-10) 2 commits
+ (merged to 'next' on 2017-05-20 at ca7f344111)
+ + receive-pack: verify push options in cert
+ + docs: correct receive.advertisePushOptions default
+
+ The receive-pack program now makes sure that the push certificate
+ records the same set of push options used for pushing.
+
+
+* ls/travis-relays-for-windows-ci (2017-05-04) 2 commits
+ (merged to 'next' on 2017-05-20 at 47f34b78e2)
+ + travis-ci: retry if Git for Windows CI returns HTTP error 502 or 503
+ + travis-ci: handle Git for Windows CI status "failed" explicitly
+
+ Will merge to 'master'.
+
+
+* rs/checkout-am-fix-unborn (2017-05-08) 2 commits
+ (merged to 'next' on 2017-05-20 at d4f1ee3ed7)
+ + am: check return value of resolve_refdup before using hash
+ + checkout: check return value of resolve_refdup before using hash
+
+ A few codepaths in "checkout" and "am" working on an unborn branch
+ tried to access an uninitialized piece of memory.
+
+
+* tb/dedup-crlf-tests (2017-05-10) 1 commit
+ (merged to 'next' on 2017-05-20 at 0a7ffff154)
+ + t0027: tests are not expensive; remove t0025
+
+ Will merge to 'master'.
+
--------------------------------------------------
[New Topics]
+* ah/doc-interpret-trailers-ifexists (2017-05-23) 1 commit
+ - Documentation: fix reference to ifExists for interpret-trailers
+
+ Documentation fix.
+
+ Will merge to 'next'.
+
+
+* ah/doc-pretty-format-fix (2017-05-23) 1 commit
+ - Documentation: fix formatting typo in pretty-formats.txt
+
+ Documentation fix.
+
+ Will merge to 'next'.
+
+
+* sb/submodule-blanket-recursive (2017-05-23) 6 commits
+ . builtin/push.c: respect 'submodule.recurse' option
+ . builtin/grep.c: respect 'submodule.recurse' option
+ . builtin/fetch.c: respect 'submodule.recurse' option
+ . Introduce submodule.recurse option for worktree manipulators
+ . submodule test invocation: only pass additional arguments
+ . submodule.c: add has_submodules to check if we have any submodules
+ (this branch uses sb/reset-recurse-submodules.)
+
+ A new configuration variable "submodule.recurse" can be set to true
+ to force various commands run at the top-level superproject to
+ behave as if they were invoked with the "--recurse-submodules"
+ option.
+
+ Seems to break t7814 when merged to 'pu'.
+
+
+* sb/t5531-update-desc (2017-05-23) 1 commit
+ - t5531: fix test description
+
+ The description strings for a few tests have been updated.
+
+ Will merge to 'next'.
+
+--------------------------------------------------
+[Stalled]
+
+* mg/status-in-progress-info (2017-05-10) 2 commits
+ - status --short --inprogress: spell it as --in-progress
+ - 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.
+
+ cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
+
+
+* mg/name-rev-debug (2017-03-31) 2 commits
+ - describe: pass --debug down to name-rev
+ - name-rev: provide debug output
+ (this branch uses jc/name-rev-lw-tag.)
+
+ "git describe --debug --contains" did not add any meaningful
+ information, even though without "--contains" it did.
+
+
+* nd/worktree-move (2017-04-20) 6 commits
+ - worktree remove: new command
+ - worktree move: refuse to move worktrees with submodules
+ - worktree move: accept destination as directory
+ - worktree move: new command
+ - worktree.c: add update_worktree_location()
+ - worktree.c: add validate_worktree()
+
+ "git worktree" learned move and remove subcommands.
+
+ Expecting a reroll.
+ cf. <20170420101024.7593-1-pclouds@gmail.com>
+ cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
+ cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
+
+
+* df/dir-iter-remove-subtree (2017-04-19) 5 commits
+ - remove_subtree(): reimplement using iterators
+ - dir_iterator: rewrite state machine model
+ - dir_iterator: refactor dir_iterator_advance
+ - remove_subtree(): test removing nested directories
+ - dir_iterator: add tests for dir_iterator API
+
+ Update the dir-iterator API and use it to reimplement
+ remove_subtree().
+
+ A reroll exists that is based on the updated 'master', but I ran
+ out of time trying to get it to work with other topics in flight
+ in 'pu'.
+ GSoC microproject.
+
+
+* ls/filter-process-delayed (2017-03-06) 1 commit
+ - convert: add "status=delayed" to filter process protocol
+
+ Expecting a reroll.
+ cf. <04ECEBE5-CAC8-4344-B07A-6B7A7C795C94@gmail.com>
+
+
+* sk/dash-is-previous (2017-03-01) 5 commits
+ - revert.c: delegate handling of "-" shorthand to setup_revisions
+ - sha1_name.c: teach get_sha1_1 "-" shorthand for "@{-1}"
+ - revision.c: args starting with "-" might be a revision
+ - revision.c: swap if/else blocks
+ - revision.c: do not update argv with unknown option
+
+ A dash "-" can be written to mean "the branch that was previously
+ checked out" in more places.
+
+ Needs review.
+ cf. <1488007487-12965-1-git-send-email-kannan.siddharth12@gmail.com>
+
+--------------------------------------------------
+[Cooking]
+
* ab/conditional-config-with-symlinks (2017-05-17) 1 commit
- - config: match both symlink & realpath versions in IncludeIf.gitdir:*
+ (merged to 'next' on 2017-05-23 at 6162222c2e)
+ + config: match both symlink & realpath versions in IncludeIf.gitdir:*
The recently introduced "[includeIf "gitdir:$dir"] path=..."
mechansim has further been taught to take symlinks into account.
current repository to determine if the contents from the named path
should be included.
- Will merge to 'next'.
+ Will merge to 'master'.
* bm/interpret-trailers-cut-line-is-eom (2017-05-18) 1 commit
- - interpret-trailers: honor the cut line
+ (merged to 'next' on 2017-05-23 at 3e5ff08517)
+ + interpret-trailers: honor the cut line
"git interpret-trailers", when used as GIT_EDITOR for "git commit
-v", looked for and appended to a trailer block at the very end,
corrected to pay attention to the cut-mark line "commit -v" adds to
the buffer---the real trailer block should appear just before it.
- Will merge to 'next'.
+ Will merge to 'master'.
* jc/skip-test-in-the-middle (2017-05-18) 2 commits
- - t5545: enhance test coverage when no http server is installed
- - test: allow skipping the remainder
+ (merged to 'next' on 2017-05-23 at 6c962b353b)
+ + t5545: enhance test coverage when no http server is installed
+ + test: allow skipping the remainder
A recent update to t5545-push-options.sh started skipping all the
tests in the script when a web server testing is disabled or
unavailable, not just the ones that require a web server. Non HTTP
tests have been salvaged to always run in this script.
- Will merge to 'next'.
+ Will merge to 'master'.
* jk/alternate-ref-optim (2017-05-18) 1 commit
- - t5400: avoid concurrent writes into a trace file
+ (merged to 'next' on 2017-05-23 at 4b4b3ac463)
+ + t5400: avoid concurrent writes into a trace file
A test allowed both "git push" and "git receive-pack" on the other
end write their traces into the same file. This is OK on platforms
intermittent test failures. This has been fixed by disabling
traces from "receive-pack" in the test.
- Will merge to 'next'.
+ Will merge to 'master'.
-* mh/packed-ref-store-prep (2017-05-18) 23 commits
+* mh/packed-ref-store-prep (2017-05-23) 26 commits
- cache_ref_iterator_begin(): avoid priming unneeded directories
- ref-filter: limit traversal to prefix
- create_ref_entry(): remove `check_name` option
- ref_update_reject_duplicates(): add a sanity check
- ref_update_reject_duplicates(): use `size_t` rather than `int`
- ref_update_reject_duplicates(): expose function to whole refs module
- - ref_transaction_commit(): break into multiple functions
+ - ref_transaction_prepare(): new optional step for reference updates
+ - ref_transaction_commit(): check for valid `transaction->state`
- files_transaction_cleanup(): new helper function
- files_ref_store: put the packed files lock directly in this struct
- files-backend: move `lock` member to `files_ref_store`
- lockfile: add a new method, is_lock_file_locked()
- - ref_store: take `logmsg` parameter when deleting references
+ - ref_store: take a `msg` parameter when deleting references
- refs: use `size_t` indexes when iterating over ref transaction updates
- refs_ref_iterator_begin(): don't check prefixes redundantly
- prefix_ref_iterator: don't trim too much
+ - files-backend: use `die("BUG: ...")`, not `die("internal error: ...")`
- ref_iterator_begin_fn(): fix docstring
- refs.h: clarify docstring for the ref_transaction_update()-related fns
- t3600: clean up permissions test properly
+ - Merge branch 'bc/object-id'
+ (this branch uses bc/object-id.)
The implementation of "ref" API around the "packed refs" have been
cleaned up, in preparation for further changes.
- Expecting a reroll.
+ Will merge to 'next'.
* sl/clean-d-ignored-fix (2017-05-22) 7 commits
even though the command should not lose ignored ones without "-x".
This has been corrected.
+ Expecting a reroll.
+ cf. <xmqq1srgko52.fsf@gitster.mtv.corp.google.com>
+
* tg/stash-push-fixup (2017-05-17) 1 commit
- - completion: add git stash push
+ (merged to 'next' on 2017-05-23 at 338eb650f2)
+ + completion: add git stash push
The shell completion script (in contrib/) learned "git stash" has
a new "push" subcommand.
- Will merge to 'next'.
+ Will merge to 'master'.
* ab/sha1dc (2017-05-22) 3 commits
- dir: make lookup_untracked() available outside of dir.c
- bswap: add 64 bit endianness helper get_be64
- Expecting reroll.
+ Expecting a reroll.
* dk/send-email-avoid-net-smtp-ssl-when-able (2017-05-20) 1 commit
- - send-email: Net::SMTP::SSL is obsolete, use only when necessary
+ (merged to 'next' on 2017-05-23 at fc59b8a1d4)
+ + send-email: Net::SMTP::SSL is obsolete, use only when necessary
"git send-email" now uses Net::SMTP::SSL, which is obsolete, only
when needed. Recent versions of Net::SMTP can do TLS natively.
- Will merge to 'next'.
+ Will merge to 'master'.
* jc/name-rev-lw-tag (2017-03-29) 2 commits
- - name-rev: favor describing with tags and use committer date to tiebreak
- - name-rev: refactor logic to see if a new candidate is a better name
+ (merged to 'next' on 2017-05-23 at 3f88b6d73c)
+ + name-rev: favor describing with tags and use committer date to tiebreak
+ + name-rev: refactor logic to see if a new candidate is a better name
(this branch is used by mg/name-rev-debug.)
"git describe --contains" penalized light-weight tags so much that
same chance to be considered as an annotated tag that is the same
age as the underlying commit would.
- Will merge to 'next'.
+ Will merge to 'master'.
* jk/diff-blob (2017-05-20) 15 commits
* jk/ignore-broken-tags-when-ignoring-missing-links (2017-05-20) 1 commit
- - revision.c: ignore broken tags with ignore_missing_links
+ (merged to 'next' on 2017-05-23 at 977491e52a)
+ + revision.c: ignore broken tags with ignore_missing_links
Tag objects, which are not reachable from any ref, that point at
missing objects were mishandled by "git gc" and friends (they
should silently be ignored instead)
-
- Will merge to 'next'.
+
+ Will merge to 'master'.
* js/bs-is-a-dir-sep-on-windows (2017-05-20) 2 commits
- - Windows: do not treat a path with backslashes as a remote's nick name
- - mingw.h: permit arguments with side effects for is_dir_sep
+ (merged to 'next' on 2017-05-23 at e27040ceb0)
+ + Windows: do not treat a path with backslashes as a remote's nick name
+ + mingw.h: permit arguments with side effects for is_dir_sep
"foo\bar\baz" in "git fetch foo\bar\baz", even though there is no
slashes in it, cannot be a nickname for a remote on Windows, as
that is likely to be a pathname on a local filesystem.
- Will merge to 'next'.
+ Will merge to 'master'.
* js/larger-timestamps (2017-05-20) 1 commit
- - name-rev: change a "long" variable to timestamp_t
+ (merged to 'next' on 2017-05-23 at 16f7c9e677)
+ + name-rev: change a "long" variable to timestamp_t
A follow-up hotfix for a topic already in 'master'.
- Will merge to 'next'.
+ Will merge to 'master'.
* km/log-showsignature-doc (2017-05-20) 1 commit
- - config.txt: add an entry for log.showSignature
+ (merged to 'next' on 2017-05-23 at f43ea11956)
+ + config.txt: add an entry for log.showSignature
- Will merge to 'next'.
+ Will merge to 'master'.
* kn/ref-filter-branch-list (2017-05-20) 1 commit
- - ref-filter: resolve HEAD when parsing %(HEAD) atom
+ (merged to 'next' on 2017-05-23 at e0cc721af0)
+ + ref-filter: resolve HEAD when parsing %(HEAD) atom
"git for-each-ref --format=..." with %(HEAD) in the format used to
resolve the HEAD symref as many times as it had processed refs,
which was wasteful, and "git branch" shared the same problem.
- Will merge to 'next'.
+ Will merge to 'master'.
* pw/rebase-i-regression-fix (2017-05-20) 3 commits
- - rebase -i: add missing newline to end of message
- - rebase -i: silence stash apply
- - rebase -i: fix reflog message
+ (merged to 'next' on 2017-05-23 at 14676d0013)
+ + rebase -i: add missing newline to end of message
+ + rebase -i: silence stash apply
+ + rebase -i: fix reflog message
Regression fix to topic recently merged to 'master'.
- Will merge to 'next'.
+ Will merge to 'master'.
-* sb/diff-color-move (2017-05-20) 20 commits
- - diff.c: color moved lines differently
- - diff: buffer all output if asked to
- - diff.c: emit_line includes whitespace highlighting
- - diff.c: convert diff_summary to use emit_line_*
- - diff.c: convert diff_flush to use emit_line_*
- - diff.c: convert word diffing to use emit_line_*
- - diff.c: convert show_stats to use emit_line_*
- - diff.c: convert emit_binary_diff_body to use emit_line_*
- - submodule.c: convert show_submodule_summary to use emit_line_fmt
- - diff.c: convert emit_rewrite_lines to use emit_line_*
- - diff.c: convert emit_rewrite_diff to use emit_line_*
- - diff.c: convert builtin_diff to use emit_line_*
- - diff.c: convert fn_out_consume to use emit_line
- - diff.c: inline emit_line_0 into emit_line
- - diff.c: emit_line_0 takes parameter whether to output line prefix
- - diff.c: emit_line_0 can handle no color setting
- - diff.c: teach emit_line_0 to accept sign parameter
- - diff.c: factor out diff_flush_patch_all_file_pairs
- - diff: move line ending check into emit_hunk_header
- - diff: readability fix
+* sb/diff-color-move (2017-05-23) 17 commits
+ . diff.c: color moved lines differently
+ . diff: buffer all output if asked to
+ . diff.c: emit_line includes whitespace highlighting
+ . diff.c: convert diff_summary to use emit_line_*
+ . diff.c: convert diff_flush to use emit_line_*
+ . diff.c: convert word diffing to use emit_line_*
+ . diff.c: convert show_stats to use emit_line_*
+ . diff.c: convert emit_binary_diff_body to use emit_line_*
+ . submodule.c: convert show_submodule_summary to use emit_line_fmt
+ . diff.c: convert emit_rewrite_lines to use emit_line_*
+ . diff.c: convert emit_rewrite_diff to use emit_line_*
+ . diff.c: convert builtin_diff to use emit_line_*
+ . diff.c: convert fn_out_consume to use emit_line
+ . diff: introduce more flexible emit function
+ . diff.c: factor out diff_flush_patch_all_file_pairs
+ . diff: move line ending check into emit_hunk_header
+ . diff: readability fix
"git diff" has been taught to optionally paint new lines that are
the same as deleted lines elsewhere differently from genuinely new
lines.
+ Seems to break t4060 when merged to 'next'.
-* xz/send-email-batch-size (2017-05-22) 2 commits
- - SQUASH???
+
+* xz/send-email-batch-size (2017-05-23) 1 commit
- send-email: --batch-size to work around some SMTP server limit
"git send-email" learned to overcome some SMTP server limitation
that does not allow many pieces of e-mails to be sent over a single
session.
-
---------------------------------------------------
-[Stalled]
-
-* mg/status-in-progress-info (2017-05-10) 2 commits
- - status --short --inprogress: spell it as --in-progress
- - 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.
-
- cf. <xmqqmvakcdqw.fsf@gitster.mtv.corp.google.com>
-
-
-* mg/name-rev-debug (2017-03-31) 2 commits
- - describe: pass --debug down to name-rev
- - name-rev: provide debug output
- (this branch uses jc/name-rev-lw-tag.)
-
- "git describe --debug --contains" did not add any meaningful
- information, even though without "--contains" it did.
-
-
-* nd/worktree-move (2017-04-20) 6 commits
- - worktree remove: new command
- - worktree move: refuse to move worktrees with submodules
- - worktree move: accept destination as directory
- - worktree move: new command
- - worktree.c: add update_worktree_location()
- - worktree.c: add validate_worktree()
-
- "git worktree" learned move and remove subcommands.
-
- Expecting a reroll.
- cf. <20170420101024.7593-1-pclouds@gmail.com>
- cf. <20170421145916.mknekgqzhxffu7di@sigill.intra.peff.net>
- cf. <d0e81b1e-5869-299e-f462-4d43dc997bd1@ramsayjones.plus.com>
-
-
-* df/dir-iter-remove-subtree (2017-04-19) 5 commits
- - remove_subtree(): reimplement using iterators
- - dir_iterator: rewrite state machine model
- - dir_iterator: refactor dir_iterator_advance
- - remove_subtree(): test removing nested directories
- - dir_iterator: add tests for dir_iterator API
-
- Update the dir-iterator API and use it to reimplement
- remove_subtree().
-
- A reroll exists that is based on the updated 'master', but I ran
- out of time trying to get it to work with other topics in flight
- in 'pu'.
- GSoC microproject.
-
-
-* ls/filter-process-delayed (2017-03-06) 1 commit
- - convert: add "status=delayed" to filter process protocol
-
- Expecting a reroll.
-
-
-* sk/dash-is-previous (2017-03-01) 5 commits
- - revert.c: delegate handling of "-" shorthand to setup_revisions
- - sha1_name.c: teach get_sha1_1 "-" shorthand for "@{-1}"
- - revision.c: args starting with "-" might be a revision
- - revision.c: swap if/else blocks
- - revision.c: do not update argv with unknown option
-
- A dash "-" can be written to mean "the branch that was previously
- checked out" in more places.
-
- Needs review.
- cf. <1488007487-12965-1-git-send-email-kannan.siddharth12@gmail.com>
-
---------------------------------------------------
-[Cooking]
-
-* ah/log-decorate-default-to-auto (2017-05-15) 1 commit
- (merged to 'next' on 2017-05-20 at 209614479c)
- + builtin/log: honor log.decorate
-
- Setting "log.decorate=false" in the configuration file did not take
- effect in v2.13, which has been corrected.
-
- Will merge to 'master'.
+ Waiting for response.
+ cf. <CACBZZX5GYV50rjg9X602JHqFPaoofH9TwDf_-r_MDu8-rmNV6Q@mail.gmail.com>
* jh/memihash-opt (2017-05-16) 5 commits
- - p0004: don't error out if test repo is too small
- - p0004: don't abort if multi-threaded is too slow
- - p0004: use test_perf
- - p0004: avoid using pipes
- - p0004: simplify calls of test-lazy-init-name-hash
+ (merged to 'next' on 2017-05-23 at 2f0293e8b8)
+ + p0004: don't error out if test repo is too small
+ + p0004: don't abort if multi-threaded is too slow
+ + p0004: use test_perf
+ + p0004: avoid using pipes
+ + p0004: simplify calls of test-lazy-init-name-hash
perf-test update.
- Will merge to 'next'.
+ Will merge to 'master'.
* jk/bug-to-abort (2017-05-22) 4 commits
Will merge to 'master'.
-* jk/no-looking-at-dotgit-outside-repo (2017-05-15) 1 commit
- - config: complain about --local outside of a git repo
-
- Will discard.
- Superseded by jk/bug-to-abort.
-
-
* jk/update-links-in-docs (2017-05-15) 1 commit
- - doc: use https links to Wikipedia to avoid http redirects
+ (merged to 'next' on 2017-05-23 at 5b2df9fdbe)
+ + doc: use https links to Wikipedia to avoid http redirects
A few http:// links that are redirected to https:// in the
documentation have been updated to https:// links.
- Will merge to 'next'.
+ Will merge to 'master'.
* js/blame-lib (2017-05-15) 22 commits
The internal logic used in "git blame" has been libified to make it
easier to use by cgit.
+ RFC, and is hard to review due to renaming of symbols and moving of
+ lines across files are intermixed but I think the overall direction
+ is a good one.
+
+ Expecting a rerolled non-RFC series.
+ cf. <20170514031513.9042-1-whydoubt@gmail.com>
+
* jt/send-email-validate-hook (2017-05-16) 1 commit
- - send-email: support validate hook
+ (merged to 'next' on 2017-05-23 at 89848cb9ac)
+ + send-email: support validate hook
"git send-email" learned to run sendemail-validate hook to inspect
and reject a message before sending it out.
- Will merge to 'next'.
+ Will merge to 'master'.
* bw/pathspec-sans-the-index (2017-05-12) 6 commits
- - pathspec: convert find_pathspecs_matching_against_index to take an index
- - pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP
- - ls-files: prevent prune_cache from overeagerly pruning submodules
- - pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag
- - submodule: add die_in_unpopulated_submodule function
- - pathspec: provide a more descriptive die message
+ (merged to 'next' on 2017-05-23 at 45c8ef3115)
+ + pathspec: convert find_pathspecs_matching_against_index to take an index
+ + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_CHEAP
+ + ls-files: prevent prune_cache from overeagerly pruning submodules
+ + pathspec: remove PATHSPEC_STRIP_SUBMODULE_SLASH_EXPENSIVE flag
+ + submodule: add die_in_unpopulated_submodule function
+ + pathspec: provide a more descriptive die message
Simplify parse_pathspec() codepath and stop it from looking at the
default in-core index.
- Will merge to 'next'.
+ Will merge to 'master'.
* jt/fetch-allow-tip-sha1-implicitly (2017-05-16) 1 commit
- - fetch-pack: always allow fetching of literal SHA1s
+ (merged to 'next' on 2017-05-23 at 690ed987df)
+ + fetch-pack: always allow fetching of literal SHA1s
There is no good reason why "git fetch $there $sha1" should fail
when the $sha1 names an object at the tip of an advertised ref,
even when the other side hasn't enabled allowTipSHA1InWant.
- Will merge to 'next'.
+ Will merge to 'master'.
* jc/read-tree-empty-with-m (2017-05-10) 1 commit
* ab/perf-wildmatch (2017-05-12) 2 commits
- - perf: add test showing exponential growth in path globbing
- - perf: add function to setup a fresh test repo
+ (merged to 'next' on 2017-05-23 at 0adb7dac31)
+ + perf: add test showing exponential growth in path globbing
+ + perf: add function to setup a fresh test repo
Add perf-test for wildmatch.
- Will merge to 'next'.
+ Will merge to 'master'.
* jk/doc-config-include (2017-05-12) 4 commits
- - docs/config: consistify include.path examples
- - docs/config: avoid the term "expand" for includes
- - docs/config: give a relative includeIf example
- - docs/config: clarify include/includeIf relationship
+ (merged to 'next' on 2017-05-23 at 4f60843265)
+ + docs/config: consistify include.path examples
+ + docs/config: avoid the term "expand" for includes
+ + docs/config: give a relative includeIf example
+ + docs/config: clarify include/includeIf relationship
Clarify documentation for include.path and includeIf.<condition>.path
configuration variables.
- Will merge to 'next'.
-
-
-* js/retire-old-remote-spec (2017-05-12) 11 commits
- . PREVIEW: remove support for .git/remotes/ and .git/branches/
- . PREVIEW: t0060: stop testing support for .git/remotes/ and .git/branches/
- . PREVIEW: t5515: remove .git/remotes/ and .git/branches/ tests
- . PREVIEW: remote: remove support for migrating ancient remotes
- . PREVIEW: t5516: stop testing .git/branches/ functionality
- . PREVIEW: t5510: convert .git/remotes/ test to use a regular remote
- . Revert "Revert "Don't create the $GIT_DIR/branches directory on init""
- . remote: warn loud and clear when .git/remotes/ is *still* used
- . remote: warn loud and clear when .git/branches/ is *still* used
- . Documentation: really deprecate .git/remotes/ and .git/branches/
- . git-parse-remote: fix highly misleading man page
-
- Stop reading from .git/remotes/ and .git/branches/, two old ways
- that we have been supporting to configure short-hands for fetching
- from remote repositories.
-
- Will discard.
- The procedure of removing an old and unused feature is correctly
- followed by this series, but it is far from clear that the feature
- this attempts to remove is unused or useless.
+ Will merge to 'master'.
* ab/grep-preparatory-cleanup (2017-05-21) 30 commits
The internal implementation of "git grep" has seen some clean-up.
-
-* jt/push-options-doc (2017-05-10) 2 commits
- (merged to 'next' on 2017-05-20 at ca7f344111)
- + receive-pack: verify push options in cert
- + docs: correct receive.advertisePushOptions default
-
- The receive-pack program now makes sure that the push certificate
- records the same set of push options used for pushing.
-
- Will merge to 'master'.
+ Will merge to 'next'.
* dt/unpack-save-untracked-cache-extension (2017-05-20) 1 commit
- - unpack-trees: preserve index extensions
+ (merged to 'next' on 2017-05-23 at 3196d093d6)
+ + unpack-trees: preserve index extensions
When "git checkout", "git merge", etc. manipulates the in-core
index, various pieces of information in the index extensions are
operations now, which would speed up "git status" (as long as the
cache is properly invalidated).
- Will merge to 'next'.
+ Will merge to 'master'.
* sg/clone-refspec-from-command-line-config (2017-05-16) 4 commits
variables take effect while the initial clone is happening,
e.g. these configuration variables could be fetch refspecs.
+ Waiting for response.
+ cf. <xmqqa864kops.fsf@gitster.mtv.corp.google.com>
+
* sb/checkout-recurse-submodules (2017-05-04) 3 commits
(merged to 'next' on 2017-05-20 at f972b2069f)
* ja/do-not-ask-needless-questions (2017-05-12) 3 commits
- - git-filter-branch: be more direct in an error message
- - read-tree -m: make error message for merging 0 trees less smart aleck
- - usability: don't ask questions if no reply is required
+ (merged to 'next' on 2017-05-23 at 6b373cd892)
+ + git-filter-branch: be more direct in an error message
+ + read-tree -m: make error message for merging 0 trees less smart aleck
+ + usability: don't ask questions if no reply is required
Git sometimes gives an advice in a rhetorical question that does
not require an answer, which can confuse new users and non native
speakers. Attempt to rephrase them.
- Will merge to 'next'.
-
-
-* ab/doc-replace-gmane-links (2017-05-09) 2 commits
- (merged to 'next' on 2017-05-20 at 2c4f96560c)
- + doc: replace more gmane links
- + doc: replace a couple of broken gmane links
-
- The Web interface to gmane news archive is long gone, even though
- the articles are still accessible via NTTP. Replace the links with
- ones to public-inbox.org. Because their message identification is
- based on the actual message-id, it is likely that it will be easier
- to migrate away from it if/when necessary.
-
- Will merge to 'master'.
-
-
-* ab/fix-poison-tests (2017-05-11) 3 commits
- (merged to 'next' on 2017-05-20 at 5b13ba86bd)
- + travis-ci: add job to run tests with GETTEXT_POISON
- + travis-ci: setup "prove cache" in "script" step
- + tests: fix tests broken under GETTEXT_POISON=YesPlease
-
- Update tests to pass under GETTEXT_POISON (a mechanism to ensure
- that output strings that should not be translated are not
- translated by mistake), and tell TravisCI to run them.
-
Will merge to 'master'.
Will merge to 'master'.
-* rs/checkout-am-fix-unborn (2017-05-08) 2 commits
- (merged to 'next' on 2017-05-20 at d4f1ee3ed7)
- + am: check return value of resolve_refdup before using hash
- + checkout: check return value of resolve_refdup before using hash
-
- A few codepaths in "checkout" and "am" working on an unborn branch
- tried to access an uninitialized piece of memory.
-
- Will merge to 'master'.
-
-
-* bw/submodule-with-bs-path (2017-05-01) 1 commit
- (merged to 'next' on 2017-05-20 at b740f784cb)
- + t7400: add !CYGWIN prerequisite to 'add with \\ in path'
-
- A hotfix to a topic that is already in v2.13.
-
- Will merge to 'master'.
-
-
* js/plug-leaks (2017-05-09) 26 commits
(merged to 'next' on 2017-05-20 at fb136ea2dc)
+ checkout: fix memory leak
Will cook in 'next'.
-* ls/travis-relays-for-windows-ci (2017-05-04) 2 commits
- (merged to 'next' on 2017-05-20 at 47f34b78e2)
- + travis-ci: retry if Git for Windows CI returns HTTP error 502 or 503
- + travis-ci: handle Git for Windows CI status "failed" explicitly
-
- Will merge to 'master'.
-
-
* mb/diff-default-to-indent-heuristics (2017-05-09) 4 commits
- add--interactive: drop diff.indentHeuristic handling
- diff: enable indent heuristic by default
Make the "indent" heuristics the default in "diff" and diff.indentHeuristics
configuration variable an escape hatch for those who do no want it.
- Kicked out of next; it seems it is still getting review suggestions?
-
-
-* tb/dedup-crlf-tests (2017-05-10) 1 commit
- (merged to 'next' on 2017-05-20 at 0a7ffff154)
- + t0027: tests are not expensive; remove t0025
-
- Will merge to 'master'.
+ Will merge to 'next'.
+ Looks like there may be follow-on work possible, but the topic
+ itself is in good order.
+ cf. <20170509033258.q7auj5p5lxs4tggd@sigill.intra.peff.net>
* jc/repack-threads (2017-04-27) 1 commit
optional, and silently ignore errors from open/fopen; report such
errors if they are not due to missing files.
+ Will merge to 'next'.
+ Looks like this is now in a good shape.
+ cf. <20170503101706.9223-1-pclouds@gmail.com>
+
* bc/object-id (2017-05-08) 53 commits
(merged to 'next' on 2017-05-20 at e7372733fb)
+ Convert struct cache_tree to use struct object_id
+ Clean up outstanding object_id transforms.
+ fetch-pack: convert to struct object_id
+ (this branch is used by mh/packed-ref-store-prep.)
Conversion from uchar[20] to struct object_id continues.
Will merge to 'master'.
-* jc/checkout-working-tree-only (2017-04-27) 1 commit
- - checkout: add --working-tree-only option
-
- "git checkout <tree-ish> <pathspec>" learned a variant that does
- not update the index when doing its thing.
-
- This was more of "the world could have been like this" illustration
- rather than a "let's make this change" proposal. Unless people
- really want it, I am inclined to discard this topic. Opinions?
-
-
* js/rebase-i-final (2017-05-02) 10 commits
- rebase -i: rearrange fixup/squash lines using the rebase--helper
- t3415: test fixup with wrapped oneline
* bw/forking-and-threading (2017-05-15) 14 commits
- - usage.c: drop set_error_handle()
- - run-command: restrict PATH search to executable files
- - run-command: expose is_executable function
- - run-command: block signals between fork and execve
- - run-command: add note about forking and threading
- - run-command: handle dup2 and close errors in child
- - run-command: eliminate calls to error handling functions in child
- - run-command: don't die in child when duping /dev/null
- - run-command: prepare child environment before forking
- - string-list: add string_list_remove function
- - run-command: use the async-signal-safe execv instead of execvp
- - run-command: prepare command before forking
- - t0061: run_command executes scripts without a #! line
- - t5550: use write_script to generate post-update hook
+ (merged to 'next' on 2017-05-23 at 79a6a59851)
+ + usage.c: drop set_error_handle()
+ + run-command: restrict PATH search to executable files
+ + run-command: expose is_executable function
+ + run-command: block signals between fork and execve
+ + run-command: add note about forking and threading
+ + run-command: handle dup2 and close errors in child
+ + run-command: eliminate calls to error handling functions in child
+ + run-command: don't die in child when duping /dev/null
+ + run-command: prepare child environment before forking
+ + string-list: add string_list_remove function
+ + run-command: use the async-signal-safe execv instead of execvp
+ + run-command: prepare command before forking
+ + t0061: run_command executes scripts without a #! line
+ + t5550: use write_script to generate post-update hook
The "run-command" API implementation has been made more robust
against dead-locking in a threaded environment.
- Will merge to 'next'.
+ Will merge to 'master'.
* sb/reset-recurse-submodules (2017-04-23) 4 commits
+ submodule.c: submodule_move_head works with broken submodules
+ submodule.c: uninitialized submodules are ignored in recursive commands
+ entry.c: submodule recursing: respect force flag correctly
+ (this branch is used by sb/submodule-blanket-recursive.)
"git reset" learned "--recurse-submodules" option.
* bp/sub-process-convert-filter (2017-05-15) 11 commits
- - convert: update subprocess_read_status() to not die on EOF
- - sub-process: move sub-process functions into separate files
- - convert: rename reusable sub-process functions
- - convert: update generic functions to only use generic data structures
- - convert: separate generic structures and variables from the filter specific ones
- - convert: split start_multi_file_filter() into two separate functions
- - pkt-line: annotate packet_writel with LAST_ARG_MUST_BE_NULL
- - convert: move packet_write_line() into pkt-line as packet_writel()
- - pkt-line: add packet_read_line_gently()
- - pkt-line: fix packet_read_line() to handle len < 0 errors
- - convert: remove erroneous tests for errno == EPIPE
+ (merged to 'next' on 2017-05-23 at 89f5420a82)
+ + convert: update subprocess_read_status() to not die on EOF
+ + sub-process: move sub-process functions into separate files
+ + convert: rename reusable sub-process functions
+ + convert: update generic functions to only use generic data structures
+ + convert: separate generic structures and variables from the filter specific ones
+ + convert: split start_multi_file_filter() into two separate functions
+ + pkt-line: annotate packet_writel with LAST_ARG_MUST_BE_NULL
+ + convert: move packet_write_line() into pkt-line as packet_writel()
+ + pkt-line: add packet_read_line_gently()
+ + pkt-line: fix packet_read_line() to handle len < 0 errors
+ + convert: remove erroneous tests for errno == EPIPE
Code from "conversion using external process" codepath has been
extracted to a separate sub-process.[ch] module.
- Will merge to 'next'.
+ Will merge to 'master'.
* nd/prune-in-worktree (2017-04-24) 12 commits
Has been waiting for nd/worktree-kill-parse-ref to settle.
cf. <CACsJy8ADCVBiLoPg_Tz0L6CMdh_eFmK4RYzfQ-PmUgBK7w9e=A@mail.gmail.com>
-
--------------------------------------------------
[Discard]
cf. <CACBZZX4UUwzRQmyH8joYaqHnuVTjVtGBHp+iZKcnAnwoM_ZJhg@mail.gmail.com>
+* jk/no-looking-at-dotgit-outside-repo (2017-05-15) 1 commit
+ . config: complain about --local outside of a git repo
+
+ Will discard.
+ Superseded by jk/bug-to-abort.
+
+
+* js/retire-old-remote-spec (2017-05-12) 11 commits
+ . PREVIEW: remove support for .git/remotes/ and .git/branches/
+ . PREVIEW: t0060: stop testing support for .git/remotes/ and .git/branches/
+ . PREVIEW: t5515: remove .git/remotes/ and .git/branches/ tests
+ . PREVIEW: remote: remove support for migrating ancient remotes
+ . PREVIEW: t5516: stop testing .git/branches/ functionality
+ . PREVIEW: t5510: convert .git/remotes/ test to use a regular remote
+ . Revert "Revert "Don't create the $GIT_DIR/branches directory on init""
+ . remote: warn loud and clear when .git/remotes/ is *still* used
+ . remote: warn loud and clear when .git/branches/ is *still* used
+ . Documentation: really deprecate .git/remotes/ and .git/branches/
+ . git-parse-remote: fix highly misleading man page
+
+ Stop reading from .git/remotes/ and .git/branches/, two old ways
+ that we have been supporting to configure short-hands for fetching
+ from remote repositories.
+
+ Will discard.
+ The procedure of removing an old and unused feature is correctly
+ followed by this series, but it is far from clear that the feature
+ this attempts to remove is unused or useless.
+
+
+* jc/checkout-working-tree-only (2017-04-27) 1 commit
+ . checkout: add --working-tree-only option
+
+ "git checkout <tree-ish> <pathspec>" learned a variant that does
+ not update the index when doing its thing.
+
+ Will discard.
+ This was more of "the world could have been like this" illustration
+ rather than a "let's make this change" proposal.