summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-02-10 23:30:06 (GMT)
committerJunio C Hamano <gitster@pobox.com>2021-02-10 23:30:06 (GMT)
commit1861aa482a38ae84f597cede48167ab43e7e50a3 (patch)
tree60eda5d80a9c11f49012ab9b968f1c89b75f3a04
parent9f82dd37d579cce27d0641ed793c23bc3e5bfb79 (diff)
downloadgit-1861aa482a38ae84f597cede48167ab43e7e50a3.zip
git-1861aa482a38ae84f597cede48167ab43e7e50a3.tar.gz
git-1861aa482a38ae84f597cede48167ab43e7e50a3.tar.bz2
What's cooking (2021/02 #02)
-rw-r--r--whats-cooking.txt1109
1 files changed, 589 insertions, 520 deletions
diff --git a/whats-cooking.txt b/whats-cooking.txt
index 1dcc3a5..c30cf79 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 (Feb 2021, #01; Wed, 3)
-X-master-at: 30b29f044a2b30f0667eb21559959e03eb1bd04f
-X-next-at: 56c4b15f3c4368f5acb44fe2072b22963b46480f
+Subject: What's cooking in git.git (Feb 2021, #02; Wed, 10)
+X-master-at: f9f2520108bab26a750bcbb00518dc27672cf0a2
+X-next-at: 12f37433bd80c76d67aa57b8e233c31bae0a769d
-What's cooking in git.git (Feb 2021, #01; Wed, 3)
+What's cooking in git.git (Feb 2021, #02; Wed, 10)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with '-' are
@@ -12,14 +12,9 @@ only in 'seen' (formerly 'pu'---proposed updates) while 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.
-A bit more topics are on 'master' now. Also for those of us who are
-on 'next', Derrick's fixes on top of the corrected commit date
-series may help incremental commit-graph updates. Testing is
-appreciated. I have been shooting for parking any non-trivial topic
-that has been reviewed positively in 'next' for about 7 calendar
-days, which may have been a bit too aggressive (on the other hand,
-trivial topofixes, clean-ups and doc updates do not have to wait all
-that long).
+The seventh batch of topics are in 'master'. On the 'maint' front,
+bunch of fixes that have already been in 'master' were merged there
+and the result has been tagged as Git 2.30.1.
Copies of the source code to Git live in many repositories, and the
following is a list of the ones I push into or their mirrors. Some
@@ -52,194 +47,447 @@ Release tarballs are available at:
--------------------------------------------------
[Graduated to 'master']
-* ab/fsck-doc-fix (2021-01-20) 1 commit
- (merged to 'next' on 2021-01-25 at e3db0fe96f)
- + fsck doc: remove ancient out-of-date diagnostics
+* ab/detox-gettext-tests (2021-01-21) 3 commits
+ (merged to 'next' on 2021-02-01 at 5573b4913c)
+ + tests: remove uses of GIT_TEST_GETTEXT_POISON=false
+ + tests: remove support for GIT_TEST_GETTEXT_POISON
+ + ci: remove GETTEXT_POISON jobs
+
+ Get rid of "GETTEXT_POISON" support altogether, which may or may
+ not be controversial.
+
+
+* ab/grep-pcre-invalid-utf8 (2021-01-24) 2 commits
+ (merged to 'next' on 2021-02-01 at 60be521876)
+ + grep/pcre2: better support invalid UTF-8 haystacks
+ + grep/pcre2 tests: don't rely on invalid UTF-8 data test
+
+ Update support for invalid UTF-8 in PCRE2.
+
+
+* ab/lose-grep-debug (2021-01-26) 1 commit
+ (merged to 'next' on 2021-01-31 at 9b7548efce)
+ + grep/log: remove hidden --debug and --grep-debug options
+
+ Lose the debugging aid that may have been useful in the past, but
+ no longer is, in the "grep" codepaths.
+
+
+* ab/retire-pcre1 (2021-01-23) 2 commits
+ (merged to 'next' on 2021-02-01 at 532a0a8228)
+ + Remove support for v1 of the PCRE library
+ + config.mak.uname: remove redundant NO_LIBPCRE1_JIT flag
+
+ The support for deprecated PCRE1 library has been dropped.
+
+
+* ds/cache-tree-basics (2021-01-15) 10 commits
+ (merged to 'next' on 2021-01-25 at 29ee74df7b)
+ + cache-tree: speed up consecutive path comparisons
+ + cache-tree: use ce_namelen() instead of strlen()
+ + index-format: discuss recursion of cache-tree better
+ + index-format: update preamble to cache tree extension
+ + index-format: use 'cache tree' over 'cached tree'
+ + cache-tree: trace regions for prime_cache_tree
+ + cache-tree: trace regions for I/O
+ + cache-tree: use trace2 in cache_tree_update()
+ + unpack-trees: add trace2 regions
+ + tree-walk: report recursion counts
+ (this branch is used by ds/more-index-cleanups.)
+
+ Document, clean-up and optimize the code around the cache-tree
+ extension in the index.
+
+
+* ds/more-index-cleanups (2021-01-23) 9 commits
+ (merged to 'next' on 2021-02-01 at bcdfa11e73)
+ + t1092: test interesting sparse-checkout scenarios
+ + test-lib: test_region looks for trace2 regions
+ + sparse-checkout: load sparse-checkout patterns
+ + name-hash: use trace2 regions for init
+ + repository: add repo reference to index_state
+ + fsmonitor: de-duplicate BUG()s around dirty bits
+ + cache-tree: extract subtree_pos()
+ + cache-tree: simplify verify_cache() prototype
+ + cache-tree: clean up cache_tree_update()
+
+ Cleaning various codepaths up.
+
+
+* en/ort-conflict-handling (2021-01-04) 10 commits
+ (merged to 'next' on 2021-01-25 at 369c1516c4)
+ + merge-ort: add handling for different types of files at same path
+ + merge-ort: copy find_first_merges() implementation from merge-recursive.c
+ + merge-ort: implement format_commit()
+ + merge-ort: copy and adapt merge_submodule() from merge-recursive.c
+ + merge-ort: copy and adapt merge_3way() from merge-recursive.c
+ + merge-ort: flesh out implementation of handle_content_merge()
+ + merge-ort: handle book-keeping around two- and three-way content merge
+ + merge-ort: implement unique_path() helper
+ + merge-ort: handle directory/file conflicts that remain
+ + merge-ort: handle D/F conflict where directory disappears due to merge
+ (this branch is used by en/merge-ort-perf.)
+
+ ORT merge strategy learns more support for merge conflicts.
+
+
+* jk/p5303-sed-portability-fix (2021-01-29) 1 commit
+ (merged to 'next' on 2021-01-31 at 5f2957e738)
+ + p5303: avoid sed GNU-ism
+
+ A perf script was made more portable.
+
+
+* jk/pretty-lazy-load-commit (2021-01-28) 1 commit
+ (merged to 'next' on 2021-02-01 at acf7353a32)
+ + pretty: lazy-load commit data when expanding user-format
+
+ Some pretty-format specifiers do not need the data in commit object
+ (e.g. "%H"), but we were over-eager to load and parse it, which has
+ been made even lazier.
+
+
+* jk/t0000-cleanups (2021-01-28) 4 commits
+ (merged to 'next' on 2021-01-31 at 357f8fe097)
+ + t0000: consistently use single quotes for outer tests
+ + t0000: run cleaning test inside sub-test
+ + t0000: run prereq tests inside sub-test
+ + t0000: keep clean-up tests together
+
+ Code clean-up.
+
+
+* jk/use-oid-pos (2021-01-28) 6 commits
+ (merged to 'next' on 2021-01-31 at 10ccafb739)
+ + oid_pos(): access table through const pointers
+ + hash_pos(): convert to oid_pos()
+ + rerere: use strmap to store rerere directories
+ + rerere: tighten rr-cache dirname check
+ + rerere: check dirname format while iterating rr_cache directory
+ + commit_graft_pos(): take an oid instead of a bare hash
+
+ Code clean-up to ensure our use of hashtables using object names as
+ keys use the "struct object_id" objects, not the raw hash values.
+
+
+* jk/weather-balloon-require-variadic-macro (2021-01-27) 1 commit
+ (merged to 'next' on 2021-01-31 at 8d5207bd85)
+ + git-compat-util: always enable variadic macros
+
+ We've carried compatibility codepaths for compilers without
+ variadic macros for quite some time, but the world may be ready for
+ them to be removed. Force compilation failure on exotic platforms
+ where variadic macros are not available to find out who screams in
+ such a way that we can easily revert if it turns out that the world
+ is not yet ready.
+
+
+* js/rebase-i-commit-cleanup-fix (2021-01-28) 1 commit
+ (merged to 'next' on 2021-01-31 at 358f562e1f)
+ + rebase -i: do leave commit message intact in fixup! chains
+
+ When "git rebase -i" processes "fixup" insn, there is no reason to
+ clean up the commit log message, but we did the usual stripspace
+ processing. This has been corrected.
+
+
+* jv/pack-objects-narrower-ref-iteration (2021-01-22) 1 commit
+ (merged to 'next' on 2021-01-26 at 8a0d178c01)
+ + builtin/pack-objects.c: avoid iterating all refs
+
+ The "pack-objects" command needs to iterate over all the tags when
+ automatic tag following is enabled, but it actually iterated over
+ all refs and then discarded everything outside "refs/tags/"
+ hierarchy, which was quite wasteful.
+
- Documentation for "git fsck" lost stale bits that has become
- incorrect.
+* pb/blame-funcname-range-userdiff (2021-01-30) 1 commit
+ (merged to 'next' on 2021-01-31 at 107d10fe4f)
+ + annotate-tests: quote variable expansions containing path names
+ Test fix.
-* ds/maintenance-prefetch-cleanup (2021-01-20) 2 commits
- (merged to 'next' on 2021-01-26 at 23efa6ebc3)
- + t7900: clean up some broken refs
- + maintenance: set log.excludeDecoration durin prefetch
- Test clean-up plus UI improvement by hiding extra refs that
- the prefetch task uses from "log --decorate" output.
+* pb/ci-matrix-wo-shortcut (2021-01-27) 1 commit
+ (merged to 'next' on 2021-01-31 at 2384693758)
+ + ci: do not cancel all jobs of a matrix if one fails
+ Our setting of GitHub CI test jobs were a bit too eager to give up
+ once there is even one failure found. Tweak the knob to allow
+ other jobs keep running even when we see a failure, so that we can
+ find more failures in a single run.
-* jk/peel-iterated-oid (2021-01-21) 1 commit
- (merged to 'next' on 2021-01-26 at 023758f4ee)
- + refs: switch peel_ref() to peel_iterated_oid()
- The peel_ref() API has been replaced with peel_iterated_oid().
+* ph/use-delete-refs (2021-01-21) 1 commit
+ (merged to 'next' on 2021-01-26 at e03486152e)
+ + use delete_refs when deleting tags or branches
+ When removing many branches and tags, the code used to do so one
+ ref at a time. There is another API it can use to delete multiple
+ refs, and it makes quite a lot of performance difference when the
+ refs are packed.
-* jk/run-command-use-shell-doc (2021-01-22) 1 commit
- (merged to 'next' on 2021-01-26 at f9df80d861)
- + run-command: document use_shell option
- The .use_shell flag in struct child_process that is passed to
- run_command() API has been clarified with a bit more documentation.
+* rs/worktree-list-verbose (2021-01-30) 7 commits
+ (merged to 'next' on 2021-02-01 at b57a6ce4c6)
+ + worktree: teach `list` verbose mode
+ + worktree: teach `list` to annotate prunable worktree
+ + worktree: teach `list --porcelain` to annotate locked worktree
+ + t2402: ensure locked worktree is properly cleaned up
+ + worktree: teach worktree_lock_reason() to gently handle main worktree
+ + worktree: teach worktree to lazy-load "prunable" reason
+ + worktree: libify should_prune_worktree()
+ `git worktree list` now annotates worktrees as prunable, shows
+ locked and prunable attributes in --porcelain mode, and gained
+ a --verbose option.
+ cf. <CAPig+cTt-TyOR8kc6YvBVLpf-bgFdJ+FVYA2NvG_Vvn7tMbBkQ@mail.gmail.com>
-* js/skip-dashed-built-ins-from-config-mak (2021-01-21) 1 commit
- (merged to 'next' on 2021-01-26 at 2d727a37f9)
- + SKIP_DASHED_BUILT_INS: respect `config.mak`
- Build fix.
+* sg/t7800-difftool-robustify (2021-01-09) 1 commit
+ (merged to 'next' on 2021-01-31 at fb72af8200)
+ + t7800-difftool: don't accidentally match tmp dirs
+ Test fix.
-* jt/packfile-as-uri-doc (2021-01-20) 1 commit
- (merged to 'next' on 2021-01-26 at 50500a8982)
- + Doc: clarify contents of packfile sent as URI
- Doc fix for packfile URI feature.
+* sg/test-stress-jobs (2021-01-26) 1 commit
+ (merged to 'next' on 2021-02-01 at 0b7aae84e3)
+ + test-lib: prevent '--stress-jobs=X' from being ignored
+
+ Test framework fix.
+
+
+* so/log-diff-merge (2020-12-21) 32 commits
+ (merged to 'next' on 2021-01-25 at 63977ef287)
+ + t4013: add tests for --diff-merges=first-parent
+ + doc/git-show: include --diff-merges description
+ + doc/rev-list-options: document --first-parent changes merges format
+ + doc/diff-generate-patch: mention new --diff-merges option
+ + doc/git-log: describe new --diff-merges options
+ + diff-merges: add '--diff-merges=1' as synonym for 'first-parent'
+ + diff-merges: add old mnemonic counterparts to --diff-merges
+ + diff-merges: let new options enable diff without -p
+ + diff-merges: do not imply -p for new options
+ + diff-merges: implement new values for --diff-merges
+ + diff-merges: make -m/-c/--cc explicitly mutually exclusive
+ + diff-merges: refactor opt settings into separate functions
+ + diff-merges: get rid of now empty diff_merges_init_revs()
+ + diff-merges: group diff-merge flags next to each other inside 'rev_info'
+ + diff-merges: split 'ignore_merges' field
+ + diff-merges: fix -m to properly override -c/--cc
+ + t4013: add tests for -m failing to override -c/--cc
+ + t4013: support test_expect_failure through ':failure' magic
+ + diff-merges: revise revs->diff flag handling
+ + diff-merges: handle imply -p on -c/--cc logic for log.c
+ + diff-merges: introduce revs->first_parent_merges flag
+ + diff-merges: new function diff_merges_set_dense_combined_if_unset()
+ + diff-merges: new function diff_merges_suppress()
+ + diff-merges: re-arrange functions to match the order they are called in
+ + diff-merges: rename diff_merges_default_to_enable() to match semantics
+ + diff-merges: move checks for first_parent_only out of the module
+ + diff-merges: rename all functions to have common prefix
+ + revision: move diff merges functions to its own diff-merges.c
+ + revision: provide implementation for diff merges tweaks
+ + revision: factor out initialization of diff-merge related settings
+ + revision: factor out setup of diff-merge related settings
+ + revision: factor out parsing of diff-merge related options
+
+ "git log" learned a new "--diff-merges=<how>" option.
+
+
+* tb/ls-refs-optim (2021-01-22) 3 commits
+ (merged to 'next' on 2021-01-26 at 09edbf7d9a)
+ + ls-refs.c: traverse prefixes of disjoint "ref-prefix" sets
+ + ls-refs.c: initialize 'prefixes' before using it
+ + refs: expose 'for_each_fullref_in_prefixes'
+
+ The ls-refs protocol operation has been optimized to narrow the
+ sub-hierarchy of refs/ it walks to produce response.
+
+
+* zh/ls-files-deduplicate (2021-01-23) 3 commits
+ (merged to 'next' on 2021-01-26 at af7522d2cf)
+ + ls-files.c: add --deduplicate option
+ + ls_files.c: consolidate two for loops into one
+ + ls_files.c: bugfix for --deleted and --modified
+
+ "git ls-files" can and does show multiple entries when the index is
+ unmerged, which is a source for confusion unless -s/-u option is in
+ use. A new option --deduplicate has been introduced.
--------------------------------------------------
[New Topics]
-* ab/make-cleanup (2021-02-01) 6 commits
- - Makefile: add {program,xdiff,test,git}-objs & objects targets
- - Makefile: split OBJECTS into OBJECTS and GIT_OBJS
- - Makefile: sort OBJECTS assignment for subsequent change
- - Makefile: split up long OBJECTS line
- - Makefile: guard against TEST_OBJS in the environment
- - Makefile: remove "all" on "$(FUZZ_OBJS)"
+* js/range-diff-one-side-only (2021-02-06) 6 commits
+ (merged to 'next' on 2021-02-08 at 8c35ed8523)
+ + range-diff: offer --left-only/--right-only options
+ + range-diff: move the diffopt initialization down one layer
+ + range-diff: combine all options in a single data structure
+ + range-diff: simplify code spawning `git log`
+ + range-diff: libify the read_patches() function again
+ + range-diff: avoid leaking memory in two error code paths
- Reorganize Makefile to allow building git.o and other essential
- objects without extra stuff needed only for testing.
+ The "git range-diff" command learned "--(left|right)-only" option
+ to show only one side of the compared range.
+ Will merge to 'master'.
-* ds/commit-graph-genno-fix (2021-02-01) 6 commits
- (merged to 'next' on 2021-02-03 at b3a9e11efb)
- + commit-graph: prepare commit graph
- + commit-graph: be extra careful about mixed generations
- + commit-graph: compute generations separately
- + commit-graph: validate layers for generation data
- + commit-graph: always parse before commit_graph_data_at()
- + commit-graph: use repo_parse_commit
- (this branch uses ak/corrected-commit-date; is tangled with ds/chunked-file-api and ds/merge-base-independent.)
- Fix incremental update of commit-graph file around corrected commit
- date data.
+* cm/rebase-i-updates (2021-02-10) 11 commits
+ - doc/rebase -i: fix typo in the documentation of 'fixup' command
+ - t/t3437: fixup the test 'multiple fixup -c opens editor once'
+ - t/t3437: use named commits in the tests
+ - t/t3437: simplify and document the test helpers
+ - t/t3437: check the author date of fixed up commit
+ - t/t3437: remove the dependency of 'expected-message' file from tests
+ - t/t3437: fixup here-docs in the 'setup' test
+ - t/lib-rebase: update the documentation of FAKE_LINES
+ - rebase -i: clarify and fix 'fixup -c' rebase-todo help
+ - sequencer: rename a few functions
+ - sequencer: fixup the datatype of the 'flag' argument
+ (this branch uses cm/rebase-i.)
- Will merge to 'master'.
+ Follow-up fixes to "cm/rebase-i" topic.
+ Will merge to 'next' after waiting for a few more days for comments.
-* jh/simple-ipc (2021-02-01) 13 commits
- - simple-ipc: add Unix domain socket implementation
- - unix-socket: do not call die in unix_stream_connect()
- - unix-socket: add no-chdir option to unix_stream_listen()
- - unix-socket: add options to unix_stream_listen()
- - unix-socket: elimiate static unix_stream_socket() helper function
- - simple-ipc: add t/helper/test-simple-ipc and t0052
- - simple-ipc: add win32 implementation
- - simple-ipc: design documentation for new IPC mechanism
- - pkt-line: accept additional options in read_packetized_to_strbuf()
- - pkt-line: (optionally) libify the packet readers
- - pkt-line: optionally skip the flush packet in write_packetized_from_buf()
- - pkt-line: add write_packetized_from_buf2() that takes scratch buffer
- - pkt-line: promote static buffer in packet_write_gently() to callers
- A simple IPC interface gets introduced to build services like
- fsmonitor on top.
+* cw/pack-vs-bigfilethreashold (2021-02-09) 2 commits
+ - fixup! doc: mention bigFileThreshold for packing
+ - doc: mention bigFileThreshold for packing
+ Doc update.
-* ab/pager-exit-log (2021-02-01) 4 commits
- - pager: properly log pager exit code when signalled
- - run-command: add braces for "if" block in wait_or_whine()
- - pager: test for exit code with and without SIGPIPE
- - pager: refactor wait_for_pager() function
+ Expecting a reroll.
+ cf. <F63929A8-7BC9-43A7-9E7B-118433F62588@gmx.ch>
- When a pager spawned by us exited, the trace log did not record its
- exit status correctly, which has been corrected.
+* ds/maintenance-pack-refs (2021-02-09) 2 commits
+ - maintenance: incremental strategy runs pack-refs weekly
+ - maintenance: add pack-refs task
-* jk/complete-branch-force-delete (2021-02-03) 3 commits
- (merged to 'next' on 2021-02-03 at 6454bb89b5)
- + doc/git-branch: fix awkward wording for "-c"
- + completion: handle other variants of "branch -m"
- + completion: treat "branch -D" the same way as "branch -d"
+ "git maintenance" tool learned a new "pack-refs" maintenance task.
- The command line completion (in contrib/) completed "git branch -d"
- with branch names, but "git branch -D" offered tagnames in addition,
- which has been corrected. "git branch -M" had the same problem.
+ Will merge to 'next' after waiting for a few more days for comments.
+
+
+
+* jk/mailmap-only-at-root (2021-02-10) 1 commit
+ - mailmap: only look for .mailmap in work tree
+
+ The .mailmap is documented to be read only from the root level of a
+ working tree, but a stray file in a bare repository also was read
+ by accident, which has been corrected.
+
+ Will merge to 'next'.
+
+
+* jk/rev-list-disk-usage (2021-02-09) 3 commits
+ - fixup! rev-list: add --disk-usage option for calculating disk usage
+ - rev-list: add --disk-usage option for calculating disk usage
+ - t: add --no-tag option to test_commit
+
+ "git rev-list" command learned "--disk-usage" option.
+
+
+* jt/trace2-BUG (2021-02-09) 1 commit
+ (merged to 'next' on 2021-02-09 at 94911ad676)
+ + usage: trace2 BUG() invocations
+
+ Even though invocations of "die()" were logged to the trace2
+ system, "BUG()"s were not, which has been corrected.
Will merge to 'master'.
-* ta/hash-function-transition-doc (2021-02-02) 6 commits
- - doc: use https links
- - doc hash-function-transition: move rationale upwards
- - doc hash-function-transition: fix incomplete sentence
- - doc hash-function-transition: use upper case consistently
- - doc hash-function-transition: use SHA-1 and SHA-256 consistently
- - doc hash-function-transition: fix asciidoc output
+* mt/checkout-index-corner-cases (2021-02-09) 2 commits
+ - checkout-index: omit entries with no tempname from --temp output
+ - write_entry(): fix misuses of `path` in error messages
- Update formatting and grammar of the hash transition plan
- documentation, plus some updates.
+ The error codepath around the "--temp/--prefix" feature of "git
+ checkout-index" has been improved.
- Except for [5/6] these look good.
+ Expecting additional tests.
---------------------------------------------------
-[Stalled]
-* fc/bash-completion-post-2.29 (2020-12-23) 4 commits
- . completion: bash: add correct suffix in variables
- . completion: bash: fix for multiple dash commands
- . completion: bash: fix for suboptions with value
- . completion: bash: fix prefix detection in branch.*
+* mt/grep-cached-untracked (2021-02-09) 1 commit
+ - grep: error out if --untracked is used with --cached
- Seems to break tests on Windows
+ "git grep --untracked" is meant to be "let's ALSO find in these
+ files on the filesystem" when looking for matches in the working
+ tree files, and does not make any sense if the primary search is
+ done against the index, or the tree objects. The "--cached" and
+ "--untracked" options have been marked as mutually incompatible.
+ Will merge to 'next'.
-* ss/submodule-add-in-c (2020-12-15) 3 commits
- . t7400: add test to check 'submodule add' for tracked paths
- . submodule: port submodule subcommand 'add' from shell to C
- . dir: change the scope of function 'directory_exists_in_index()'
- "git submodule add" being rewritten in C.
+* tb/ci-run-cocci-with-18.04 (2021-02-08) 1 commit
+ (merged to 'next' on 2021-02-09 at c50bc53527)
+ + .github/workflows/main.yml: run static-analysis on bionic
- Expecting a reroll.
- The patches are split incorrectly; part of 1/3 belongs to 2/3
- cf. <nycvar.QRO.7.76.6.2012190104140.56@tvgsbejvaqbjf.bet>
- It seems to introduce a segfault on 'seen'.
- cf. <xmqqft3xflw7.fsf@gitster.c.googlers.com>
+ The version of Ubuntu Linux used by default at GitHub Actions CI
+ has been updated to one that lack coccinelle; until it gets fixed,
+ work it around by sticking to the previous release (18.04).
+ Will merge to 'master'.
-* mt/grep-sparse-checkout (2020-12-06) 10 commits
- - t7817: do not depend on any specific default branch name
- - config: add setting to ignore sparsity patterns in some cmds
- - grep: honor sparse checkout patterns
- - config: correctly read worktree configs in submodules
- - config: make do_git_config_sequence receive a 'struct repository'
- - t/helper/test-config: unify exit labels
- - t/helper/test-config: diagnose missing arguments
- - t/helper/test-config: be consistent with exit codes
- - t1308-config-set: avoid false positives when using test-config
- - doc: grep: unify info on configuration variables
- (this branch is used by mt/rm-sparse-checkout.)
- "git grep" has been tweaked to be limited to the sparse checkout
- paths.
+* ab/test-lib (2021-02-10) 12 commits
+ - test-lib-functions: split out {debug,path,text} helpers
+ - test-lib-functions: assert correct parameter count
+ - test-lib-functions: remove bug-inducing "diagnostics" helper param
+ - test libs: rename "diff-lib" to "lib-diff"
+ - t/.gitattributes: sort lines
+ - test-lib-functions: move function to lib-bitmap.sh
+ - test libs: rename gitweb-lib.sh to lib-gitweb.sh
+ - test libs: rename bundle helper to "lib-bundle.sh"
+ - test-lib-functions: remove generate_zero_bytes() wrapper
+ - test-lib-functions: move test_set_index_version() to its user
+ - test lib: change "error" to "BUG" as appropriate
+ - test-lib: remove check_var_migration
- Break out and fast-track bugfix from the remainder of the topic.
- cf. <CABPp-BFkACtF6LHkFJNt9dTOmwfQbf8ZO=BTrPYwPSmbqc9+hg@mail.gmail.com>
+ Test framework clean-up.
-* mt/rm-sparse-checkout (2020-12-08) 1 commit
- - rm: honor sparse checkout patterns
- (this branch uses mt/grep-sparse-checkout.)
+* dl/stash-cleanup (2021-02-09) 7 commits
+ - stash: declare ref_stash as an array
+ - t3905: use test_cmp() to check file contents
+ - t3905: replace test -s with test_file_not_empty
+ - t3905: remove nested git in command substitution
+ - t3905: move all commands into test cases
+ - t3905: remove spaces after redirect operators
+ - git-stash.txt: be explicit about subcommand options
- "git rm" follows suit to "git grep" to ignore paths outside the
- sparsity pattern when the sparse checkout feature is in use.
+ Documentation, code and test clean-up around "git stash".
+
+ Will merge to 'next' and to 'master' soonish.
+ This is an early part of a topic that added a new feature to the
+ command, but the implementation is expected to need a handful of
+ iterations; I split the preparatory part up to fast-track it.
- Need to wait for how these fit in larger picture.
- cf. <CABPp-BGMX3wb7LiS1HkJpGveoW3J1oR0vVHbKTF5+qYLRF+59g@mail.gmail.com>
- cf. <CABPp-BFkACtF6LHkFJNt9dTOmwfQbf8ZO=BTrPYwPSmbqc9+hg@mail.gmail.com>
+* ew/rev-parse-since-test (2021-02-10) 1 commit
+ - t1500: ensure current --since= behavior remains
+
+ Test to make sure "git rev-parse one-thing one-thing" gives
+ the same thing twice (when one-thing is --since=X).
+
+ Will merge to 'next'.
+
+
+* js/fsck-name-objects-fix (2021-02-10) 2 commits
+ - fsck --name-objects: be more careful parsing generation numbers
+ - t1450: robustify `remove_object()`
+
+ Fix "git fsck --name-objects" which apparently has not been used by
+ anybody who is motivated enough to report breakage.
+
+ Will merge to 'next'.
+
+--------------------------------------------------
+[Stalled]
* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
- docs: document symlink restrictions for .git* files
@@ -276,25 +524,6 @@ Release tarballs are available at:
cf. <CAM4o00eefXK2CJ_FxwwVPpBKL01JsJANf+SdjCtw_0NVV82L+Q@mail.gmail.com>
-* sv/t7001-modernize (2020-09-25) 11 commits
- - t7001: move cleanup code from outside the tests into them
- - t7001: use `test` rather than `[`
- - t7001: use here-docs instead of echo
- - t7001: put each command on a separate line
- - t7001: use ': >' rather than 'touch'
- - t7001: change (cd <path> && git foo) to (git -C <path> foo)
- - t7001: remove whitespace after redirect operators
- - t7001: change the style for cd according to subshell
- - t7001: remove unnecessary blank lines
- - t7001: use TAB instead of spaces
- - t7001: convert tests from the old style to the current style
-
- Test script modernization.
-
- Expecting a reroll.
- cf. <20200925170256.11490-1-shubhunic@gmail.com>
-
-
* ar/fetch-transfer-ipversion (2020-09-16) 1 commit
- config: option transfer.ipversion to set transport protocol version for network fetches
@@ -344,26 +573,116 @@ Release tarballs are available at:
--------------------------------------------------
[Cooking]
-* sg/t7800-difftool-robustify (2021-01-09) 1 commit
- (merged to 'next' on 2021-01-31 at fb72af8200)
- + t7800-difftool: don't accidentally match tmp dirs
+* sv/t7001-modernize (2021-02-09) 10 commits
+ - t7001: use `test` rather than `[`
+ - t7001: use here-docs instead of echo
+ - t7001: put each command on a separate line
+ - t7001: use '>' rather than 'touch'
+ - t7001: avoid using `cd` outside of subshells
+ - t7001: remove whitespace after redirect operators
+ - t7001: modernize subshell formatting
+ - t7001: remove unnecessary blank lines
+ - t7001: indent with TABs instead of spaces
+ - t7001: modernize test formatting
+
+ Test script modernization.
+
+
+* mt/grep-sparse-checkout (2021-02-09) 1 commit
+ - grep: honor sparse-checkout on working tree searches
+
+ "git grep" has been tweaked to be limited to the sparse checkout
+ paths.
+
+ Break out and fast-track bugfix from the remainder of the topic.
+ cf. <CABPp-BFkACtF6LHkFJNt9dTOmwfQbf8ZO=BTrPYwPSmbqc9+hg@mail.gmail.com>
+
+
+* ab/make-cleanup (2021-02-01) 6 commits
+ - Makefile: add {program,xdiff,test,git}-objs & objects targets
+ - Makefile: split OBJECTS into OBJECTS and GIT_OBJS
+ - Makefile: sort OBJECTS assignment for subsequent change
+ - Makefile: split up long OBJECTS line
+ - Makefile: guard against TEST_OBJS in the environment
+ - Makefile: remove "all" on "$(FUZZ_OBJS)"
+
+ Reorganize Makefile to allow building git.o and other essential
+ objects without extra stuff needed only for testing.
- Test fix.
+
+* ds/commit-graph-genno-fix (2021-02-01) 6 commits
+ (merged to 'next' on 2021-02-03 at b3a9e11efb)
+ + commit-graph: prepare commit graph
+ + commit-graph: be extra careful about mixed generations
+ + commit-graph: compute generations separately
+ + commit-graph: validate layers for generation data
+ + commit-graph: always parse before commit_graph_data_at()
+ + commit-graph: use repo_parse_commit
+ (this branch uses ak/corrected-commit-date; is tangled with ds/chunked-file-api and ds/merge-base-independent.)
+
+ Fix incremental update of commit-graph file around corrected commit
+ date data.
Will merge to 'master'.
-* ab/lose-grep-debug (2021-01-26) 1 commit
- (merged to 'next' on 2021-01-31 at 9b7548efce)
- + grep/log: remove hidden --debug and --grep-debug options
+* jh/simple-ipc (2021-02-01) 13 commits
+ - simple-ipc: add Unix domain socket implementation
+ - unix-socket: do not call die in unix_stream_connect()
+ - unix-socket: add no-chdir option to unix_stream_listen()
+ - unix-socket: add options to unix_stream_listen()
+ - unix-socket: elimiate static unix_stream_socket() helper function
+ - simple-ipc: add t/helper/test-simple-ipc and t0052
+ - simple-ipc: add win32 implementation
+ - simple-ipc: design documentation for new IPC mechanism
+ - pkt-line: accept additional options in read_packetized_to_strbuf()
+ - pkt-line: (optionally) libify the packet readers
+ - pkt-line: optionally skip the flush packet in write_packetized_from_buf()
+ - pkt-line: add write_packetized_from_buf2() that takes scratch buffer
+ - pkt-line: promote static buffer in packet_write_gently() to callers
- Lose the debugging aid that may have been useful in the past, but
- no longer is, in the "grep" codepaths.
+ A simple IPC interface gets introduced to build services like
+ fsmonitor on top.
+
+
+* ab/pager-exit-log (2021-02-01) 4 commits
+ - pager: properly log pager exit code when signalled
+ - run-command: add braces for "if" block in wait_or_whine()
+ - pager: test for exit code with and without SIGPIPE
+ - pager: refactor wait_for_pager() function
+
+ When a pager spawned by us exited, the trace log did not record its
+ exit status correctly, which has been corrected.
+
+
+* jk/complete-branch-force-delete (2021-02-03) 3 commits
+ (merged to 'next' on 2021-02-03 at 6454bb89b5)
+ + doc/git-branch: fix awkward wording for "-c"
+ + completion: handle other variants of "branch -m"
+ + completion: treat "branch -D" the same way as "branch -d"
+
+ The command line completion (in contrib/) completed "git branch -d"
+ with branch names, but "git branch -D" offered tagnames in addition,
+ which has been corrected. "git branch -M" had the same problem.
Will merge to 'master'.
-* ds/chunked-file-api (2021-01-27) 17 commits
+* ta/hash-function-transition-doc (2021-02-05) 6 commits
+ - doc: use https links
+ - doc hash-function-transition: move rationale upwards
+ - doc hash-function-transition: fix incomplete sentence
+ - doc hash-function-transition: use upper case consistently
+ - doc hash-function-transition: use SHA-1 and SHA-256 consistently
+ - doc hash-function-transition: fix asciidoc output
+
+ Update formatting and grammar of the hash transition plan
+ documentation, plus some updates.
+
+ Will merge to 'next' after waiting for comments for a few days.
+
+
+* ds/chunked-file-api (2021-02-05) 17 commits
- chunk-format: add technical docs
- chunk-format: restore duplicate chunk checks
- midx: use 64-bit multiplication for chunk sizes
@@ -383,6 +702,12 @@ Release tarballs are available at:
- commit-graph: anonymize data in chunk_write_fn
(this branch uses ak/corrected-commit-date; is tangled with ds/commit-graph-genno-fix and ds/merge-base-independent.)
+ The common code to deal with "chunked file format" that is shared
+ by the multi-pack-index and commit-graph files have been factored
+ out, to help codepaths for both filetypes to become more rebust.
+
+ Will merge to 'next' after waiting for a few days.
+
* ds/merge-base-independent (2021-02-01) 5 commits
- commit-reach: stale commits may prune generation further
@@ -396,82 +721,7 @@ Release tarballs are available at:
done and was kept from the very beginning of the feature.
-* jk/pretty-lazy-load-commit (2021-01-28) 1 commit
- (merged to 'next' on 2021-02-01 at acf7353a32)
- + pretty: lazy-load commit data when expanding user-format
-
- Some pretty-format specifiers do not need the data in commit object
- (e.g. "%H"), but we were over-eager to load and parse it, which has
- been made even lazier.
-
- Will merge to 'master'.
-
-
-* jk/t0000-cleanups (2021-01-28) 4 commits
- (merged to 'next' on 2021-01-31 at 357f8fe097)
- + t0000: consistently use single quotes for outer tests
- + t0000: run cleaning test inside sub-test
- + t0000: run prereq tests inside sub-test
- + t0000: keep clean-up tests together
-
- Code clean-up.
-
- Will merge to 'master'.
-
-
-* jk/use-oid-pos (2021-01-28) 6 commits
- (merged to 'next' on 2021-01-31 at 10ccafb739)
- + oid_pos(): access table through const pointers
- + hash_pos(): convert to oid_pos()
- + rerere: use strmap to store rerere directories
- + rerere: tighten rr-cache dirname check
- + rerere: check dirname format while iterating rr_cache directory
- + commit_graft_pos(): take an oid instead of a bare hash
-
- Code clean-up to ensure our use of hashtables using object names as
- keys use the "struct object_id" objects, not the raw hash values.
-
- Will merge to 'master'.
-
-
-* jk/weather-balloon-require-variadic-macro (2021-01-27) 1 commit
- (merged to 'next' on 2021-01-31 at 8d5207bd85)
- + git-compat-util: always enable variadic macros
-
- We've carried compatibility codepaths for compilers without
- variadic macros for quite some time, but the world may be ready for
- them to be removed. Force compilation failure on exotic platforms
- where variadic macros are not available to find out who screams in
- such a way that we can easily revert if it turns out that the world
- is not yet ready.
-
- Will merge to 'master'.
-
-
-* pb/ci-matrix-wo-shortcut (2021-01-27) 1 commit
- (merged to 'next' on 2021-01-31 at 2384693758)
- + ci: do not cancel all jobs of a matrix if one fails
-
- Our setting of GitHub CI test jobs were a bit too eager to give up
- once there is even one failure found. Tweak the knob to allow
- other jobs keep running even when we see a failure, so that we can
- find more failures in a single run.
-
- Will merge to 'master'.
-
-
-* sg/test-stress-jobs (2021-01-26) 1 commit
- (merged to 'next' on 2021-02-01 at 0b7aae84e3)
- + test-lib: prevent '--stress-jobs=X' from being ignored
-
- Test framework fix.
-
- Will merge to 'master'.
-
-
-* hv/trailer-formatting (2021-01-30) 5 commits
- - SQUASH???
- - SQUASH: fix sparse error
+* hv/trailer-formatting (2021-02-06) 3 commits
- ref-filter: use pretty.c logic for trailers
- pretty.c: capture invalid trailer argument
- pretty.c: refactor trailer logic to `format_set_trailers_options()`
@@ -480,43 +730,25 @@ Release tarballs are available at:
"--format=" mechanisms in the "log" family and "for-each-ref"
family is getting unified.
- Expecting further work.
-
-
-* jk/p5303-sed-portability-fix (2021-01-29) 1 commit
- (merged to 'next' on 2021-01-31 at 5f2957e738)
- + p5303: avoid sed GNU-ism
-
- A perf script was made more portable.
-
- Will merge to 'master'.
-
+ Ready for 'next'?
-* pb/blame-funcname-range-userdiff (2021-01-30) 1 commit
- (merged to 'next' on 2021-01-31 at 107d10fe4f)
- + annotate-tests: quote variable expansions containing path names
-
- Test fix.
-
- Will merge to 'master'.
-
-* sh/mergetool-hideresolved (2021-01-29) 3 commits
- - mergetool: add per-tool support and overrides for the hideResolved flag
- - mergetool: break setup_tool out into separate initialization function
- - mergetool: add hideResolved configuration
+* sh/mergetool-hideresolved (2021-02-09) 3 commits
+ (merged to 'next' on 2021-02-09 at c3ed19b2ec)
+ + mergetool: add per-tool support and overrides for the hideResolved flag
+ + mergetool: break setup_tool out into separate initialization function
+ + mergetool: add hideResolved configuration
"git mergetool" feeds three versions (base, local and remote) of
a conflicted path unmodified. The command learned to optionally
prepare these files with unconflicted parts already resolved.
- Getting there.
-
- The interaction between configuration variables look somewhat iffy.
+ Will merge to 'master'.
* tb/precompose-prefix-too (2021-02-03) 1 commit
- - MacOS: precompose_argv_prefix()
+ (merged to 'next' on 2021-02-05 at 1dd43136b1)
+ + MacOS: precompose_argv_prefix()
When commands are started from a subdirectory, they may have to
compare the path to the subdirectory (called prefix and found out
@@ -526,7 +758,7 @@ Release tarballs are available at:
has been fixed by taking the same approach used to normalize the
command line arguments.
- Will merge to 'next'.
+ Will merge to 'master'.
* cm/rebase-i (2021-01-29) 9 commits
@@ -540,80 +772,28 @@ Release tarballs are available at:
+ rebase -i: comment out squash!/fixup! subjects from squash message
+ sequencer: factor out code to append squash message
+ rebase -i: only write fixup-message when it's needed
+ (this branch is used by cm/rebase-i-updates.)
"rebase -i" is getting cleaned up and also enhanced.
- Will merge to 'master'.
-
+ Will cook in 'next' while waiting for the 'updates' topic.
-* ds/more-index-cleanups (2021-01-23) 9 commits
- (merged to 'next' on 2021-02-01 at bcdfa11e73)
- + t1092: test interesting sparse-checkout scenarios
- + test-lib: test_region looks for trace2 regions
- + sparse-checkout: load sparse-checkout patterns
- + name-hash: use trace2 regions for init
- + repository: add repo reference to index_state
- + fsmonitor: de-duplicate BUG()s around dirty bits
- + cache-tree: extract subtree_pos()
- + cache-tree: simplify verify_cache() prototype
- + cache-tree: clean up cache_tree_update()
- (this branch uses ds/cache-tree-basics.)
- Cleaning various codepaths up.
-
- Will merge to 'master'.
-
-
-* rs/worktree-list-verbose (2021-01-30) 7 commits
- (merged to 'next' on 2021-02-01 at b57a6ce4c6)
- + worktree: teach `list` verbose mode
- + worktree: teach `list` to annotate prunable worktree
- + worktree: teach `list --porcelain` to annotate locked worktree
- + t2402: ensure locked worktree is properly cleaned up
- + worktree: teach worktree_lock_reason() to gently handle main worktree
- + worktree: teach worktree to lazy-load "prunable" reason
- + worktree: libify should_prune_worktree()
-
- `git worktree list` now annotates worktrees as prunable, shows
- locked and prunable attributes in --porcelain mode, and gained
- a --verbose option.
-
- Will merge to 'master'.
- cf. <CAPig+cTt-TyOR8kc6YvBVLpf-bgFdJ+FVYA2NvG_Vvn7tMbBkQ@mail.gmail.com>
-
-
-* tb/geometric-repack (2021-01-20) 10 commits
- . builtin/repack.c: add '--geometric' option
- . builtin/repack.c: extract loose object handling
- . builtin/pack-objects.c: teach '--keep-pack-stdin'
- . packfile: add kept-pack cache for find_kept_pack_entry()
- . pack-objects: rewrite honor-pack-keep logic
- . p5303: measure time to repack with keep
- . p5303: add missing &&-chains
- . builtin/pack-objects.c: learn '--assume-kept-packs-closed'
- . revision: learn '--no-kept-objects'
- . packfile: introduce 'find_kept_pack_entry()'
+* tb/geometric-repack (2021-02-03) 8 commits
+ - builtin/repack.c: add '--geometric' option
+ - packfile: add kept-pack cache for find_kept_pack_entry()
+ - builtin/pack-objects.c: rewrite honor-pack-keep logic
+ - p5303: measure time to repack with keep
+ - p5303: add missing &&-chains
+ - builtin/pack-objects.c: add '--stdin-packs' option
+ - revision: learn '--no-kept-objects'
+ - packfile: introduce 'find_kept_pack_entry()'
"git repack" so far has been only capable of repacking everything
under the sun into a single pack (or split by size). A cleverer
strategy to reduce the cost of repacking a repository has been
introduced.
- Expecting further work.
-
-
-* zh/ls-files-deduplicate (2021-01-23) 3 commits
- (merged to 'next' on 2021-01-26 at af7522d2cf)
- + ls-files.c: add --deduplicate option
- + ls_files.c: consolidate two for loops into one
- + ls_files.c: bugfix for --deleted and --modified
-
- "git ls-files" can and does show multiple entries when the index is
- unmerged, which is a source for confusion unless -s/-u option is in
- use. A new option --deduplicate has been introduced.
-
- Will merge to 'master'.
-
* ah/rebase-no-fork-point-config (2021-01-21) 1 commit
- rebase: add a config option for --no-fork-point
@@ -626,17 +806,17 @@ Release tarballs are available at:
cf. <CAMMLpeTDNLUz9UVnL3aVK=J7X50Sq8L-OVGaoEsT5AY6EQON-g@mail.gmail.com>
-* js/range-diff-wo-dotdot (2021-01-27) 3 commits
- - range-diff(docs): explain how to specify commit ranges
- - range-diff/format-patch: handle commit ranges other than A..B
- - range-diff/format-patch: refactor check for commit range
+* js/range-diff-wo-dotdot (2021-02-06) 3 commits
+ (merged to 'next' on 2021-02-08 at 9ae8b46d99)
+ + range-diff(docs): explain how to specify commit ranges
+ + range-diff/format-patch: handle commit ranges other than A..B
+ + range-diff/format-patch: refactor check for commit range
There are other ways than ".." for a single token to denote a
"commit range", namely "<rev>^!" and "<rev>^-<n>", but "git
range-diff" did not understand them.
- Getting there.
- cf. <pull.841.v3.git.1611765444.gitgitgadget@gmail.com>
+ Will merge to 'master'.
* jx/t5411-unique-filenames (2021-01-22) 2 commits
@@ -647,50 +827,6 @@ Release tarballs are available at:
by forcing them to use separate output files during the test.
-* ph/use-delete-refs (2021-01-21) 1 commit
- (merged to 'next' on 2021-01-26 at e03486152e)
- + use delete_refs when deleting tags or branches
-
- When removing many branches and tags, the code used to do so one
- ref at a time. There is another API it can use to delete multiple
- refs, and it makes quite a lot of performance difference when the
- refs are packed.
-
- Will merge to 'master'.
-
-
-* tb/ls-refs-optim (2021-01-22) 3 commits
- (merged to 'next' on 2021-01-26 at 09edbf7d9a)
- + ls-refs.c: traverse prefixes of disjoint "ref-prefix" sets
- + ls-refs.c: initialize 'prefixes' before using it
- + refs: expose 'for_each_fullref_in_prefixes'
-
- The ls-refs protocol operation has been optimized to narrow the
- sub-hierarchy of refs/ it walks to produce response.
-
- Will merge to 'master'.
-
-
-* ab/grep-pcre-invalid-utf8 (2021-01-24) 2 commits
- (merged to 'next' on 2021-02-01 at 60be521876)
- + grep/pcre2: better support invalid UTF-8 haystacks
- + grep/pcre2 tests: don't rely on invalid UTF-8 data test
-
- Update support for invalid UTF-8 in PCRE2.
-
- Will merge to 'master'.
-
-
-* ab/retire-pcre1 (2021-01-23) 2 commits
- (merged to 'next' on 2021-02-01 at 532a0a8228)
- + Remove support for v1 of the PCRE library
- + config.mak.uname: remove redundant NO_LIBPCRE1_JIT flag
-
- The support for deprecated PCRE1 library has been dropped.
-
- Will merge to 'master'.
-
-
* jt/transfer-fsck-across-packs (2021-01-25) 5 commits
- SQUASH??? test fix
- fetch-pack: print and use dangling .gitmodules
@@ -709,18 +845,6 @@ Release tarballs are available at:
"fetch-pack" process.
-* jv/pack-objects-narrower-ref-iteration (2021-01-22) 1 commit
- (merged to 'next' on 2021-01-26 at 8a0d178c01)
- + builtin/pack-objects.c: avoid iterating all refs
-
- The "pack-objects" command needs to iterate over all the tags when
- automatic tag following is enabled, but it actually iterated over
- all refs and then discarded everything outside "refs/tags/"
- hierarchy, which was quite wasteful.
-
- Will merge to 'master'.
-
-
* jv/upload-pack-filter-spec-quotefix (2021-02-02) 2 commits
(merged to 'next' on 2021-02-03 at 2e34f74e3a)
+ t5544: clarify 'hook works with partial clone' test
@@ -779,19 +903,8 @@ Release tarballs are available at:
Will merge to 'master'.
-* ab/detox-gettext-tests (2021-01-21) 3 commits
- (merged to 'next' on 2021-02-01 at 5573b4913c)
- + tests: remove uses of GIT_TEST_GETTEXT_POISON=false
- + tests: remove support for GIT_TEST_GETTEXT_POISON
- + ci: remove GETTEXT_POISON jobs
-
- Get rid of "GETTEXT_POISON" support altogether, which may or may
- not be controversial.
-
- Will merge to 'master'.
-
-
-* bc/signed-objects-with-both-hashes (2021-01-18) 6 commits
+* bc/signed-objects-with-both-hashes (2021-02-09) 7 commits
+ - SQUASH???
- gpg-interface: remove other signature headers before verifying
- ref-filter: hoist signature parsing
- commit: allow parsing arbitrary buffers with headers
@@ -806,17 +919,6 @@ Release tarballs are available at:
Looking good.
-* js/rebase-i-commit-cleanup-fix (2021-01-28) 1 commit
- (merged to 'next' on 2021-01-31 at 358f562e1f)
- + rebase -i: do leave commit message intact in fixup! chains
-
- When "git rebase -i" processes "fixup" insn, there is no reason to
- clean up the commit log message, but we did the usual stripspace
- processing. This has been corrected.
-
- Will merge to 'master'.
-
-
* tb/pack-revindex-on-disk (2021-01-28) 10 commits
(merged to 'next' on 2021-02-01 at bd6a780213)
+ t5325: check both on-disk and in-memory reverse index
@@ -844,52 +946,13 @@ Release tarballs are available at:
+ Merge branch 'en/ort-directory-rename' into en/merge-ort-perf
+ Merge branch 'en/ort-conflict-handling' into en/merge-ort-perf
+ Merge branch 'en/diffcore-rename' into en/merge-ort-perf
- (this branch uses en/ort-conflict-handling and en/ort-directory-rename.)
+ (this branch uses en/ort-directory-rename.)
The "ort" merge strategy.
Will merge to 'master'.
-* ds/cache-tree-basics (2021-01-15) 10 commits
- (merged to 'next' on 2021-01-25 at 29ee74df7b)
- + cache-tree: speed up consecutive path comparisons
- + cache-tree: use ce_namelen() instead of strlen()
- + index-format: discuss recursion of cache-tree better
- + index-format: update preamble to cache tree extension
- + index-format: use 'cache tree' over 'cached tree'
- + cache-tree: trace regions for prime_cache_tree
- + cache-tree: trace regions for I/O
- + cache-tree: use trace2 in cache_tree_update()
- + unpack-trees: add trace2 regions
- + tree-walk: report recursion counts
- (this branch is used by ds/more-index-cleanups.)
-
- Document, clean-up and optimize the code around the cache-tree
- extension in the index.
-
- Will merge to 'master'.
-
-
-* en/ort-conflict-handling (2021-01-04) 10 commits
- (merged to 'next' on 2021-01-25 at 369c1516c4)
- + merge-ort: add handling for different types of files at same path
- + merge-ort: copy find_first_merges() implementation from merge-recursive.c
- + merge-ort: implement format_commit()
- + merge-ort: copy and adapt merge_submodule() from merge-recursive.c
- + merge-ort: copy and adapt merge_3way() from merge-recursive.c
- + merge-ort: flesh out implementation of handle_content_merge()
- + merge-ort: handle book-keeping around two- and three-way content merge
- + merge-ort: implement unique_path() helper
- + merge-ort: handle directory/file conflicts that remain
- + merge-ort: handle D/F conflict where directory disappears due to merge
- (this branch is used by en/merge-ort-perf.)
-
- ORT merge strategy learns more support for merge conflicts.
-
- Will merge to 'master'.
-
-
* ak/corrected-commit-date (2021-01-18) 11 commits
(merged to 'next' on 2021-01-26 at deae33ec7d)
+ doc: add corrected commit date info
@@ -908,34 +971,36 @@ Release tarballs are available at:
The commit-graph learned to use corrected commit dates instead of
the generation number to help topological revision traversal.
- Will merge to 'master'.
+ Will merge to 'master' together with ds/commit-graph-genno-fix.
* mr/bisect-in-c-4 (2021-02-03) 7 commits
- - bisect--helper: retire `--check-and-set-terms` subcommand
- - bisect--helper: reimplement `bisect_skip` shell function in C
- - bisect--helper: retire `--bisect-auto-next` subcommand
- - bisect--helper: use `res` instead of return in BISECT_RESET case option
- - bisect--helper: retire `--bisect-write` subcommand
- - bisect--helper: reimplement `bisect_replay` shell function in C
- - bisect--helper: reimplement `bisect_log` shell function in C
+ (merged to 'next' on 2021-02-05 at ea18026619)
+ + bisect--helper: retire `--check-and-set-terms` subcommand
+ + bisect--helper: reimplement `bisect_skip` shell function in C
+ + bisect--helper: retire `--bisect-auto-next` subcommand
+ + bisect--helper: use `res` instead of return in BISECT_RESET case option
+ + bisect--helper: retire `--bisect-write` subcommand
+ + bisect--helper: reimplement `bisect_replay` shell function in C
+ + bisect--helper: reimplement `bisect_log` shell function in C
Piecemeal of rewrite of "git bisect" in C continues.
- Will merge to 'next'.
+ Will merge to 'master'.
-* jt/clone-unborn-head (2021-02-01) 3 commits
- - clone: respect remote unborn HEAD
- - connect, transport: encapsulate arg in struct
- - ls-refs: report unborn targets of symrefs
+* jt/clone-unborn-head (2021-02-05) 3 commits
+ (merged to 'next' on 2021-02-08 at 3ba9f80e7f)
+ + clone: respect remote unborn HEAD
+ + connect, transport: encapsulate arg in struct
+ + ls-refs: report unborn targets of symrefs
"git clone" tries to locally check out the branch pointed at by
HEAD of the remote repository after it is done, but the protocol
did not convey the information necessary to do so when copying an
empty repository. The protocol v2 learned how to do so.
- Looking good, modulo some minor documentation nits.
+ Will merge to 'master'.
* mt/parallel-checkout-part-1 (2020-12-16) 9 commits
@@ -954,46 +1019,6 @@ Release tarballs are available at:
Looking good.
-* so/log-diff-merge (2020-12-21) 32 commits
- (merged to 'next' on 2021-01-25 at 63977ef287)
- + t4013: add tests for --diff-merges=first-parent
- + doc/git-show: include --diff-merges description
- + doc/rev-list-options: document --first-parent changes merges format
- + doc/diff-generate-patch: mention new --diff-merges option
- + doc/git-log: describe new --diff-merges options
- + diff-merges: add '--diff-merges=1' as synonym for 'first-parent'
- + diff-merges: add old mnemonic counterparts to --diff-merges
- + diff-merges: let new options enable diff without -p
- + diff-merges: do not imply -p for new options
- + diff-merges: implement new values for --diff-merges
- + diff-merges: make -m/-c/--cc explicitly mutually exclusive
- + diff-merges: refactor opt settings into separate functions
- + diff-merges: get rid of now empty diff_merges_init_revs()
- + diff-merges: group diff-merge flags next to each other inside 'rev_info'
- + diff-merges: split 'ignore_merges' field
- + diff-merges: fix -m to properly override -c/--cc
- + t4013: add tests for -m failing to override -c/--cc
- + t4013: support test_expect_failure through ':failure' magic
- + diff-merges: revise revs->diff flag handling
- + diff-merges: handle imply -p on -c/--cc logic for log.c
- + diff-merges: introduce revs->first_parent_merges flag
- + diff-merges: new function diff_merges_set_dense_combined_if_unset()
- + diff-merges: new function diff_merges_suppress()
- + diff-merges: re-arrange functions to match the order they are called in
- + diff-merges: rename diff_merges_default_to_enable() to match semantics
- + diff-merges: move checks for first_parent_only out of the module
- + diff-merges: rename all functions to have common prefix
- + revision: move diff merges functions to its own diff-merges.c
- + revision: provide implementation for diff merges tweaks
- + revision: factor out initialization of diff-merge related settings
- + revision: factor out setup of diff-merge related settings
- + revision: factor out parsing of diff-merge related options
-
- "git log" learned a new "--diff-merges=<how>" option.
-
- Will merge to 'master'.
-
-
* es/config-hooks (2020-12-21) 34 commits
- run-command: stop thinking about hooks
- receive-pack: convert receive hooks to hook.h
@@ -1098,3 +1123,47 @@ Release tarballs are available at:
prepare these files with unconflicted parts already resolved.
Superseded by the sh/mergetool-hideresolved topic.
+
+
+* mt/rm-sparse-checkout (2020-12-08) 11 commits
+ . rm: honor sparse checkout patterns
+ . t7817: do not depend on any specific default branch name
+ . config: add setting to ignore sparsity patterns in some cmds
+ . grep: honor sparse checkout patterns
+ . config: correctly read worktree configs in submodules
+ . config: make do_git_config_sequence receive a 'struct repository'
+ . t/helper/test-config: unify exit labels
+ . t/helper/test-config: diagnose missing arguments
+ . t/helper/test-config: be consistent with exit codes
+ . t1308-config-set: avoid false positives when using test-config
+ . doc: grep: unify info on configuration variables
+
+ "git rm" follows suit to "git grep" to ignore paths outside the
+ sparsity pattern when the sparse checkout feature is in use.
+
+ Discarded for now, as it depends on an old iteration of
+ mt/grep-sparse-checkout topic.
+
+
+* fc/bash-completion-post-2.29 (2020-12-23) 4 commits
+ . completion: bash: add correct suffix in variables
+ . completion: bash: fix for multiple dash commands
+ . completion: bash: fix for suboptions with value
+ . completion: bash: fix prefix detection in branch.*
+
+ Stalled for too long with breakage.
+ Seems to break tests on Windows
+
+
+* ss/submodule-add-in-c (2020-12-15) 3 commits
+ . t7400: add test to check 'submodule add' for tracked paths
+ . submodule: port submodule subcommand 'add' from shell to C
+ . dir: change the scope of function 'directory_exists_in_index()'
+
+ "git submodule add" being rewritten in C.
+
+ Stalled for too long with breakage.
+ The patches are split incorrectly; part of 1/3 belongs to 2/3
+ cf. <nycvar.QRO.7.76.6.2012190104140.56@tvgsbejvaqbjf.bet>
+ It seems to introduce a segfault on 'seen'.
+ cf. <xmqqft3xflw7.fsf@gitster.c.googlers.com>