From: Junio C Hamano Date: Tue, 19 Nov 2019 07:04:53 +0000 (+0900) Subject: What's cooking (2019/11 #03) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0e6245a44595b3d1c3edcf4bbddd03a84537b30d;p=thirdparty%2Fgit.git What's cooking (2019/11 #03) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index bee50bf3ea..b14f798643 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 (Nov 2019, #02; Fri, 8) -X-master-at: da72936f544fec5a335e66432610e4cef4430991 -X-next-at: 68dc17040922b37729d89a2dbc01e41fbefdea8f +Subject: What's cooking in git.git (Nov 2019, #03; Tue, 19) +X-master-at: d9f6f3b6195a0ca35642561e530798ad1469bd41 +X-next-at: 69ef04c0130f4b0b2f74006aac01f51233c7f246 -What's cooking in git.git (Nov 2019, #02; Fri, 8) +What's cooking in git.git (Nov 2019, #03; Tue, 19) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,22 +12,563 @@ 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. -Git 2.24 has been tagged. Hopefully there needs no immediate brown -paper bag fixes needed for the 'master' branch. The next cycle will -start perhaps early next week by first rewinding the 'next' branch, -after the dust settles. Topics marked as "will cook in next" can be -given a fresh start by ejecting them from 'next' and queueing a new -version (please just ask). Topics currently not in 'next' will then -start getting merged down after all that. +A bunch of topics, mostly the ones that were in 'next' before the +latest release, have been merged to 'master'. Also, quite a lot of +topics now have started cooking in 'next'. It will hopefully become +a short and productive cycle ;-) 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"] + +* bc/hash-independent-tests-part-6 (2019-10-28) 15 commits + (merged to 'next' on 2019-10-30 at 70037a3839) + + t4048: abstract away SHA-1-specific constants + + t4045: make hash-size independent + + t4044: update test to work with SHA-256 + + t4039: abstract away SHA-1-specific constants + + t4038: abstract away SHA-1 specific constants + + t4034: abstract away SHA-1-specific constants + + t4027: make hash-size independent + + t4015: abstract away SHA-1-specific constants + + t4011: abstract away SHA-1-specific constants + + t4010: abstract away SHA-1-specific constants + + t3429: remove SHA1 annotation + + t1305: avoid comparing extensions + + rev-parse: add a --show-object-format option + + t/oid-info: add empty tree and empty blob values + + t/oid-info: allow looking up hash algorithm name + + Test updates to prepare for SHA-2 transition continues. + + +* dd/notes-copy-default-dst-to-head (2019-10-18) 2 commits + (merged to 'next' on 2019-10-18 at 2588a175ec) + + notes: fix minimum number of parameters to "copy" subcommand + + t3301: test diagnose messages for too few/many paramters + + "git notes copy $original" ought to copy the notes attached to the + original object to HEAD, but a mistaken tightening to command line + parameter validation made earlier disabled that feature by mistake. + + +* dl/apply-3way-diff3 (2019-10-24) 5 commits + (merged to 'next' on 2019-10-24 at 84e27d28b6) + + apply: respect merge.conflictStyle in --3way + + t4108: demonstrate bug in apply + + t4108: use `test_config` instead of `git config` + + t4108: remove git command upstream of pipe + + t4108: replace create_file with test_write_lines + + "git apply --3way" learned to honor merge.conflictStyle + configuration variable, like merges would. + + +* dl/format-patch-cover-from-desc (2019-10-16) 3 commits + (merged to 'next' on 2019-10-18 at 40e992b6f5) + + format-patch: teach --cover-from-description option + + format-patch: use enum variables + + format-patch: replace erroneous and condition + + The branch description ("git branch --edit-description") has been + used to fill the body of the cover letters by the format-patch + command; this has been enhanced so that the subject can also be + filled. + + +* en/merge-recursive-directory-rename-fixes (2019-10-23) 3 commits + (merged to 'next' on 2019-10-24 at 82e64029a8) + + t604[236]: do not run setup in separate tests + + merge-recursive: fix merging a subdirectory into the root directory + + merge-recursive: clean up get_renamed_dir_portion() + + When all files from some subdirectory were renamed to the root + directory, the directory rename heuristics would fail to detect that + as a rename/merge of the subdirectory to the root directory, which has + been corrected. + + +* es/walken-tutorial (2019-10-12) 1 commit + (merged to 'next' on 2019-10-18 at 59160e59e9) + + documentation: add tutorial for object walking + + A tutorial on object enumeration. + + +* hv/bitshift-constants-in-blame (2019-10-21) 1 commit + (merged to 'next' on 2019-10-24 at bc84aae4d4) + + builtin/blame.c: constants into bit shift format + + Move the definition of a set of bitmask constants from 0ctal + literal to (1U<" learned the l/L + placeholder that is similar to e/E that fills in the e-mail + address, but only the local part on the left side of '@'. + + +* pw/post-commit-from-sequencer (2019-10-16) 6 commits + (merged to 'next' on 2019-10-18 at 15b41a097d) + + sequencer: run post-commit hook + + move run_commit_hook() to libgit and use it there + + sequencer.h fix placement of #endif + + t3404: remove uneeded calls to set_fake_editor + + t3404: set $EDITOR in subshell + + t3404: remove unnecessary subshell + + "rebase -i" ceased to run post-commit hook by mistake in an earlier + update, which has been corrected. + + +* sg/commit-graph-usage-fix (2019-10-28) 1 commit + (merged to 'next' on 2019-10-28 at 13d01506dd) + + builtin/commit-graph.c: remove subcommand-less usage string + + Message fix. + + +* sg/dir-trie-fixes (2019-10-23) 5 commits + (merged to 'next' on 2019-10-24 at 06d60a7fb0) + + path.c: don't call the match function without value in trie_find() + + path.c: clarify two field names in 'struct common_dir' + + path.c: mark 'logs/HEAD' in 'common_list' as file + + path.c: clarify trie_find()'s in-code comment + + Documentation: mention more worktree-specific exceptions + + Code clean-up and a bugfix in the logic used to tell worktree local + and repository global refs apart. + + +* wb/midx-progress (2019-10-23) 6 commits + (merged to 'next' on 2019-10-24 at 95c3e3ab3a) + + multi-pack-index: add [--[no-]progress] option. + + midx: honor the MIDX_PROGRESS flag in midx_repack + + midx: honor the MIDX_PROGRESS flag in verify_midx_file + + midx: add progress to expire_midx_packs + + midx: add progress to write_midx_file + + midx: add MIDX_PROGRESS flag + + The code to generate multi-pack index learned to show (or not to + show) progress indicators. + -------------------------------------------------- [New Topics] +* rs/skip-iprefix (2019-11-10) 2 commits + (merged to 'next' on 2019-11-19 at c87ae31b14) + + convert: use skip_iprefix() in validate_encoding() + + utf8: use skip_iprefix() in same_utf_encoding() + + Code simplification. + + Will merge to 'master'. + + +* dj/typofix-merge-strat (2019-11-11) 1 commit + (merged to 'next' on 2019-11-19 at 5b6c0cf125) + + merge-strategies: fix typo "reflected to" to "reflected in" + + Typofix. + + Will merge to 'master'. + + +* jh/userdiff-python-async (2019-11-11) 1 commit + - userdiff: support Python async functions + + The userdiff machinery has been taught that "async def" is another + way to begin a "function" in Python. + + Waiting for a response to review. + cf. + + +* rj/bundle-ui-updates (2019-11-11) 3 commits + (merged to 'next' on 2019-11-19 at d88f626256) + + bundle-verify: add --quiet + + bundle-create: progress output control + + bundle: framework for options before bundle file + + "git bundle" has been taught to use the parse options API. "git + bundle verify" learned "--quiet" and "git bundle create" learned + options to control the progress output. + + Will merge to 'master'. + + +* ar/install-doc-update-cmds-needing-the-shell (2019-11-15) 1 commit + (merged to 'next' on 2019-11-19 at 216468eb98) + + INSTALL: use existing shell scripts as example + + Doc update. + + Will merge to 'master'. + + +* dl/complete-rebase-onto (2019-11-12) 1 commit + (merged to 'next' on 2019-11-19 at ba53946a3b) + + completion: learn to complete `git rebase --onto=` + + The completion script (in contrib/) learned that the "--onto" + option of "git rebase" can take its argument as the value of the + option. + + Will merge to 'master'. + + +* dl/pretty-reference (2019-11-19) 11 commits + - squash! pretty: implement 'reference' format + - SubmittingPatches: use `--pretty=reference` + - pretty: implement 'reference' format + - pretty: provide short date format + - t4205: cover `git log --reflog -z` blindspot + - pretty.c: inline initalize format_context + - revision: make get_revision_mark() return const pointer + - completion: complete `tformat:` pretty format + - SubmittingPatches: remove dq from commit reference + - pretty-formats.txt: use generic terms for hash + - SubmittingPatches: use generic terms for hash + + "git log" family learned "--pretty=ref" that gives the name of a + commit in the format that is often used to refer to it in log + messages. + + Expecting finishing touches to the data handling. + Other than that, this is reasonably well done, I think. + + +* ds/test-read-graph (2019-11-13) 1 commit + (merged to 'next' on 2019-11-19 at 80152fc082) + + test-tool: use 'read-graph' helper + + Dev support for commit-graph feature. + + Will merge to 'master'. + + +* hw/doc-in-header (2019-11-18) 20 commits + - trace2: move doc to trace2.h + - submodule-config: move doc to submodule-config.h + - tree-walk: move doc to tree-walk.h + - trace: move doc to trace.h + - run-command: move doc to run-command.h + - parse-options: add link to doc file in parse-options.h + - credential: move doc to credential.h + - argv-array: move doc to argv-array.h + - cache: move doc to cache.h + - sigchain: move doc to sigchain.h + - pathspec: move doc to pathspec.h + - revision: move doc to revision.h + - attr: move doc to attr.h + - refs: move doc to refs.h + - remote: move doc to remote.h and refspec.h + - sha1-array: move doc to sha1-array.h + - merge: move doc to ll-merge.h + - graph: move doc to graph.h and graph.c + - dir: move doc to dir.h + - diff: move doc to diff.h and diffcore.h + + +* jc/fsmonitor-sanity-fix (2019-11-13) 1 commit + (merged to 'next' on 2019-11-19 at 1fceb9b55b) + + fsmonitor: do not compare bitmap size with size of split index + + Remove an incorrect BUG() that should not trigger. + + Will merge to 'master'. + + +* jk/gitweb-anti-xss (2019-11-18) 4 commits + (merged to 'next' on 2019-11-19 at 69ef04c013) + + gitweb: escape URLs generated by href() + + t/gitweb-lib.sh: set $REQUEST_URI + + t/gitweb-lib.sh: drop confusing quotes + + t9502: pass along all arguments in xss helper + + Some codepaths in "gitweb" that forgot to escape URLs generated + based on end-user input have been corrected. + + Will merge to 'master'. + + +* jk/optim-in-pack-idx-conversion (2019-11-12) 1 commit + (merged to 'next' on 2019-11-19 at a81ebc7b8d) + + pack-objects: avoid pointless oe_map_new_pack() calls + + Code clean-up. + + Will merge to 'master'. + + +* jk/remove-sha1-to-hex (2019-11-13) 2 commits + (merged to 'next' on 2019-11-19 at fb68824870) + + hex: drop sha1_to_hex() + + hex: drop sha1_to_hex_r() + + Code clean-up. + + Will merge to 'master'. + + +* jk/send-pack-remote-failure (2019-11-13) 1 commit + (merged to 'next' on 2019-11-19 at d02c0107ee) + + send-pack: check remote ref status on pack-objects failure + + Error handling after "git push" finishes sending the packdata and + waits for the response to the remote side has been improved. + + Will merge to 'master'. + + +* js/builtin-add-i-cmds (2019-11-18) 8 commits + - built-in add -i: offer the `quit` command + - built-in add -i: re-implement the `diff` command + - built-in add -i: implement the `patch` command + - built-in add -i: re-implement `add-untracked` in C + - built-in add -i: re-implement `revert` in C + - built-in add -i: implement the `update` command + - built-in add -i: prepare for multi-selection commands + - built-in add -i: allow filtering the modified files list + (this branch uses js/builtin-add-i.) + + "git add -i" that is getting rewritten in C has been extended to + cover subcommands other than the "patch". + + +* js/complete-svn-recursive (2019-11-13) 1 commit + (merged to 'next' on 2019-11-19 at fa2a97911c) + + completion: tab-complete "git svn --recursive" + + The completion script (in contrib/) has been taught that "git svn" + supports the "--recursive" option. + + Will merge to 'master'. + + +* js/rebase-r-safer-label (2019-11-18) 2 commits + - rebase -r: let `label` generate safer labels + - rebase-merges: move labels' whitespace mangling into `label_oid()` + (this branch is used by dd/rebase-merge-reserves-onto-label.) + + A label used in the todo list that are generated by "git rebase + --rebase-merges" is used as a part of a refname; the logic to come + up with the label has been tightened to avoid names that cannot be + used as such. + + Will merge to 'next'. + + +* dd/rebase-merge-reserves-onto-label (2019-11-19) 1 commit + - sequencer: handle rebase-merge for "onto" message + (this branch uses js/rebase-r-safer-label.) + + The logic to avoid duplicate label names generated by "git rebase + --rebase-merges" forgot that the machinery itself uses "onto" as a + label name, which must be avoided by auto-generated labels, which + has been corrected. + + Will merge to 'next'. + + +* ma/config-bool-valex (2019-11-14) 8 commits + - builtin/config: die if "value_regex" doesn't canonicalize as boolean + - builtin/config: warn if "value_regex" doesn't canonicalize as boolean + - builtin/config: canonicalize "value_regex" with `--type=bool-or-int` + - builtin/config: canonicalize "value_regex" with `--type=bool` + - builtin/config: collect "value_regexp" data in a struct + - builtin/config: extract `handle_value_regex()` from `get_value()` + - t1300: modernize part of script + - config: make `git_parse_maybe_bool_text()` public + + +* ma/t7004 (2019-11-14) 1 commit + (merged to 'next' on 2019-11-19 at 789a0a0f05) + + t7004: check existence of correct tag + + Test fix. + + Will merge to 'master'. + + +* nn/doc-rebase-merges (2019-11-12) 1 commit + (merged to 'next' on 2019-11-19 at db74ff488c) + + doc: improve readability of --rebase-merges in git-rebase + + Doc update. + + Will merge to 'master'. + + +* rs/parse-options-dup-null-fix (2019-11-13) 1 commit + (merged to 'next' on 2019-11-19 at 73040e1605) + + parse-options: avoid arithmetic on pointer that's potentially NULL + + Code cleanup. + + Will merge to 'master'. + + +* rs/use-copy-array-in-mingw-shell-command-preparation (2019-11-13) 1 commit + (merged to 'next' on 2019-11-19 at 52ee6a8887) + + mingw: use COPY_ARRAY for copying array + + Code cleanup. + + Will merge to 'master'. + + +* sg/name-rev-wo-recursion (2019-11-13) 13 commits + - name-rev: cleanup name_ref() + - name-rev: eliminate recursion in name_rev() + - name-rev: drop name_rev()'s 'generation' and 'distance' parameters + - name-rev: restructure creating/updating 'struct rev_name' instances + - name-rev: restructure parsing commits and applying date cutoff + - name-rev: pull out deref handling from the recursion + - name-rev: extract creating/updating a 'struct name_rev' into a helper + - t6120: add a test to cover inner conditions in 'git name-rev's name_rev() + - name-rev: use sizeof(*ptr) instead of sizeof(type) in allocation + - name-rev: avoid unnecessary cast in name_ref() + - name-rev: use strbuf_strip_suffix() in get_rev_name() + - t6120-describe: modernize the 'check_describe' helper + - t6120-describe: correct test repo history graph in comment + + +* sg/skip-skipped-prereq (2019-11-13) 1 commit + (merged to 'next' on 2019-11-19 at 10d344fed7) + + test-lib: don't check prereqs of test cases that won't be run anyway + + Test update to avoid wasted cycles. + + Will merge to 'master'. + + +* tg/stash-refresh-index (2019-11-14) 1 commit + (merged to 'next' on 2019-11-19 at 4d67af8d3f) + + stash: make sure we have a valid index before writing it + + Recent update to "git stash pop" made the command empty the index + when run with the "--quiet" option, which has been corrected. + + Will merge to 'master'. + +-------------------------------------------------- +[Stalled] + +* js/advise-rebase-skip (2019-10-23) 3 commits + - commit: give correct advice for empty commit during a rebase + - sequencer: export the function to get the path of `.git/rebase-merge/` + - cherry-pick: add test for `--skip` advice in `git commit` + + The logic used in "git commit" to give hints and errors depending + on what operation was in progress learned to distinguish rebase and + cherry-pick better. + + Kicked back to 'pu'. + cf. + + +* vn/reset-deleted-ita (2019-07-26) 1 commit + - reset: unstage empty deleted ita files + + "git reset HEAD []" did not reset an empty file that was + added with the intent-to-add bit. + + Expecting a reroll. + + +* jn/unknown-index-extensions (2018-11-21) 2 commits + - index: offer advice for unknown index extensions + - index: do not warn about unrecognized extensions + + A bit too alarming warning given when unknown index extensions + exist is getting revamped. + + Expecting a reroll. + + +* jc/format-patch-delay-message-id (2019-04-05) 1 commit + - format-patch: move message-id and related headers to the end + + The location "git format-patch --thread" adds the Message-Id: + header in the series of header fields has been moved down, which + may help working around a suspected bug in GMail MSA, reported at + + + Waiting for feedback to see if it truly helps. + Needs tests. + + +* js/protocol-advertise-multi (2018-12-28) 1 commit + - protocol: advertise multiple supported versions + + The transport layer has been updated so that the protocol version + used can be negotiated between the parties, by the initiator + listing the protocol versions it is willing to talk, and the other + side choosing from one of them. + + Expecting a reroll. + cf. + + +* mk/use-size-t-in-zlib (2018-10-15) 1 commit + - zlib.c: use size_t for size + + The wrapper to call into zlib followed our long tradition to use + "unsigned long" for sizes of regions in memory, which have been + updated to use "size_t". + +-------------------------------------------------- +[Cooking] + * am/pathspec-from-file (2019-11-07) 6 commits - commit: support the --pathspec-from-file option - doc: commit: unify description @@ -40,26 +581,29 @@ of the repositories listed at standard input or a named file, instead of taking it as the command line arguments. - Will merge to 'next'. + Expecting a response to review. + This smells more or less done. * cb/curl-use-xmalloc (2019-11-07) 1 commit - - remote-curl: unbreak http.extraHeader with custom allocators + (merged to 'next' on 2019-11-19 at 1c587d0775) + + remote-curl: unbreak http.extraHeader with custom allocators HTTP transport had possible allocator/deallocator mismatch, which has been corrected. - Will merge to 'next'. + Will merge to 'master'. * ds/commit-graph-delay-gen-progress (2019-11-07) 1 commit - - commit-graph: use start_delayed_progress() + (merged to 'next' on 2019-11-19 at afa7c921be) + + commit-graph: use start_delayed_progress() One kind of progress messages were always given during commit-graph generation, instead of following the "if it takes more than two seconds, show progress" pattern, which has been corrected. - Will merge to 'next'. + Will merge to 'master'. * ec/fetch-mark-common-refs-trace2 (2019-11-07) 1 commit @@ -71,21 +615,23 @@ of the repositories listed at * en/misc-doc-fixes (2019-11-07) 3 commits - - name-hash.c: remove duplicate word in comment - - hashmap: fix documentation misuses of -> versus . - - git-filter-branch.txt: correct argument name typo + (merged to 'next' on 2019-11-19 at 7222cf3720) + + name-hash.c: remove duplicate word in comment + + hashmap: fix documentation misuses of -> versus . + + git-filter-branch.txt: correct argument name typo Misc doc fixes. - Will merge to 'next'. + Will merge to 'master'. * en/t6024-style (2019-11-07) 1 commit - - t6024: modernize style + (merged to 'next' on 2019-11-19 at b41c2ed21b) + + t6024: modernize style Test updates. - Will merge to 'next'. + Will merge to 'master'. * ep/guard-kset-tar-headers (2019-11-07) 1 commit @@ -97,165 +643,119 @@ of the repositories listed at * js/fetch-multi-lockfix (2019-11-06) 2 commits - - fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph - - fetch: add the command-line option `--write-commit-graph` + (merged to 'next' on 2019-11-19 at b9683b7ec9) + + fetch: avoid locking issues between fetch.jobs/fetch.writeCommitGraph + + fetch: add the command-line option `--write-commit-graph` Fetching from multiple remotes into the same repository in parallel had a bad interaction with the recent change to (optionally) update the commit-graph after a fetch job finishes, as these parallel fetches compete with each other. Which has been corrected. - Will merge to 'next'. + Will merge to 'master'. -* jt/fetch-remove-lazy-fetch-plugging (2019-11-06) 1 commit - - fetch: remove fetch_if_missing=0 +* jt/fetch-remove-lazy-fetch-plugging (2019-11-13) 3 commits + (merged to 'next' on 2019-11-19 at 1b26c28dcd) + + promisor-remote: remove fetch_if_missing=0 + + clone: remove fetch_if_missing=0 + + fetch: remove fetch_if_missing=0 "git fetch" codepath had a big "do not lazily fetch missing objects when I ask if something exists" switch. This has been corrected by marking the "does this thing exist?" calls with "if not please do not lazily fetch it" flag. - Will merge to 'next'. + Will merge to 'master'. * kw/fsmonitor-watchman-fix (2019-11-06) 1 commit - - fsmonitor: fix watchman integration + (merged to 'next' on 2019-11-19 at ee786a5c39) + + fsmonitor: fix watchman integration The watchman integration for fsmonitor was racy, which has been corrected to be more conservative. - Will merge to 'next'. + Will merge to 'master'. -* ln/userdiff-elixir (2019-11-08) 1 commit - - userdiff: add Elixir to supported languages +* ln/userdiff-elixir (2019-11-10) 1 commit + (merged to 'next' on 2019-11-19 at 6318918ba8) + + userdiff: add Elixir to supported userdiff languages The patterns to detect function boundary for Elixir language has been added. - Will merge to 'next'. + Will merge to 'master'. * ns/test-desc-typofix (2019-11-07) 1 commit - - t: fix typo in test descriptions + (merged to 'next' on 2019-11-19 at 804861f385) + + t: fix typo in test descriptions Typofix. - Will merge to 'next'. + Will merge to 'master'. -* py/shortlog-list-options-for-log (2019-11-06) 1 commit - - git-shortlog.txt: include commit limiting options +* py/shortlog-list-options-for-log (2019-11-10) 1 commit + (merged to 'next' on 2019-11-19 at 92a10e39f7) + + git-shortlog.txt: include commit limiting options Documentation pages for "git shortlog" now lists commit limiting options explicitly. - Expecting a reroll. - It excludes too much (e.g. the section for pathspec based history - simplification) in a way that makes future shuffling of sections - in rev-list-options.txt error prone. + Will merge to 'master'. * rs/trace2-dots (2019-11-06) 1 commit - - trace2: add dots directly to strbuf in perf_fmt_prepare() + (merged to 'next' on 2019-11-19 at a045233ad0) + + trace2: add dots directly to strbuf in perf_fmt_prepare() Code cleanup. - Will merge to 'next'. + Will merge to 'master'. -* dd/sequencer-utf8 (2019-11-07) 8 commits - - sequencer: reencode commit message for am/rebase --show-current-patch - - sequencer: reencode old merge-commit message - - sequencer: reencode squashing commit's message - - sequencer: reencode revert/cherry-pick's todo list - - sequencer: reencode to utf-8 before arrange rebase's todo list - - t3900: demonstrate git-rebase problem with multi encoding - - configure.ac: define ICONV_OMITS_BOM if necessary - - t0028: eliminate non-standard usage of printf +* dd/sequencer-utf8 (2019-11-11) 8 commits + (merged to 'next' on 2019-11-19 at 9432ddc32c) + + sequencer: reencode commit message for am/rebase --show-current-patch + + sequencer: reencode old merge-commit message + + sequencer: reencode squashing commit's message + + sequencer: reencode revert/cherry-pick's todo list + + sequencer: reencode to utf-8 before arrange rebase's todo list + + t3900: demonstrate git-rebase problem with multi encoding + + configure.ac: define ICONV_OMITS_BOM if necessary + + t0028: eliminate non-standard usage of printf Handling of commit objects that use non UTF-8 encoding during "rebase -i" has been improved. + Will merge to 'master'. -* dl/t5520-cleanup (2019-11-08) 14 commits + +* dl/t5520-cleanup (2019-11-19) 14 commits - t5520: replace `! git` with `test_must_fail git` - t5520: remove redundant lines in test cases - - t5520: replace subshell cat comparison with test_cmp + - t5520: replace $(cat ...) comparison with test_cmp - t5520: don't put git in upstream of pipe - t5520: test single-line files by git with test_cmp - t5520: use test_cmp_rev where possible - t5520: replace test -{n,z} with test-lib functions - - t5520: use test_line_count where possible - - t5520: remove spaces after redirect operator - - t5520: replace test -f with test-lib functions - - t5520: let sed open its own input - - t5520: use sq for test case names - - t5520: improve test style - - t: teach test_cmp_rev to accept ! for not-equals - - Test cleanup. - - Expecting a response to review. - --------------------------------------------------- -[Stalled] - -* vn/reset-deleted-ita (2019-07-26) 1 commit - - reset: unstage empty deleted ita files - - "git reset HEAD []" did not reset an empty file that was - added with the intent-to-add bit. - - Expecting a reroll. - - -* jn/unknown-index-extensions (2018-11-21) 2 commits - - index: offer advice for unknown index extensions - - index: do not warn about unrecognized extensions - - A bit too alarming warning given when unknown index extensions - exist is getting revamped. - - Expecting a reroll. - - -* jc/format-patch-delay-message-id (2019-04-05) 1 commit - - format-patch: move message-id and related headers to the end - - The location "git format-patch --thread" adds the Message-Id: - header in the series of header fields has been moved down, which - may help working around a suspected bug in GMail MSA, reported at - - - Waiting for feedback to see if it truly helps. - Needs tests. - - -* js/protocol-advertise-multi (2018-12-28) 1 commit - - protocol: advertise multiple supported versions - - The transport layer has been updated so that the protocol version - used can be negotiated between the parties, by the initiator - listing the protocol versions it is willing to talk, and the other - side choosing from one of them. - - Expecting a reroll. - cf. - + - t5520: use test_line_count where possible + - t5520: remove spaces after redirect operator + - t5520: replace test -f with test-lib functions + - t5520: let sed open its own input + - t5520: use sq for test case names + - t5520: improve test style + - t: teach test_cmp_rev to accept ! for not-equals -* mk/use-size-t-in-zlib (2018-10-15) 1 commit - - zlib.c: use size_t for size + Test cleanup. - The wrapper to call into zlib followed our long tradition to use - "unsigned long" for sizes of regions in memory, which have been - updated to use "size_t". + Will merge to 'next'. --------------------------------------------------- -[Cooking] -* js/builtin-add-i (2019-11-08) 9 commits +* js/builtin-add-i (2019-11-18) 9 commits - built-in add -i: implement the `help` command - built-in add -i: use color in the main loop - built-in add -i: support `?` (prompt help) @@ -265,26 +765,31 @@ of the repositories listed at - built-in add -i: implement the `status` command - diff: export diffstat interface - Start to implement a built-in version of `git add --interactive` + (this branch is used by js/builtin-add-i-cmds.) The beginning of rewriting "git add -i" in C. + Will merge to 'next'. + * es/myfirstcontrib-updates (2019-11-02) 3 commits - - myfirstcontrib: hint to find gitgitgadget allower - - myfirstcontrib: add dependency installation step - - myfirstcontrib: add 'psuh' to command-list.txt + (merged to 'next' on 2019-11-19 at 41d70e1db4) + + myfirstcontrib: hint to find gitgitgadget allower + + myfirstcontrib: add dependency installation step + + myfirstcontrib: add 'psuh' to command-list.txt Doc updates. - Will merge to 'next'. + Will merge to 'master'. * rt/fetch-message-fix (2019-11-02) 1 commit - - fetch.c: fix typo in a warning message + (merged to 'next' on 2019-11-19 at 69eb337cd8) + + fetch.c: fix typo in a warning message A small message update. - Will merge to 'next'. + Will merge to 'master'. * ra/rebase-i-more-options (2019-11-02) 6 commits @@ -299,72 +804,31 @@ of the repositories listed at rebase" proper. -* en/doc-typofix (2019-11-07) 11 commits - - Fix spelling errors in no-longer-updated-from-upstream modules - - multimail: fix a few simple spelling errors - - sha1dc: fix trivial comment spelling error - - Fix spelling errors in test commands - - Fix spelling errors in messages shown to users - - Fix spelling errors in names of tests - - Fix spelling errors in comments of testcases - - Fix spelling errors in code comments - - Prefer 'up-to-date' spelling - - Fix spelling errors in documentation outside of Documentation/ - - Documentation: fix a bunch of typos, both old and new - - Docfix. - - Will merge to 'next'. - - -* hw/remove-api-docs-placeholder (2019-10-25) 1 commit - (merged to 'next' on 2019-10-30 at c99fe16682) - + documentation: remove empty doc files +* en/doc-typofix (2019-11-10) 10 commits + (merged to 'next' on 2019-11-19 at e7bfe50de5) + + Fix spelling errors in no-longer-updated-from-upstream modules + + multimail: fix a few simple spelling errors + + sha1dc: fix trivial comment spelling error + + Fix spelling errors in test commands + + Fix spelling errors in messages shown to users + + Fix spelling errors in names of tests + + Fix spelling errors in comments of testcases + + Fix spelling errors in code comments + + Fix spelling errors in documentation outside of Documentation/ + + Documentation: fix a bunch of typos, both old and new Docfix. Will merge to 'master'. -* js/update-index-ignore-removal-for-skip-worktree (2019-11-02) 2 commits - (merged to 'next' on 2019-11-02 at 57f7fb885f) - + stash: handle staged changes in skip-worktree files correctly - + update-index: optionally leave skip-worktree entries alone - - "git stash save" in a working tree that is sparsely checked out - mistakenly removed paths that are outside the area of interest. - - Will merge to 'master'. - - -* pb/pretty-email-without-domain-part (2019-10-30) 3 commits - (merged to 'next' on 2019-10-30 at 06f719efa5) - + pretty: add "%aL" etc. to show local-part of email addresses - + t4203: use test-lib.sh definitions - + t6006: use test-lib.sh definitions - - The custom format for "git log --format=" learned the l/L - placeholder that is similar to e/E that fills in the e-mail - address, but only the local part on the left side of '@'. - - Will merge to 'master'. - - -* sg/commit-graph-usage-fix (2019-10-28) 1 commit - (merged to 'next' on 2019-10-28 at 13d01506dd) - + builtin/commit-graph.c: remove subcommand-less usage string - - Message fix. - - Will merge to 'master'. - - * dl/doc-diff-no-index-implies-exit-code (2019-11-02) 1 commit - - git-diff.txt: document return code of `--no-index` + (merged to 'next' on 2019-11-19 at e2b2181e28) + + git-diff.txt: document return code of `--no-index` Doc update. - Will merge to 'next'. + Will merge to 'master'. * dl/submodule-set-url (2019-10-30) 1 commit @@ -374,70 +838,66 @@ of the repositories listed at * js/vreportf-wo-buffering (2019-11-02) 1 commit - - vreportf(): avoid relying on stdio buffering + (merged to 'next' on 2019-11-19 at cae61b9899) + + vreportf(): avoid relying on stdio buffering Messages from die() etc. can be mixed up from multiple processes without even line buffering on Windows, which has been worked around. - Will merge to 'next'. + Will merge to 'master'. * ma/bisect-doc-sample-update (2019-10-29) 1 commit - - Documentation/git-bisect.txt: add --no-ff to merge command + (merged to 'next' on 2019-11-19 at bde6adce1b) + + Documentation/git-bisect.txt: add --no-ff to merge command "git merge --no-commit" needs "--no-ff" if you do not want to move HEAD, which has been corrected in the manual page for "git bisect". - Will merge to 'next'. + Will merge to 'master'. * mr/clone-dir-exists-to-path-exists (2019-10-29) 1 commit - - clone: rename static function `dir_exists()`. + (merged to 'next' on 2019-11-19 at 07b6ab25de) + + clone: rename static function `dir_exists()`. Code cleanup. - Will merge to 'next'. + Will merge to 'master'. * pb/help-list-gitsubmodules-among-guides (2019-10-29) 1 commit - - help: add gitsubmodules to the list of guides + (merged to 'next' on 2019-11-19 at 3c6f5c1901) + + help: add gitsubmodules to the list of guides Help update. - Will merge to 'next'. + Will merge to 'master'. * pb/no-recursive-reset-hard-in-worktree-add (2019-10-30) 1 commit - - worktree: teach "add" to ignore submodule.recurse config + (merged to 'next' on 2019-11-19 at cdfb0643e9) + + worktree: teach "add" to ignore submodule.recurse config "git worktree add" internally calls "reset --hard" that should not descend into submodules, even when submodule.recurse configuration is set, but it was affected. This has been correct. - Will merge to 'next'. + Will merge to 'master'. * sg/blame-indent-heuristics-is-now-the-default (2019-10-29) 1 commit - - builtin/blame.c: remove '--indent-heuristic' from usage string + (merged to 'next' on 2019-11-19 at 68e60f08cc) + + builtin/blame.c: remove '--indent-heuristic' from usage string Message update. - Will merge to 'next'. - - -* hv/bitshift-constants-in-blame (2019-10-21) 1 commit - (merged to 'next' on 2019-10-24 at bc84aae4d4) - + builtin/blame.c: constants into bit shift format - - Move the definition of a set of bitmask constants from 0ctal - literal to (1U< - - -* sg/dir-trie-fixes (2019-10-23) 5 commits - (merged to 'next' on 2019-10-24 at 06d60a7fb0) - + path.c: don't call the match function without value in trie_find() - + path.c: clarify two field names in 'struct common_dir' - + path.c: mark 'logs/HEAD' in 'common_list' as file - + path.c: clarify trie_find()'s in-code comment - + Documentation: mention more worktree-specific exceptions - - Code clean-up and a bugfix in the logic used to tell worktree local - and repository global refs apart. - - Will merge to 'master'. - - -* wb/midx-progress (2019-10-23) 6 commits - (merged to 'next' on 2019-10-24 at 95c3e3ab3a) - + multi-pack-index: add [--[no-]progress] option. - + midx: honor the MIDX_PROGRESS flag in midx_repack - + midx: honor the MIDX_PROGRESS flag in verify_midx_file - + midx: add progress to expire_midx_packs - + midx: add progress to write_midx_file - + midx: add MIDX_PROGRESS flag - - The code to generate multi-pack index learned to show (or not to - show) progress indicators. - - Will merge to 'master'. - - -* dl/apply-3way-diff3 (2019-10-24) 5 commits - (merged to 'next' on 2019-10-24 at 84e27d28b6) - + apply: respect merge.conflictStyle in --3way - + t4108: demonstrate bug in apply - + t4108: use `test_config` instead of `git config` - + t4108: remove git command upstream of pipe - + t4108: replace create_file with test_write_lines - - "git apply --3way" learned to honor merge.conflictStyle - configuration variable, like merges would. - - Will merge to 'master'. - - * hw/config-doc-in-header (2019-10-24) 1 commit - - config: move documentation to config.h + (merged to 'next' on 2019-11-19 at 7f314c649e) + + config: move documentation to config.h Follow recent push to move API docs from Documentation/ to header files and update config.h - Will merge to 'next'. - - -* dd/notes-copy-default-dst-to-head (2019-10-18) 2 commits - (merged to 'next' on 2019-10-18 at 2588a175ec) - + notes: fix minimum number of parameters to "copy" subcommand - + t3301: test diagnose messages for too few/many paramters - - "git notes copy $original" ought to copy the notes attached to the - original object to HEAD, but a mistaken tightening to command line - parameter validation made earlier disabled that feature by mistake. - Will merge to 'master'. -* jc/log-graph-simplify (2019-10-16) 13 commits - (merged to 'next' on 2019-10-24 at 190b88709e) +* jc/log-graph-simplify (2019-11-13) 14 commits + (merged to 'next' on 2019-11-19 at de6360c648) + + t4215: use helper function to check output + (merged to 'next' on 2019-11-10 at 79d2b8ff98) + graph: fix coloring of octopus dashes + graph: flatten edges that fuse with their right neighbor + graph: smooth appearance of collapsing edges on commit lines @@ -593,142 +970,59 @@ of the repositories listed at The implementation of "git log --graph" got refactored and then its output got simplified. - Will cook in 'next'. + Will merge to 'master'. * js/git-path-head-dot-lock-fix (2019-10-29) 2 commits - - git_path(): handle `.lock` files correctly - - t1400: wrap setup code in test case + (merged to 'next' on 2019-11-19 at b406944979) + + git_path(): handle `.lock` files correctly + + t1400: wrap setup code in test case "git rev-parse --git-path HEAD.lock" did not give the right path when run in a secondary worktree. - Will merge to 'next'. - - -* pw/post-commit-from-sequencer (2019-10-16) 6 commits - (merged to 'next' on 2019-10-18 at 15b41a097d) - + sequencer: run post-commit hook - + move run_commit_hook() to libgit and use it there - + sequencer.h fix placement of #endif - + t3404: remove uneeded calls to set_fake_editor - + t3404: set $EDITOR in subshell - + t3404: remove unnecessary subshell - - "rebase -i" ceased to run post-commit hook by mistake in an earlier - update, which has been corrected. - Will merge to 'master'. * ds/sparse-cone (2019-10-23) 17 commits - - sparse-checkout: cone mode should not interact with .gitignore - - sparse-checkout: write using lockfile - - sparse-checkout: update working directory in-process - - sparse-checkout: sanitize for nested folders - - read-tree: show progress by default - - unpack-trees: add progress to clear_ce_flags() - - unpack-trees: hash less in cone mode - - sparse-checkout: init and set in cone mode - - sparse-checkout: use hashmaps for cone patterns - - sparse-checkout: add 'cone' mode - - trace2: add region in clear_ce_flags - - sparse-checkout: create 'disable' subcommand - - sparse-checkout: add '--stdin' option to set subcommand - - sparse-checkout: 'set' subcommand - - clone: add --sparse mode - - sparse-checkout: create 'init' subcommand - - sparse-checkout: create builtin with 'list' subcommand + (merged to 'next' on 2019-11-19 at 1eb4b3a012) + + sparse-checkout: cone mode should not interact with .gitignore + + sparse-checkout: write using lockfile + + sparse-checkout: update working directory in-process + + sparse-checkout: sanitize for nested folders + + read-tree: show progress by default + + unpack-trees: add progress to clear_ce_flags() + + unpack-trees: hash less in cone mode + + sparse-checkout: init and set in cone mode + + sparse-checkout: use hashmaps for cone patterns + + sparse-checkout: add 'cone' mode + + trace2: add region in clear_ce_flags + + sparse-checkout: create 'disable' subcommand + + sparse-checkout: add '--stdin' option to set subcommand + + sparse-checkout: 'set' subcommand + + clone: add --sparse mode + + sparse-checkout: create 'init' subcommand + + sparse-checkout: create builtin with 'list' subcommand Management of sparsely checked-out working tree has gained a dedicated "sparse-checkout" command. - Will merge to 'next'. - - -* dl/format-patch-cover-from-desc (2019-10-16) 3 commits - (merged to 'next' on 2019-10-18 at 40e992b6f5) - + format-patch: teach --cover-from-description option - + format-patch: use enum variables - + format-patch: replace erroneous and condition - - The branch description ("git branch --edit-description") has been - used to fill the body of the cover letters by the format-patch - command; this has been enhanced so that the subject can also be - filled. - - Will merge to 'master'. - - -* en/merge-recursive-directory-rename-fixes (2019-10-23) 3 commits - (merged to 'next' on 2019-10-24 at 82e64029a8) - + t604[236]: do not run setup in separate tests - + merge-recursive: fix merging a subdirectory into the root directory - + merge-recursive: clean up get_renamed_dir_portion() - - When all files from some subdirectory were renamed to the root - directory, the directory rename heuristics would fail to detect that - as a rename/merge of the subdirectory to the root directory, which has - been corrected. - - Will merge to 'master'. - - -* jt/fetch-pack-record-refs-in-the-dot-promisor (2019-10-16) 1 commit - (merged to 'next' on 2019-10-18 at 4ead52e59a) - + fetch-pack: write fetched refs to .promisor - - Debugging support for lazy cloning has been a bit improved. - - Will merge to 'master'. - - -* es/walken-tutorial (2019-10-12) 1 commit - (merged to 'next' on 2019-10-18 at 59160e59e9) - + documentation: add tutorial for object walking - - A tutorial on object enumeration. - - Will merge to 'master'. - - -* bc/hash-independent-tests-part-6 (2019-10-28) 15 commits - (merged to 'next' on 2019-10-30 at 70037a3839) - + t4048: abstract away SHA-1-specific constants - + t4045: make hash-size independent - + t4044: update test to work with SHA-256 - + t4039: abstract away SHA-1-specific constants - + t4038: abstract away SHA-1 specific constants - + t4034: abstract away SHA-1-specific constants - + t4027: make hash-size independent - + t4015: abstract away SHA-1-specific constants - + t4011: abstract away SHA-1-specific constants - + t4010: abstract away SHA-1-specific constants - + t3429: remove SHA1 annotation - + t1305: avoid comparing extensions - + rev-parse: add a --show-object-format option - + t/oid-info: add empty tree and empty blob values - + t/oid-info: allow looking up hash algorithm name - - Test updates to prepare for SHA-2 transition continues. - Will merge to 'master'. * ag/sequencer-todo-updates (2019-10-28) 6 commits - (merged to 'next' on 2019-10-28 at 85f694d9d3) - + SQUASH??? tentative leakfix - (merged to 'next' on 2019-10-18 at 8dac803e49) - + sequencer: directly call pick_commits() from complete_action() - + rebase: fill `squash_onto' in get_replay_opts() - + sequencer: move the code writing total_nr on the disk to a new function - + sequencer: update `done_nr' when skipping commands in a todo list - + sequencer: update `total_nr' when adding an item to a todo list + - SQUASH??? tentative leakfix + - sequencer: directly call pick_commits() from complete_action() + - rebase: fill `squash_onto' in get_replay_opts() + - sequencer: move the code writing total_nr on the disk to a new function + - sequencer: update `done_nr' when skipping commands in a todo list + - sequencer: update `total_nr' when adding an item to a todo list Reduce unnecessary reading of state variables back from the disk during sequener operation. - Kick back to 'pu' before squashing the leakfix. + Is the leakfix patch at the tip the only thing that needs to + prepare the topic ready for 'next'? * mt/threaded-grep-in-object-store (2019-10-02) 11 commits @@ -748,21 +1042,23 @@ of the repositories listed at (as opposed to files in the working tree) as accesses to the object layer is not thread-safe. This limitation is getting lifted. - What's the current status of this one? + Expecting a reroll. + cf. * jk/packfile-reuse-cleanup (2019-10-23) 9 commits - - pack-objects: improve partial packfile reuse - - builtin/pack-objects: introduce obj_is_packed() - - pack-objects: introduce pack.allowPackReuse - - csum-file: introduce hashfile_total() - - pack-bitmap: introduce bitmap_walk_contains() - - pack-bitmap: don't rely on bitmap_git->reuse_objects - - ewah/bitmap: introduce bitmap_word_alloc() + (merged to 'next' on 2019-11-19 at 9683853939) + + pack-objects: improve partial packfile reuse + + builtin/pack-objects: introduce obj_is_packed() + + pack-objects: introduce pack.allowPackReuse + + csum-file: introduce hashfile_total() + + pack-bitmap: introduce bitmap_walk_contains() + + pack-bitmap: don't rely on bitmap_git->reuse_objects + + ewah/bitmap: introduce bitmap_word_alloc() + packfile: expose get_delta_base() + builtin/pack-objects: report reused packfile objects The way "git pack-objects" reuses objects stored in existing pack to generate its result has been improved. - Will merge to 'next'. + Will merge to 'master'.