From: Junio C Hamano Date: Tue, 23 May 2017 07:59:07 +0000 (+0900) Subject: What's cooking (2017/05 #07) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bdfe69ee51e6df8df518953fdf65dcac5359495c;p=thirdparty%2Fgit.git What's cooking (2017/05 #07) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index b47c69da52..7e0c111799 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ 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 @@ -12,21 +12,211 @@ 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. + + +* 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. + + +* 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. @@ -36,11 +226,12 @@ of the repositories listed at 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, @@ -48,23 +239,25 @@ of the repositories listed at 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 @@ -73,10 +266,10 @@ of the repositories listed at 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 @@ -88,23 +281,27 @@ of the repositories listed at - 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 @@ -120,14 +317,18 @@ of the repositories listed at even though the command should not lose ignored ones without "-x". This has been corrected. + Expecting a reroll. + cf. + * 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 @@ -156,21 +357,23 @@ of the repositories listed at - 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 @@ -178,7 +381,7 @@ of the repositories listed at 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 @@ -207,192 +410,114 @@ of the repositories listed at * 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. - - -* 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. - - -* 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. * 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 @@ -408,20 +533,14 @@ of the repositories listed at 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 @@ -451,38 +570,48 @@ of the repositories listed at 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 @@ -498,47 +627,26 @@ of the repositories listed at * 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..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 @@ -575,20 +683,12 @@ of the repositories listed at 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 @@ -598,7 +698,7 @@ of the repositories listed at 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 @@ -612,6 +712,9 @@ of the repositories listed at variables take effect while the initial clone is happening, e.g. these configuration variables could be fetch refspecs. + Waiting for response. + cf. + * sb/checkout-recurse-submodules (2017-05-04) 3 commits (merged to 'next' on 2017-05-20 at f972b2069f) @@ -626,41 +729,15 @@ of the repositories listed at * 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'. @@ -739,26 +816,6 @@ of the repositories listed at 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 @@ -807,14 +864,6 @@ of the repositories listed at 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 @@ -824,14 +873,10 @@ of the repositories listed at 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 @@ -873,6 +918,10 @@ of the repositories listed at 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) @@ -929,23 +978,13 @@ of the repositories listed at + 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 " 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 @@ -965,25 +1004,26 @@ of the repositories listed at * 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 @@ -992,6 +1032,7 @@ of the repositories listed at + 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. @@ -999,22 +1040,23 @@ of the repositories listed at * 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 @@ -1041,7 +1083,6 @@ of the repositories listed at Has been waiting for nd/worktree-kill-parse-ref to settle. cf. - -------------------------------------------------- [Discard] @@ -1057,3 +1098,42 @@ of the repositories listed at cf. +* 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 " 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.