From: Junio C Hamano Date: Mon, 8 May 2017 07:44:47 +0000 (+0900) Subject: What's cooking (2017/05 #02) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a1aa6239bc6ea53acb943d7819768c3a06573708;p=thirdparty%2Fgit.git What's cooking (2017/05 #02) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index 1e7dfd4fd4..eb51108f34 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, #01; Mon, 1) -X-master-at: d2bbb7c2bcf6e77ebfcabf4e12110fe6d5c91de6 -X-next-at: 07d810a77faeacef1f1f4c78e6e47457d65ebbe0 +Subject: What's cooking in git.git (May 2017, #02; Mon, 8) +X-master-at: 4fa66c85f11bc5a541462ca5ae3246aa0ce02e74 +X-next-at: 57267f22770ebcdb20d119053d99e73c84a1c8da -What's cooking in git.git (May 2017, #01; Mon, 1) +What's cooking in git.git (May 2017, #02; Mon, 8) -------------------------------------------------- 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. -2.13-rc1 was tagged and we are now in a pre-release freeze. The -topics marked to be merged to 'next' in the list below may be merged -to 'next' as usual, but the ones marked for 'master' may stay in -'next' until the final release, unless they are small bug/doc fixes -or hotfixes to topics that are already in -rc1 from now on. - You can find the changes described here in the integration branches of the repositories listed at @@ -26,190 +20,179 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* ab/align-perf-descriptions (2017-04-23) 1 commit - (merged to 'next' on 2017-04-26 at 7d66e7019e) - + t/perf: correctly align non-ASCII descriptions in output - - Output from perf tests have been updated to align their titles. - - -* jk/complete-checkout-sans-dwim-remote (2017-04-23) 1 commit - (merged to 'next' on 2017-04-26 at 0c69cff69f) - + completion: optionally disable checkout DWIM - - Completion for "git checkout " that auto-creates the branch - out of a remote tracking branch can now be disabled, as this - completion often gets in the way when completing to checkout an - existing local branch that happens to share the same prefix with - bunch of remote tracking branches. - - -* jk/prio-queue-avoid-swap-with-self (2017-04-24) 1 commit - (merged to 'next' on 2017-04-26 at 6a55996734) - + prio_queue_reverse: don't swap elements with themselves - - Code clean-up. +* ja/i18n-cleanup (2017-05-01) 2 commits + (merged to 'next' on 2017-04-30 at 8002e53820) + + i18n: read-cache: typofix + + i18n: remove i18n from tag reflog message -* jk/submodule-init-segv-fix (2017-04-24) 1 commit - (merged to 'next' on 2017-04-26 at 9a6eaaff89) - + submodule_init: die cleanly on submodules without url defined +* rg/a-the-typo (2017-05-01) 1 commit + (merged to 'next' on 2017-04-30 at a648cf2961) + + fix minor typos - Fix a segv in 'submodule init' when url is not given for a submodule. + Typofix. -* ls/travis-stricter-linux32-builds (2017-04-27) 1 commit - (merged to 'next' on 2017-04-28 at b0a56aec83) - + travis-ci: set DEVELOPER knob for Linux32 build +* rg/doc-pull-typofix (2017-05-01) 1 commit + (merged to 'next' on 2017-04-30 at c2edb4d813) + + doc: git-pull.txt use US spelling, fix minor typo - 32-bit Linux build on Travis CI uses stricter compilation options. +* rg/doc-submittingpatches-wordfix (2017-05-01) 1 commit + (merged to 'next' on 2017-04-30 at 4065036588) + + doc: update SubmittingPatches -* ls/travis-win-fix-status (2017-04-26) 1 commit - (merged to 'next' on 2017-04-28 at 5c5e4d3278) - + travis-ci: printf $STATUS as string - Relaying status from Windows build by Travis CI was done with an - unsafe invocation of printf. +* sr/hooks-cwd-doc (2017-05-01) 1 commit + (merged to 'next' on 2017-04-30 at 063dd5cb02) + + githooks.txt: clarify push hooks are always executed in $GIT_DIR +-------------------------------------------------- +[New Topics] -* sh/rebase-i-reread-todo-after-exec (2017-04-27) 1 commit - (merged to 'next' on 2017-04-28 at 1ea7e62026) - + rebase -i: reread the todo list if `exec` touched it +* jn/clone-add-empty-config-from-command-line (2017-05-02) 1 commit + - clone: handle empty config values in -c - "git rebase -i" failed to re-read the todo list file when the - command specified with the `exec` instruction updated it. + "git clone --config var=val" is a way to populate the + per-repository configuration file of the new repository, but it did + not work well when val is an empty string. This has been fixed. --------------------------------------------------- -[New Topics] + Will merge to 'next'. -* bw/submodule-with-bs-path (2017-05-01) 1 commit - - t7400: add !CYGWIN prerequisite to 'add with \\ in path' - A hotfix to a topic that is already in 'master'. +* jn/credential-doc-on-clear (2017-05-02) 1 commit + - credential doc: make multiple-helper behavior more prominent - Wait for a few days for Acks and then merge to 'master'. + Doc update. + Will merge to 'next'. -* jk/am-leakfix (2017-04-27) 3 commits - (merged to 'next' on 2017-04-30 at 78becd7a96) - + am: shorten ident_split variable name in get_commit_info() - + am: simplify allocations in get_commit_info() - + am: fix commit buffer leak in get_commit_info() - The codepath in "git am" that is used when running "git rebase" - leaked memory held for the log message of the commits being rebased. +* sb/checkout-recurse-submodules (2017-05-04) 3 commits + - submodule: properly recurse for read-tree and checkout + - submodule: avoid auto-discovery in new working tree manipulator code + - submodule_move_head: reuse child_process structure for futher commands - Will cook in 'next'. + "git checkout --recurse-submodules" did not quite work with a + submodule that itself has submodules. + Will merge to 'next'. -* js/plug-leaks (2017-04-27) 13 commits - - checkout: fix memory leak - - cat-file: fix memory leak - - mailinfo & mailsplit: check for EOF while parsing mails - - status: close file descriptor after reading git-rebase-todo - - difftool: close file descriptors after reading - - http-backend: avoid memory leaks - - SQUASH??? - - get_mail_commit_oid(): avoid resource leak - - git_config_rename_section_in_file(): avoid resource leak - - add_commit_patch_id(): avoid allocating memory unnecessarily - - winansi: avoid buffer overrun - - winansi: avoid use of uninitialized value - - mingw: avoid memory leak when splitting PATH - An attempt to fix memory leaks pointed out by Coverity. +* ab/aix-needs-compat-regex (2017-05-04) 1 commit + - config.mak.uname: set NO_REGEX=NeedsStartEnd on AIX - A reroll exists and needs to be picked up. What's queued here is - just an early parts of the first iteration. + Build fix. + Will merge to 'next'. -* sk/status-short-branch-color-config (2017-04-28) 2 commits - (merged to 'next' on 2017-04-30 at 2a7eb05d7b) - + status: add color config slots for branch info in "--short --branch" - + status: fix missing newline when comment chars are disabled - The colors in which "git status --short --branch" showed the names - of the current branch and its remote-tracking branch are now - configurable. +* ja/do-not-ask-needless-questions (2017-05-04) 3 commits + - git-filter-branch: make the error msg when missing branch more open + - read-tree -m: make error message for merging 0 trees less smart aleck + - usability: don't ask questions if no reply is required - Will cook in 'next'. + 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. + I lost track of the discussion on this topic. Did we decide that + this is not a good idea? -* jh/close-index-before-stat (2017-04-28) 1 commit - (merged to 'next' on 2017-04-30 at 918d4f3378) - + read-cache: close index.lock in do_write_index - The timestamp of the index file is now taken after the file is - closed, to help Windows, on which a stale timestamp is reported by - fstat() on a file that is opened for writing and data was written - but not yet closed. +* ab/doc-replace-gmane-links (2017-05-08) 2 commits + - SQAUSH??? + - doc: replace a couple of broken gmane links - Will cook in 'next'. + 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. -* bw/submodule-has-commits-update (2017-05-01) 6 commits - - submodule: refactor logic to determine changed submodules - - submodule: improve submodule_has_commits - - submodule: change string_list changed_submodule_paths - - submodule: remove add_oid_to_argv() - - submodule: rename free_submodules_sha1s() - - submodule: rename add_sha1_to_array() +* ab/fix-poison-tests (2017-05-08) 3 commits + - 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. -* ja/i18n-cleanup (2017-05-01) 2 commits - (merged to 'next' on 2017-04-30 at 8002e53820) - + i18n: read-cache: typofix - + i18n: remove i18n from tag reflog message + Will merge to 'next' after a few rounds on 'pu'. - Will merge to 'master'. +* bw/dir-c-stops-relying-on-the-index (2017-05-06) 14 commits + - dir: convert fill_directory to take an index + - dir: convert read_directory to take an index + - dir: convert read_directory_recursive to take an index + - dir: convert open_cached_dir to take an index + - dir: convert is_excluded to take an index + - dir: convert prep_exclude to take an index + - dir: convert add_excludes to take an index + - dir: convert is_excluded_from_list to take an index + - dir: convert last_exclude_matching_from_list to take an index + - dir: convert dir_add* to take an index + - dir: convert get_dtype to take index + - dir: convert directory_exists_in_index to take index + - dir: convert read_skip_worktree_file_from_index to take an index + - dir: stop using the index compatibility macros -* ls/travis-relays-for-windows-ci (2017-05-01) 2 commits - - travis-ci: handle Git for Windows CI status "failed" explicitly - - travis-ci: retry if Git for Windows CI returns HTTP error 502 or 503 + API update. - Will merge to 'next' after a few CI run in 'pu'. + Will merge to 'next'. -* mb/diff-default-to-indent-heuristics (2017-05-01) 5 commits - - add--interactive: drop diff.indentHeuristic handling - - SQUASH - - diff: enable indent heuristic by default - - diff: have the diff-* builtins configure diff before initializing revisions - - diff: make the indent heuristic part of diff's basic configuration +* jk/diff-submodule-diff-inline (2017-05-08) 1 commit + - diff: recurse into nested submodules for inline diff - Make the "indent" heuristics the default in "diff" and diff.indentHeuristics - configuration variable an escape hatch for those who do no want it. + "git diff --submodule=diff" didn't recurse into nested submodules. - The fix-up needs to be squashed in. +* jk/disable-pack-reuse-when-broken (2017-05-08) 1 commit + - pack-objects: disable pack reuse for object-selection options -* rg/doc-pull-typofix (2017-05-01) 1 commit - (merged to 'next' on 2017-04-30 at c2edb4d813) - + doc: git-pull.txt use US spelling, fix minor typo + "pack-objects" can stream a slice of an existing packfile out when + the pack bitmap can tell that the reachable objects are all needed + in the output, without inspecting individual objects. This + strategy however would not work well when "--local" and other + options are in use, and need to be disabled. - Will merge to 'master'. +* js/eol-on-ourselves (2017-05-08) 7 commits + - t4051: mark supporting files as requiring LF-only line endings + - Fix the remaining tests that failed with core.autocrlf=true + - t4003, t4005, t4007 & t4008: handle CR/LF in t/README & t/diff-lib/README + - t3901: move supporting files into t/t3901/ + - completion: mark bash script as LF-only + - git-new-workdir: mark script as LF-only + - Fix build with core.autocrlf=true -* rg/doc-submittingpatches-wordfix (2017-05-01) 1 commit - (merged to 'next' on 2017-04-30 at 4065036588) - + doc: update SubmittingPatches + Make sure our tests would pass when the sources are checked out + with "platform native" line ending convention by default on + Windows. Some "text" files out tests use and the test scripts + themselves that are meant to be run with /bin/sh, ought to be + checked out with eol=LF even on Windows. - Will merge to 'master'. +* nd/split-index-unshare (2017-05-08) 2 commits + - p3400: add perf tests for rebasing many changes + - split-index: add and use unshare_split_index() -* sr/hooks-cwd-doc (2017-05-01) 1 commit - (merged to 'next' on 2017-04-30 at 063dd5cb02) - + githooks.txt: clarify push hooks are always executed in $GIT_DIR + Plug some leaks and updates internal API used to implement the + split index feature to make it easier to avoid such a leak in the + future. - Will merge to 'master'. + Will merge to 'next'. -* tb/dedup-crlf-tests (2017-05-01) 1 commit - - t0027: Some tests are not expensive +* rs/checkout-am-fix-unborn (2017-05-08) 2 commits + - am: check return value of resolve_refdup before using hash + - checkout: check return value of resolve_refdup before using hash - Will be rerolled. + A few codepaths in "checkout" and "am" working on an unborn branch + tried to access an uninitialized piece of memory. -------------------------------------------------- [Stalled] @@ -330,6 +313,123 @@ of the repositories listed at -------------------------------------------------- [Cooking] +* bw/submodule-with-bs-path (2017-05-01) 1 commit + - t7400: add !CYGWIN prerequisite to 'add with \\ in path' + + A hotfix to a topic that is already in 'master'. + + Wait for a few days for Acks and then merge to 'master'. + + +* jk/am-leakfix (2017-04-27) 3 commits + (merged to 'next' on 2017-04-30 at 78becd7a96) + + am: shorten ident_split variable name in get_commit_info() + + am: simplify allocations in get_commit_info() + + am: fix commit buffer leak in get_commit_info() + + The codepath in "git am" that is used when running "git rebase" + leaked memory held for the log message of the commits being rebased. + + Will cook in 'next'. + + +* js/plug-leaks (2017-05-08) 26 commits + - fixup! checkout: fix memory leak + - submodule_uses_worktrees(): plug memory leak + - show_worktree(): plug memory leak + - name-rev: avoid leaking memory in the `deref` case + - remote: plug memory leak in match_explicit() + - add_reflog_for_walk: avoid memory leak + - shallow: avoid memory leak + - line-log: avoid memory leak + - receive-pack: plug memory leak in update() + - fast-export: avoid leaking memory in handle_tag() + - mktree: plug memory leaks reported by Coverity + - pack-redundant: plug memory leak + - setup_discovered_git_dir(): plug memory leak + - setup_bare_git_dir(): help static analysis + - split_commit_in_progress(): simplify & fix memory leak + - checkout: fix memory leak + - cat-file: fix memory leak + - mailinfo & mailsplit: check for EOF while parsing + - status: close file descriptor after reading git-rebase-todo + - difftool: address a couple of resource/memory leaks + - get_mail_commit_oid(): avoid resource leak + - git_config_rename_section_in_file(): avoid resource leak + - add_commit_patch_id(): avoid allocating memory unnecessarily + - winansi: avoid buffer overrun + - winansi: avoid use of uninitialized value + - mingw: avoid memory leak when splitting PATH + + Fix memory leaks pointed out by Coverity. + + All looked sensible. + + +* sk/status-short-branch-color-config (2017-04-28) 2 commits + (merged to 'next' on 2017-04-30 at 2a7eb05d7b) + + status: add color config slots for branch info in "--short --branch" + + status: fix missing newline when comment chars are disabled + + The colors in which "git status --short --branch" showed the names + of the current branch and its remote-tracking branch are now + configurable. + + Will cook in 'next'. + + +* jh/close-index-before-stat (2017-04-28) 1 commit + (merged to 'next' on 2017-04-30 at 918d4f3378) + + read-cache: close index.lock in do_write_index + + The timestamp of the index file is now taken after the file is + closed, to help Windows, on which a stale timestamp is reported by + fstat() on a file that is opened for writing and data was written + but not yet closed. + + Will cook in 'next'. + + +* bw/submodule-has-commits-update (2017-05-02) 6 commits + (merged to 'next' on 2017-05-08 at 57267f2277) + + submodule: refactor logic to determine changed submodules + + submodule: improve submodule_has_commits() + + submodule: change string_list changed_submodule_paths + + submodule: remove add_oid_to_argv() + + submodule: rename free_submodules_sha1s() + + submodule: rename add_sha1_to_array() + + Code clean-up and duplicate removal. + + Will cook in 'next'. + + +* ls/travis-relays-for-windows-ci (2017-05-04) 2 commits + - 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 'next' after a few CI run in 'pu'. + + +* mb/diff-default-to-indent-heuristics (2017-05-02) 4 commits + (merged to 'next' on 2017-05-08 at 158f401a92) + + add--interactive: drop diff.indentHeuristic handling + + diff: enable indent heuristic by default + + diff: have the diff-* builtins configure diff before initializing revisions + + diff: make the indent heuristic part of diff's basic configuration + + Make the "indent" heuristics the default in "diff" and diff.indentHeuristics + configuration variable an escape hatch for those who do no want it. + + Will cook in 'next'. + + +* tb/dedup-crlf-tests (2017-05-01) 1 commit + - t0027: Some tests are not expensive + + Will be rerolled. + + * jc/repack-threads (2017-04-27) 1 commit - repack: accept --threads= and pass it down to pack-objects @@ -358,8 +458,7 @@ of the repositories listed at Will cook in 'next'. -* nd/fopen-errors (2017-04-23) 17 commits - - warn_failure_to_open_read_optional_path(): a new helper +* nd/fopen-errors (2017-05-04) 21 commits - t1308: add a test case on open a config directory - config.c: handle error on failing to fopen() - xdiff-interface.c: report errno on failure to stat() or fopen() @@ -370,22 +469,25 @@ of the repositories listed at - rerere.c: report error on failure to fopen() - remote.c: report error on failure to fopen() - commit.c: report error on failure to fopen() the graft file + - log: fix memory leak in open_next_file() - log: report errno on failure to fopen() a file - - clone: use xfopen() instead of fopen() - blame: report error on open if graft_file is a directory - bisect: report on fopen() error + - ident.c: use fopen_or_warn() + - attr.c: use fopen_or_warn() + - wrapper.c: add fopen_or_warn() + - wrapper.c: add warn_on_fopen_errors() - config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD - - git_fopen: fix a sparse 'not declared' warning + - clone: use xfopen() instead of fopen() + - Use xfopen() in more places We often try to open a file for reading whose existence is optional, and silently ignore errors from open/fopen; report such errors if they are not due to missing files. - Expecting a reroll that would be much simplified thanks to a higher - level helper. - - cf. - cf. + Need to resurrect "git_fopen: fix a sparse 'not declared' warning". + It also seems to cause a test failure on MacOS X. + e.g. https://travis-ci.org/git/git/jobs/229585099#L3091 * dt/raise-core-packed-git-limit (2017-04-20) 1 commit @@ -399,7 +501,8 @@ of the repositories listed at Will cook in 'next'. -* js/larger-timestamps (2017-04-27) 8 commits +* js/larger-timestamps (2017-05-04) 9 commits + - archive-tar: fix a sparse 'constant too large' warning (merged to 'next' on 2017-04-28 at b56a0d38cd) + use uintmax_t for timestamps + date.c: abort if the system time cannot handle one of our timestamps @@ -418,11 +521,12 @@ of the repositories listed at move), and then declare uintmax_t is the type to be used as the timestamp_t + The tip one from Ramsay needs to be replaced with a newer one. + cf. <70b431dc-c5cc-e376-b63e-6a58ee1385f1@ramsayjones.plus.com> Will cook in 'next'. -* ab/grep-pcre-v2 (2017-04-25) 20 commits - - SQUASH??? +* ab/grep-pcre-v2 (2017-05-02) 19 commits - Makefile & configure: make PCRE v2 the default PCRE implementation - grep: remove support for concurrent use of both PCRE v1 & v2 - grep: add support for PCRE v2 @@ -447,7 +551,7 @@ of the repositories listed at can now be chosen to support "grep -P -e ''" and friends. -* bc/object-id (2017-04-23) 53 commits +* bc/object-id (2017-05-08) 53 commits - object: convert parse_object* to take struct object_id - tree: convert parse_tree_indirect to struct object_id - sequencer: convert do_recursive_merge to struct object_id @@ -504,7 +608,7 @@ of the repositories listed at Conversion from uchar[20] to struct object_id continues. - Reroll exists and needs to be picked up. + Will merge to 'next'. * jk/no-null-sha1-in-cache-tree (2017-04-23) 1 commit @@ -517,18 +621,10 @@ of the repositories listed at Will cook in 'next'. -* rg/a-the-typo (2017-05-01) 1 commit - (merged to 'next' on 2017-04-30 at a648cf2961) - + fix minor typos - - Typofix. - - Will merge to 'master'. - - * rs/large-zip (2017-05-01) 7 commits - - t5004: require 64-bit support for big ZIP tests - - archive-zip: set version field for big files correctly + (merged to 'next' on 2017-05-02 at a03574e49b) + + t5004: require 64-bit support for big ZIP tests + + archive-zip: set version field for big files correctly (merged to 'next' on 2017-04-26 at a6beab60f2) + archive-zip: support files bigger than 4GB + archive-zip: support archives bigger than 4GB @@ -549,7 +645,7 @@ of the repositories listed at not update the index when doing its thing. -* js/rebase-i-final (2017-04-27) 9 commits +* 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 - rebase -i: skip unnecessary picks using the rebase--helper @@ -559,6 +655,7 @@ of the repositories listed at - rebase -i: do not invent onelines when expanding/collapsing SHA-1s - rebase -i: remove useless indentation - rebase -i: generate the script via rebase--helper + - t3415: verify that an empty instructionFormat is handled as before The final batch to "git rebase -i" updates to move more code from the shell script to C. @@ -673,7 +770,8 @@ of the repositories listed at * ls/travis-doc-asciidoctor (2017-04-26) 4 commits - - travis-ci: check AsciiDoc/AsciiDoctor stderr output + (merged to 'next' on 2017-05-04 at 813ba54fc3) + + travis-ci: check AsciiDoc/AsciiDoctor stderr output (merged to 'next' on 2017-04-19 at 359c32953b) + travis-ci: unset compiler for jobs that do not need one + travis-ci: parallelize documentation build @@ -682,7 +780,7 @@ of the repositories listed at Have Travis CI format the documentation with both AsciiDoc and AsciiDoctor. - Will merge to 'next' after a few CI run in 'pu'. + Will cook in 'next'. * mg/status-in-progress-info (2017-04-14) 1 commit @@ -710,21 +808,22 @@ of the repositories listed at Needs review. -* bp/sub-process-convert-filter (2017-04-23) 8 commits +* bp/sub-process-convert-filter (2017-05-08) 10 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 - - convert: move packet_write_list() into pkt-line as packet_writel() + - convert: split start_multi_file_filter() into two separate functions + - 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. - Reroll exists but needs a bit more work. - cf. <20170407120354.17736-1-benpeart@microsoft.com> + Will merge to 'next'. * mg/name-rev-debug (2017-03-31) 4 commits