To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Nov 2020, #04; Thu, 19)
-X-master-at: faefdd61ec7c7f6f3c8c9907891465ac9a2a1475
-X-next-at: 04529851e543a22b6ba47fbb72737de4c325bb07
+Subject: What's cooking in git.git (Nov 2020, #05; Wed, 25)
+X-master-at: e67fbf927dfdf13d0b21dc6ea15dc3c7ef448ea0
+X-next-at: a3fc446d84ab72dffeba6e9dfb89723fd0545d16
-What's cooking in git.git (Nov 2020, #04; Thu, 19)
+What's cooking in git.git (Nov 2020, #05; Wed, 25)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with '-' are
with '+' are in 'next'. The ones marked with '.' do not appear in any of
the integration branches, but I am still holding onto them.
-The sixth batch of topics are in 'master' and the tests are being
-prepared not to be disrupted by a potential change of the default
-name for the initial branch.
+The number of topics merged for the next release since Git 2.29 has
+just passed 100 after the 8th batch of them have graduated.
Copies of the source code to Git live in many repositories, and the
following is a list of the ones I push into. Some repositories have
--------------------------------------------------
[Graduated to 'master']
-* ds/maintenance-part-3 (2020-10-16) 8 commits
- (merged to 'next' on 2020-11-10 at fe9475c696)
- + maintenance: add troubleshooting guide to docs
- + maintenance: use 'incremental' strategy by default
- + maintenance: create maintenance.strategy config
- + maintenance: add start/stop subcommands
- + maintenance: add [un]register subcommands
- + for-each-repo: run subcommands on configured repos
- + maintenance: add --schedule option and config
- + maintenance: optionally skip --auto process
- (this branch is used by ds/maintenance-part-4.)
-
- Parts of "git maintenance" to ease writing crontab entries (and
- other scheduling system configuration) for it.
-
-
-* dd/upload-pack-stateless-eof (2020-10-30) 1 commit
- (merged to 'next' on 2020-11-09 at 01a1f1d4fd)
- + upload-pack: allow stateless client EOF just prior to haves
+* ab/config-mak-uname-simplify (2020-11-11) 2 commits
+ (merged to 'next' on 2020-11-12 at e1bd51ee71)
+ + config.mak.uname: remove unused NEEDS_SSL_WITH_CURL flag
+ + config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag
- "git fetch --depth=<n>" over the stateless RPC / smart HTTP
- transport handled EOF from the client poorly at the server end.
+ Build configuration cleanup.
-* dg/bswap-msvc (2020-11-11) 2 commits
- (merged to 'next' on 2020-11-11 at 6b9e819b17)
- + compat/bswap.h: don't assume MSVC is little-endian
- (merged to 'next' on 2020-11-09 at 91a67b86f7)
- + compat/bswap.h: simplify MSVC endianness detection
+* en/strmap (2020-11-11) 15 commits
+ (merged to 'next' on 2020-11-12 at 41519a5f5c)
+ + shortlog: use strset from strmap.h
+ + Use new HASHMAP_INIT macro to simplify hashmap initialization
+ + strmap: take advantage of FLEXPTR_ALLOC_STR when relevant
+ + strmap: enable allocations to come from a mem_pool
+ + strmap: add a strset sub-type
+ + strmap: split create_entry() out of strmap_put()
+ + strmap: add functions facilitating use as a string->int map
+ + strmap: enable faster clearing and reusing of strmaps
+ + strmap: add more utility functions
+ + strmap: new utility functions
+ + hashmap: provide deallocation function names
+ + hashmap: introduce a new hashmap_partial_clear()
+ + hashmap: allow re-use after hashmap_free()
+ + hashmap: adjust spacing to fix argument alignment
+ + hashmap: add usage documentation explaining hashmap_free[_entries]()
+ (this branch is used by en/merge-ort-impl.)
- Define ARM64 compiled with MSVC to be little-endian.
+ A specialization of hashmap that uses a string as key has been
+ introduced. Hopefully it will see wider use over time.
-* en/merge-ort-api-null-impl (2020-11-02) 4 commits
- (merged to 'next' on 2020-11-10 at ed9eed1558)
- + merge,rebase,revert: select ort or recursive by config or environment
- + fast-rebase: demonstrate merge-ort's API via new test-tool command
- + merge-ort-wrappers: new convience wrappers to mimic the old merge API
- + merge-ort: barebones API of new merge strategy with empty implementation
- (this branch is used by en/merge-ort-impl.)
+* fc/bash-completion-alias-of-alias (2020-11-17) 3 commits
+ (merged to 'next' on 2020-11-18 at 4241203041)
+ + completion: bash: improve alias loop detection
+ (merged to 'next' on 2020-11-10 at 75f1f2b8a8)
+ + completion: bash: check for alias loop
+ + completion: bash: support recursive aliases
- Preparation for a new merge strategy.
+ The command line completion script (in contrib/) learned to expand
+ commands that are alias of alias.
-* en/merge-tests (2020-10-26) 9 commits
- (merged to 'next' on 2020-11-09 at 8ac9fe94a7)
- + t6423: add more details about direct resolution of directories
- + t6423: note improved ort handling with untracked files
- + t6423, t6436: note improved ort handling with dirty files
- + merge tests: expect slight differences in output for recursive vs. ort
- + t6423: expect improved conflict markers labels in the ort backend
- + t6404, t6423: expect improved rename/delete handling in ort backend
- + t6416: correct expectation for rename/rename(1to2) + directory/file
- + merge tests: expect improved directory/file conflict handling in ort
- + t/: new helper for tests that pass with ort but fail with recursive
+* jc/ci-github-set-env (2020-11-17) 1 commit
+ (merged to 'next' on 2020-11-19 at 00ff5e06ac)
+ + ci: avoid `set-env` construct in print-test-failures.sh
- Preparation for a new merge strategy.
+ Another CI adjustment.
-* jc/blame-ignore-fix (2020-11-10) 1 commit
- (merged to 'next' on 2020-11-10 at 384ace449d)
- + blame: silently ignore invalid ignore file objects
+* jc/format-patch-name-max (2020-11-09) 1 commit
+ (merged to 'next' on 2020-11-11 at 17e19bb17a)
+ + format-patch: make output filename configurable
- "git blame --ignore-revs-file=<file>" learned to ignore a
- non-existent object name in the input, instead of complaining.
+ The maximum length of output filenames "git format-patch" creates
+ has become configurable (used to be capped at 64).
-* jc/line-log-takes-no-pathspec (2020-11-04) 1 commit
- (merged to 'next' on 2020-11-09 at 47c2c88b9d)
- + log: diagnose -L used with pathspec as an error
+* jk/4gb-idx (2020-11-16) 5 commits
+ (merged to 'next' on 2020-11-18 at 2f99b73bda)
+ + packfile: detect overflow in .idx file size checks
+ + block-sha1: take a size_t length parameter
+ + fsck: correctly compute checksums on idx files larger than 4GB
+ + use size_t to store pack .idx byte offsets
+ + compute pack .idx byte offsets using size_t
- "git log -L<range>:<path>" is documented to take no pathspec, but
- this was not enforced by the command line option parser, which has
- been corrected.
+ The code was not prepared to deal with pack .idx file that is
+ larger than 4GB.
-* jc/sparse-error-for-developer-build (2020-10-31) 1 commit
- (merged to 'next' on 2020-11-10 at 8cfbe66736)
- + Makefile: enable -Wsparse-error for DEVELOPER build
+* jk/diff-release-filespec-fix (2020-11-11) 2 commits
+ (merged to 'next' on 2020-11-12 at 3b21625881)
+ + t7800: simplify difftool test
+ (merged to 'next' on 2020-11-09 at 6d89b9602d)
+ + diff: allow passing NULL to diff_free_filespec_data()
+ (this branch is used by js/default-branch-name-tests-final-stretch.)
- "make DEVELOPER=1 sparse" used to run sparse and let it emit
- warnings; now such warnings will cause an error.
+ Running "git diff" while allowing external diff in a state with
+ unmerged paths used to segfault, which has been corrected.
-* jk/format-patch-output (2020-11-04) 3 commits
- (merged to 'next' on 2020-11-09 at 1f1bb6ebff)
- + format-patch: support --output option
- + format-patch: tie file-opening logic to output_directory
- + format-patch: refactor output selection
+* jk/rev-parse-end-of-options (2020-11-10) 3 commits
+ (merged to 'next' on 2020-11-11 at 2d517d1608)
+ + rev-parse: handle --end-of-options
+ + rev-parse: put all options under the "-" check
+ + rev-parse: don't accept options after dashdash
- "git format-patch --output=there" did not work as expected and
- instead crashed. The option is now supported.
+ "git rev-parse" learned the "--end-of-options" to help scripts to
+ safely take a parameter that is supposed to be a revision, e.g.
+ "git rev-parse --verify -q --end-of-options $rev".
-* js/default-branch-name-adjust-t5515 (2020-11-02) 4 commits
- (merged to 'next' on 2020-11-09 at 568ba5aba5)
- + t5515: use `main` as the name of the main branch for testing (conclusion)
- + t5515: use `main` as the name of the main branch for testing (part 3)
- + t5515: use `main` as the name of the main branch for testing (part 2)
- + t5515: use `main` as the name of the main branch for testing (part 1)
+* jx/t5411-flake-fix (2020-11-11) 3 commits
+ (merged to 'next' on 2020-11-18 at badb1fefe5)
+ + receive-pack: use default version 0 for proc-receive
+ + receive-pack: gently write messages to proc-receive
+ + t5411: new helper filter_out_user_friendly_and_stable_output
- Prepare a test script to transition of the default branch name to
- 'main'.
+ The exchange between receive-pack and proc-receive hook did not
+ carefully check for errors.
-* nk/perf-fsmonitor (2020-10-26) 10 commits
- (merged to 'next' on 2020-11-09 at 9fed160a17)
- + t/perf/fsmonitor: add benchmark for dirty status
- + t/perf/fsmonitor: perf comparison of multiple fsmonitor integrations
- + t/perf/fsmonitor: initialize test with git reset
- + t/perf/fsmonitor: factor setup for fsmonitor into function
- + t/perf/fsmonitor: silence initial git commit
- + t/perf/fsmonitor: shorten DESC to basename
- + t/perf/fsmonitor: factor description out for readability
- + t/perf/fsmonitor: improve error message if typoing hook name
- + t/perf/fsmonitor: move watchman setup to one-time-repo-setup
- + t/perf/fsmonitor: separate one time repo initialization
+* ma/list-object-filter-opt-msgfix (2020-11-16) 1 commit
+ (merged to 'next' on 2020-11-18 at 7cf396ee81)
+ + list-objects-filter-options: fix function name in BUG
- Add t/perf support for fsmonitor.
+ Error message fix.
+ We can further update it to lose the hand-maintained function name
+ from the message, but that can be done separately.
-* pb/blame-funcname-range-userdiff (2020-11-01) 8 commits
- (merged to 'next' on 2020-11-10 at 221bb3f773)
- + blame: simplify 'setup_blame_bloom_data' interface
- + blame: simplify 'setup_scoreboard' interface
- + blame: enable funcname blaming with userdiff driver
- + line-log: mention both modes in 'blame' and 'log' short help
- + doc: add more pointers to gitattributes(5) for userdiff
- + blame-options.txt: also mention 'funcname' in '-L' description
- + doc: line-range: improve formatting
- + doc: log, gitk: move '-L' description to 'line-range-options.txt'
+* pd/mergetool-nvimdiff (2020-11-11) 2 commits
+ (merged to 'next' on 2020-11-12 at aff20da3a2)
+ + mergetool: avoid letting `list_tool_variants` break user-defined setups
+ + mergetools/bc: add `bc4` to the alias list for Beyond Compare
- "git blame -L :funcname -- path" did not work well for a path for
- which a userdiff driver is defined.
+ Fix regression introduced when nvimdiff support in mergetool was added.
-* pw/rebase-i-orig-head (2020-11-04) 4 commits
- (merged to 'next' on 2020-11-10 at 038a5295f5)
- + rebase -i: simplify get_revision_ranges()
- + rebase -i: use struct object_id when writing state
- + rebase -i: use struct object_id rather than looking up commit
- + rebase -i: stop overwriting ORIG_HEAD buffer
+* pk/subsub-fetch-fix (2020-11-12) 1 commit
+ (merged to 'next' on 2020-11-18 at bdd3b21b7c)
+ + submodules: fix of regression on fetching of non-init subsub-repo
- "git rebase -i" did not store ORIG_HEAD correctly.
- cf. <xmqq7drbbcj5.fsf@gitster.c.googlers.com>
+ "git fetch" did not work correctly with nested submodules where the
+ innermost submodule that is not of interest got updated in the
+ upstream, which has been corrected.
-* rs/archive-high-compression (2020-11-09) 1 commit
- (merged to 'next' on 2020-11-10 at 9bee80950e)
- + archive: support compression levels beyond 9
+* rs/archive-plug-leak-refname (2020-11-16) 1 commit
+ (merged to 'next' on 2020-11-19 at 270ba7b8be)
+ + archive: release refname after use
- "git archive" now allows compression level higher than "-9"
- when generating tar.gz output.
+ Memleak fix.
-* rs/empty-reflog-check-fix (2020-11-01) 1 commit
- (merged to 'next' on 2020-11-09 at 3da6b6fef0)
- + stash: simplify reflog emptiness check
+* rs/gc-sort-func-cast-fix (2020-11-18) 1 commit
+ (merged to 'next' on 2020-11-19 at 04529851e5)
+ + gc: fix cast in compare_tasks_by_selection()
- The code to see if "git stash drop" can safely remove refs/stash
- has been made more carerful.
+ Fix broken sorting of maintenance tasks.
---------------------------------------------------
-[New Topics]
* rs/hashwrite-be64 (2020-11-12) 3 commits
(merged to 'next' on 2020-11-18 at 60385c6fa1)
Code simplification.
- Will merge to 'master'.
+
+* rs/plug-diff-cache-leak (2020-11-16) 1 commit
+ (merged to 'next' on 2020-11-23 at a9666bbac3)
+ + diff-lib: plug minor memory leaks in do_diff_cache()
+
+ Memleak fix.
* sg/bisect-approximately-halfway (2020-11-12) 1 commit
optimized by stopping when we see a commit that is close enough to
the half-way point.
- Will merge to 'master'.
-
-* tb/pack-bitmap (2020-11-19) 24 commits
- - pack-bitmap-write: better reuse bitmaps
- - pack-bitmap-write: relax unique rewalk condition
- - pack-bitmap-write: use existing bitmaps
- - pack-bitmap: factor out 'add_commit_to_bitmap()'
- - pack-bitmap: factor out 'bitmap_for_commit()'
- - pack-bitmap-write: ignore BITMAP_FLAG_REUSE
- - pack-bitmap-write: build fewer intermediate bitmaps
- - pack-bitmap.c: check reads more aggressively when loading
- - pack-bitmap-write: rename children to reverse_edges
- - t5310: add branch-based checks
- - commit: implement commit_list_contains()
- - bitmap: add bitmap_diff_nonzero()
- - pack-bitmap-write: fill bitmap with commit history
- - pack-bitmap-write: pass ownership of intermediate bitmaps
- - pack-bitmap-write: reimplement bitmap writing
- - ewah: add bitmap_dup() function
- - ewah: implement bitmap_or()
- - ewah: make bitmap growth less aggressive
- - ewah: factor out bitmap growth
- - rev-list: die when --test-bitmap detects a mismatch
- - t5310: drop size of truncated ewah bitmap
- - pack-bitmap: bounds-check size of cache extension
- - pack-bitmap: fix header size check
- - ewah/ewah_bitmap.c: grow buffer past 1
-
- Various improvement to the codepath that writes out pack bitmaps.
-
-
-* ab/retire-parse-remote (2020-11-16) 3 commits
- (merged to 'next' on 2020-11-18 at 80d4d8290c)
- + parse-remote: remove this now-unused library
- + submodule: remove sh function in favor of helper
- + submodule: use "fetch" logic instead of custom remote discovery
-
- "git-parse-remote" shell script library outlived its usefulness.
-
- Will merge to 'master'.
+* sg/t5310-jgit-wants-sha1 (2020-11-16) 1 commit
+ (merged to 'next' on 2020-11-19 at 72fb4e7155)
+ + t5310-pack-bitmaps: skip JGit tests with SHA256
+ Since jgit does not yet work with SHA-256 repositories, mark the
+ tests that uses it not to run unless we are testing with ShA-1
+ repositories.
-* jk/4gb-idx (2020-11-16) 5 commits
- (merged to 'next' on 2020-11-18 at 2f99b73bda)
- + packfile: detect overflow in .idx file size checks
- + block-sha1: take a size_t length parameter
- + fsck: correctly compute checksums on idx files larger than 4GB
- + use size_t to store pack .idx byte offsets
- + compute pack .idx byte offsets using size_t
- The code was not prepared to deal with pack .idx file that is
- larger than 4GB.
+* sg/tests-prereq (2020-11-18) 2 commits
+ (merged to 'next' on 2020-11-23 at e8926781aa)
+ + tests: fix description of 'test_set_prereq'
+ + tests: make sure nested lazy prereqs work reliably
- Will merge to 'master'.
+ A lazily defined test prerequisite can now be defined in terms of
+ another lazily defined test prerequisite.
+--------------------------------------------------
+[New Topics]
-* ma/list-object-filter-opt-msgfix (2020-11-16) 1 commit
- (merged to 'next' on 2020-11-18 at 7cf396ee81)
- + list-objects-filter-options: fix function name in BUG
+* ab/gc-keep-base-option (2020-11-21) 2 commits
+ (merged to 'next' on 2020-11-25 at ac76ddcfe7)
+ + gc: rename keep_base_pack variable for --keep-largest-pack
+ + gc docs: change --keep-base-pack to --keep-largest-pack
- Error message fix.
+ Fix an option name in "gc" documentation.
Will merge to 'master'.
- We can further update it to lose the hand-maintained function name
- from the message, but that can be done separately.
-
-
-* mt/rm-sparse-checkout (2020-11-16) 1 commit
- - rm: honor sparse checkout patterns
- (this branch uses mt/grep-sparse-checkout.)
-
- "git rm" follows suit to "git grep" to ignore paths outside the
- sparsity pattern when the sparse checkout feature is in use.
-
-
-* pb/pull-rebase-recurse-submodules (2020-11-16) 4 commits
- - pull: check for local submodule modifications with the right range
- - t5572: describe '--rebase' tests a little more
- - t5572: add notes on a peculiar test
- - pull --rebase: compute rebase arguments in separate function
- "git pull --rebase --recurse-submodules" checked for local changes
- in a wrong range and failed to run correctly when it should.
- Will merge to 'next'.
+* en/stash-apply-sparse-checkout (2020-11-21) 3 commits
+ - stash: fix stash application in sparse-checkouts
+ - stash: remove unnecessary process forking
+ - t7012: add a testcase demonstrating stash apply bugs in sparse checkouts
-* pk/subsub-fetch-fix (2020-11-12) 1 commit
- (merged to 'next' on 2020-11-18 at bdd3b21b7c)
- + submodules: fix of regression on fetching of non-init subsub-repo
+* jc/do-not-just-explain-but-update-your-patch (2020-11-24) 1 commit
+ (merged to 'next' on 2020-11-25 at 1f5235d4e1)
+ + MyFirstContribition: answering questions is not the end of the story
- "git fetch" did not work correctly with nested submodules where the
- innermost submodule that is not of interest got updated in the
- upstream, which has been corrected.
+ Expectation for the original contributor after responding to a
+ review comment to use the explanation in a patch update has been
+ described.
Will merge to 'master'.
-* rs/archive-plug-leak-refname (2020-11-16) 1 commit
- (merged to 'next' on 2020-11-19 at 270ba7b8be)
- + archive: release refname after use
+* jk/stop-pack-objects-when-push-is-killed (2020-11-21) 1 commit
+ (merged to 'next' on 2020-11-25 at f73fb999cd)
+ + send-pack: kill pack-objects helper on signal or exit
- Memleak fix.
+ Receiving "git push" that is killed may leave zombie pack-objects
+ process behind, which has been corrected.
Will merge to 'master'.
-* rs/chdir-notify-unleak (2020-11-16) 1 commit
- - chdir-notify: UNLEAK registrated callback entries
+* ma/grep-init-default (2020-11-24) 4 commits
+ - MyFirstObjectWalk: drop `init_walken_defaults()`
+ - grep: copy struct in one fell swoop
+ - grep: use designated initializers for `grep_defaults`
+ - grep: don't set up a "default" repo for grep
- Mark some stuff on list_head chain with UNLEAK() macro to squelch
- leak checker.
-
- Will merge to 'next'.
-
-
-* rs/plug-diff-cache-leak (2020-11-16) 1 commit
- - diff-lib: plug minor memory leaks in do_diff_cache()
-
- Memleak fix.
+ Code clean-up.
- Will merge to 'next'.
+ Expecting a (hopefully final) reroll.
+ cf. <xmqqlfepg9dq.fsf@gitster.c.googlers.com>
-* sg/t5310-jgit-wants-sha1 (2020-11-16) 1 commit
- (merged to 'next' on 2020-11-19 at 72fb4e7155)
- + t5310-pack-bitmaps: skip JGit tests with SHA256
+* mt/worktree-error-message-fix (2020-11-21) 1 commit
+ (merged to 'next' on 2020-11-25 at bc887168ff)
+ + worktree: fix order of arguments in error message
- Since jgit does not yet work with SHA-256 repositories, mark the
- tests that uses it not to run unless we are testing with ShA-1
- repositories.
+ Fix formulation of an error message with two placeholders in "git
+ worktree add" subcommand.
Will merge to 'master'.
-* tb/repack-simplify (2020-11-17) 3 commits
- - builtin/repack.c: don't move existing packs out of the way
- - builtin/repack.c: keep track of what pack-objects wrote
- - repack: make "exts" array available outside cmd_repack()
+* na/notes-displayref-is-not-boolean (2020-11-23) 2 commits
+ (merged to 'next' on 2020-11-25 at b0dda46b56)
+ + t3301: test proper exit response to no-value notes.displayRef.
+ + notes.c: fix a segfault in notes_display_config()
- Simplify the logic to deal with a repack operation that ended up
- creating the same packfile.
+ Config parser fix for "git notes".
- Will merge to 'next'.
+ Will merge to 'master'.
-* dd/help-autocorrect-never (2020-11-18) 1 commit
- - help.c: allow help.autocorrect to say "do not even compute suggestions"
+* fc/atmark-in-refspec (2020-11-24) 1 commit
+ - refspec: make @ a synonym of HEAD
- "git $cmd $args", when $cmd is not a recognised subcommand, by
- default tries to see if $cmd is a typo of an existing subcommand
- and optionally executes the corrected command if there is only one
- possibility, depending on the setting of help.autocorrect; the
- users can now disable the whole thing, including the cycles spent
- to find a likely typo, by setting the configuration variable to
- 'never'.
+ "@" sometimes worked (e.g. "git push origin @:there") as a part of
+ a refspec element, but "git push orign @" did not work, which has
+ been corrected.
-* jc/ci-github-set-env (2020-11-17) 1 commit
- (merged to 'next' on 2020-11-19 at 00ff5e06ac)
- + ci: avoid `set-env` construct in print-test-failures.sh
+* hn/sleep-millisec-decl (2020-11-24) 1 commit
+ (merged to 'next' on 2020-11-25 at d11de8b987)
+ + move sleep_millisec to git-compat-util.h
- Another CI adjustment.
+ Move a definition of compatibility wrapper from cache.h to
+ git-compat-util.h
Will merge to 'master'.
-* jc/init-doc-default-branch (2020-11-18) 1 commit
- - "init" doc: mention the configurability more clearly
+* js/init-defaultbranch-advice (2020-11-24) 4 commits
+ - init: provide useful advice about init.defaultBranch
+ - get_default_branch_name(): prepare for showing some advice
+ - branch -m: allow renaming a yet-unborn branch
+ - init: document `init.defaultBranch` better
- Doc update.
+ Our users are going to be trained to prepare for future change of
+ init.defaultBranch configuration variable.
- Weatherbaloon.
-
-* js/default-branch-name-tests-final-stretch (2020-11-19) 29 commits
- - tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed
- - t99*: adjust the references to the default branch name "main"
- - tests(git-p4): transition to the default branch name `main`
- - t9[5-7]*: adjust the references to the default branch name "main"
- - t9[0-4]*: adjust the references to the default branch name "main"
- - t8*: adjust the references to the default branch name "main"
- - t7[5-9]*: adjust the references to the default branch name "main"
- - t7[0-4]*: adjust the references to the default branch name "main"
- - t6[4-9]*: adjust the references to the default branch name "main"
- - t64*: preemptively adjust alignment to prepare for `master` -> `main`
- - t6[0-3]*: adjust the references to the default branch name "main"
- - t5[6-9]*: adjust the references to the default branch name "main"
- - t55[4-9]*: adjust the references to the default branch name "main"
- - t55[23]*: adjust the references to the default branch name "main"
- - t551*: adjust the references to the default branch name "main"
- - t550*: adjust the references to the default branch name "main"
- - t5503: prepare aligned comment for replacing `master` with `main`
- - t5[0-4]*: adjust the references to the default branch name "main"
- - t5323: prepare centered comment for `master` -> `main`
- - t4*: adjust the references to the default branch name "main"
- - t3[5-9]*: adjust the references to the default branch name "main"
- - t34*: adjust the references to the default branch name "main"
- - t3416: preemptively adjust alignment in a comment
- - t3[0-3]*: adjust the references to the default branch name "main"
- - t2*: adjust the references to the default branch name "main"
- - t[01]*: adjust the references to the default branch name "main"
- - t0060: preemptively adjust alignment
- - tests: mark tests relying on the current default for `init.defaultBranch`
- - Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch
- (this branch uses jk/diff-release-filespec-fix.)
-
- Prepare tests not to be affected by the name of the default branch
- "git init" creates.
-
-
-* js/t2106-cleanup (2020-11-18) 3 commits
- - t2106: ensure that the checkout fails for the expected reason
- - t2106: make test independent of the current main branch name
- - t2106: adjust style to the current conventions
+* js/t3404-master-to-primary (2020-11-24) 1 commit
+ (merged to 'next' on 2020-11-25 at c2959cc831)
+ + t3404: do not depend on any specific default branch name
A test script got cleaned up and then made not to depend on the
value of init.defaultBranch.
- Will merge to 'next'.
+ Will merge to 'master'.
-* js/t3040-cleanup (2020-11-18) 1 commit
- - t3040: remove stale note
+* jt/trace-error-on-warning (2020-11-24) 1 commit
+ - usage: add trace2 entry upon warning()
- Cleanup.
+ Like die() and error(), a call to warning() will also trigger a
+ trace2 event.
Will merge to 'next'.
-* js/t4015-wo-master (2020-11-19) 1 commit
- - t4015: let the test pass with any default branch name
-
- A test script got cleaned up not to depend on the value of
- init.defaultBranch.
-
- Will merge to 'next'.
+* km/stash-error-message-fix (2020-11-24) 1 commit
+ (merged to 'next' on 2020-11-25 at 9ef82d6aa7)
+ + stash: add missing space to an error message
+ Error message fix.
-* rs/gc-sort-func-cast-fix (2020-11-18) 1 commit
- (merged to 'next' on 2020-11-19 at 04529851e5)
- + gc: fix cast in compare_tasks_by_selection()
+ Will merge to 'master'.
- Fix broken sorting of maintenance tasks.
- Will merge to 'master'.
+* ps/config-env-pairs (2020-11-24) 2 commits
+ - config: allow specifying config entries via envvar pairs
+ - config: extract function to parse config pairs
+ Introduce a way to feed configuration variable-value pairs via
+ environment variables.
-* sg/tests-prereq (2020-11-18) 2 commits
- - tests: fix description of 'test_set_prereq'
- - tests: make sure nested lazy prereqs work reliably
+ Getting there.
+ cf. <X74CigYS7AUtMo9Q@tanuki>
- A lazily defined test prerequisite can now be defined in terms of
- another lazily defined test prerequisite.
- Will merge to 'next'.
+* sa/credential-store-timeout (2020-11-25) 1 commit
+ (merged to 'next' on 2020-11-25 at 7a9a4b68fd)
+ + crendential-store: use timeout when locking file
+ Multiple "credential-store" backends can race to lock the same
+ file, causing everybody else but one to fail---reattempt locking
+ with some timeout to reduce the rate of the failure.
-* ds/config-literal-value (2020-11-19) 6 commits
- - config: implement --literal-value with --get*
- - config: plumb --literal-value into config API
- - config: add --literal-value option, un-implemented
- - config: convert multi_replace to flags
- - t1300: add test for --replace-all with value_regex
- - t1300: test "set all" mode with value_regex
- (this branch is used by ds/maintenance-part-3.)
+ Will merge to 'master'.
-* ds/maintenance-part-3 (2020-11-19) 2 commits
- - maintenance: use 'git config --literal-value'
- - Merge branch 'ds/config-literal-value' into ds/maintenance-part-3
- (this branch uses ds/config-literal-value.)
+* tb/idx-midx-race-fix (2020-11-25) 2 commits
+ - midx.c: protect against disappearing packs
+ - packfile.c: protect against disappearing indexes
- "git maintenance" command had trouble working in a directory whose
- pathname contained an ERE metacharacter like '+'.
+ Processes that access packdata while the .idx file gets removed
+ (e.g. while repacking) did not fail or fall back gracefully as they
+ could.
Will merge to 'next'.
-* js/pull-rebase-use-advise (2020-11-19) 1 commit
- - pull: colorize the hint about setting `pull.rebase`
+* rs/stop-pack-objects-when-fetch-is-killed (2020-11-25) 1 commit
+ - upload-pack: kill pack-objects helper on signal or exit
+ "git upload-pack" that is killed may leave zombie pack-objects
+ process behind, which has been corrected.
-* js/t1309-master-to-topic (2020-11-19) 1 commit
- - t1309: use a neutral branch name in the `onbranch` test cases
+ Needs to be replaced with signed-off and/or improved version.
--------------------------------------------------
[Stalled]
+* mt/grep-sparse-checkout (2020-09-10) 9 commits
+ - 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.
+
+
+* mt/rm-sparse-checkout (2020-11-16) 1 commit
+ - rm: honor sparse checkout patterns
+ (this branch uses mt/grep-sparse-checkout.)
+
+ "git rm" follows suit to "git grep" to ignore paths outside the
+ sparsity pattern when the sparse checkout feature is in use.
+
+ Need to wait for how these fit in larger picture.
+ cf. <CABPp-BGMX3wb7LiS1HkJpGveoW3J1oR0vVHbKTF5+qYLRF+59g@mail.gmail.com>
+
+
* jk/symlinked-dotgitx-files (2020-10-23) 9 commits
(merged to 'next' on 2020-10-26 at c1dd37b024)
+ docs: document symlink restrictions for .git* files
"git submodule add" being rewritten in C.
+ Needs review.
+
* mt/parallel-checkout-part-1 (2020-11-04) 19 commits
- ci: run test round with parallel-checkout enabled
- convert: add [async_]convert_to_working_tree_ca() variants
- convert: make convert_attrs() and convert structs public
- Parallel checkout.
+ Parallel checkout.
+
+ Needs review.
+
+
+* fc/bash-completion-post-2.29 (2020-11-10) 26 commits
+ - completion: bash: shuffle __gitcomp functions
+ - completion: bash: cleanup __gitcomp* invocations
+ - completion: bash: add __gitcomp_opts
+ - completion: bash: improve __gitcomp description
+ - completion: bash: rename _get_comp_words_by_ref()
+ - completion: bash: trivial cleanup
+ - completion: bash: cleanup _get_comp_words_by_ref()
+ - completion: bash: refactor _get_comp_words_by_ref()
+ - completion: bash: simplify _get_comp_words_by_ref()
+ - test: completion: switch __gitcomp_nl prefix test
+ - completion: bash: simplify config_variable_name
+ - completion: bash: improve __gitcomp suffix code
+ - completion: bash: change suffix check in __gitcomp
+ - completion: bash: simplify __gitcomp
+ - completion: bash: refactor __gitcomp
+ - completion: bash: simplify equal suffix check
+ - completion: bash: factor out check in __gitcomp
+ - completion: bash: get rid of any non-append code
+ - completion: bash: get rid of _append() functions
+ - completion: bash: remove non-append functionality
+ - test: completion: add run_func() helper
+ - test: completion: fix currently typed words
+ - completion: bash: do not modify COMP_WORDBREAKS
+ - completion: bash: fix for suboptions with value
+ - completion: bash: add correct suffix in variables
+ - completion: bash: fix prefix detection in branch.*
+
+ Needs review.
+
+
+* so/log-diff-merge (2020-11-09) 27 commits
+ - doc/git-show: include --diff-merges description
+ - doc/rev-list-options: document --first-parent implies --diff-merges=first-parent
+ - doc/diff-generate-patch: mention new --diff-merges option
+ - doc/git-log: describe new --diff-merges options
+ - t4013: add test for --diff-merges=first-parent
+ - 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: 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.
+
+ Needs review.
+
+* en/merge-ort-impl (2020-11-11) 21 commits
+ - merge-ort: free data structures in merge_finalize()
+ - merge-ort: add implementation of record_unmerged_index_entries()
+ - tree: enable cmp_cache_name_compare() to be used elsewhere
+ - merge-ort: add implementation of checkout()
+ - merge-ort: basic outline for merge_switch_to_result()
+ - merge-ort: step 3 of tree writing -- handling subdirectories as we go
+ - merge-ort: step 2 of tree writing -- function to create tree object
+ - merge-ort: step 1 of tree writing -- record basenames, modes, and oids
+ - merge-ort: have process_entries operate in a defined order
+ - merge-ort: add a preliminary simple process_entries() implementation
+ - merge-ort: avoid recursing into identical trees
+ - merge-ort: record stage and auxiliary info for every path
+ - merge-ort: compute a few more useful fields for collect_merge_info
+ - merge-ort: avoid repeating fill_tree_descriptor() on the same tree
+ - merge-ort: implement a very basic collect_merge_info()
+ - merge-ort: add an err() function similar to one from merge-recursive
+ - merge-ort: use histogram diff
+ - merge-ort: port merge_start() from merge-recursive
+ - merge-ort: add some high-level algorithm structure
+ - merge-ort: setup basic internal data structures
+ - Merge branch 'en/strmap' into en/merge-ort-impl
+
+ Needs review.
+
+--------------------------------------------------
+[Cooking]
+
+* tb/pack-bitmap (2020-11-21) 24 commits
+ - pack-bitmap-write: better reuse bitmaps
+ - pack-bitmap-write: relax unique rewalk condition
+ - pack-bitmap-write: use existing bitmaps
+ - pack-bitmap: factor out 'add_commit_to_bitmap()'
+ - pack-bitmap: factor out 'bitmap_for_commit()'
+ - pack-bitmap-write: ignore BITMAP_FLAG_REUSE
+ - pack-bitmap-write: build fewer intermediate bitmaps
+ - pack-bitmap.c: check reads more aggressively when loading
+ - pack-bitmap-write: rename children to reverse_edges
+ - t5310: add branch-based checks
+ - commit: implement commit_list_contains()
+ - bitmap: add bitmap_diff_nonzero()
+ - pack-bitmap-write: fill bitmap with commit history
+ - pack-bitmap-write: pass ownership of intermediate bitmaps
+ - pack-bitmap-write: reimplement bitmap writing
+ - ewah: add bitmap_dup() function
+ - ewah: implement bitmap_or()
+ - ewah: make bitmap growth less aggressive
+ - ewah: factor out bitmap growth
+ - rev-list: die when --test-bitmap detects a mismatch
+ - t5310: drop size of truncated ewah bitmap
+ - pack-bitmap: bounds-check size of cache extension
+ - pack-bitmap: fix header size check
+ - ewah/ewah_bitmap.c: grow buffer past 1
+
+ Various improvement to the codepath that writes out pack bitmaps.
+
+ Needs a bit of reshuffling?
+ cf. <X7xzWClGr3bM3wcg@coredump.intra.peff.net>
+
+
+* ab/retire-parse-remote (2020-11-24) 4 commits
+ (merged to 'next' on 2020-11-25 at 644484d7df)
+ + submodule: fix fetch_in_submodule logic
+ (merged to 'next' on 2020-11-18 at 80d4d8290c)
+ + parse-remote: remove this now-unused library
+ + submodule: remove sh function in favor of helper
+ + submodule: use "fetch" logic instead of custom remote discovery
+
+ "git-parse-remote" shell script library outlived its usefulness.
+
+ Will merge to 'master'.
+
+
+* pb/pull-rebase-recurse-submodules (2020-11-16) 4 commits
+ (merged to 'next' on 2020-11-25 at 9837b50d7f)
+ + pull: check for local submodule modifications with the right range
+ + t5572: describe '--rebase' tests a little more
+ + t5572: add notes on a peculiar test
+ + pull --rebase: compute rebase arguments in separate function
+
+ "git pull --rebase --recurse-submodules" checked for local changes
+ in a wrong range and failed to run correctly when it should.
+
+ Will merge to 'master'.
+
+
+* tb/repack-simplify (2020-11-17) 3 commits
+ (merged to 'next' on 2020-11-25 at 79a98f2403)
+ + builtin/repack.c: don't move existing packs out of the way
+ + builtin/repack.c: keep track of what pack-objects wrote
+ + repack: make "exts" array available outside cmd_repack()
+
+ Simplify the logic to deal with a repack operation that ended up
+ creating the same packfile.
+
+ Will merge to 'master'.
+
+
+* dd/help-autocorrect-never (2020-11-25) 1 commit
+ - help.c: help.autocorrect=never means "do not compute suggestions"
+
+ "git $cmd $args", when $cmd is not a recognised subcommand, by
+ default tries to see if $cmd is a typo of an existing subcommand
+ and optionally executes the corrected command if there is only one
+ possibility, depending on the setting of help.autocorrect; the
+ users can now disable the whole thing, including the cycles spent
+ to find a likely typo, by setting the configuration variable to
+ 'never'.
+
+ Getting there.
+ cf. <xmqqft4xdubq.fsf_-_@gitster.c.googlers.com>
+
+
+* js/default-branch-name-tests-final-stretch (2020-11-19) 29 commits
+ - tests: drop prereq `PREPARE_FOR_MAIN_BRANCH` where no longer needed
+ - t99*: adjust the references to the default branch name "main"
+ - tests(git-p4): transition to the default branch name `main`
+ - t9[5-7]*: adjust the references to the default branch name "main"
+ - t9[0-4]*: adjust the references to the default branch name "main"
+ - t8*: adjust the references to the default branch name "main"
+ - t7[5-9]*: adjust the references to the default branch name "main"
+ - t7[0-4]*: adjust the references to the default branch name "main"
+ - t6[4-9]*: adjust the references to the default branch name "main"
+ - t64*: preemptively adjust alignment to prepare for `master` -> `main`
+ - t6[0-3]*: adjust the references to the default branch name "main"
+ - t5[6-9]*: adjust the references to the default branch name "main"
+ - t55[4-9]*: adjust the references to the default branch name "main"
+ - t55[23]*: adjust the references to the default branch name "main"
+ - t551*: adjust the references to the default branch name "main"
+ - t550*: adjust the references to the default branch name "main"
+ - t5503: prepare aligned comment for replacing `master` with `main`
+ - t5[0-4]*: adjust the references to the default branch name "main"
+ - t5323: prepare centered comment for `master` -> `main`
+ - t4*: adjust the references to the default branch name "main"
+ - t3[5-9]*: adjust the references to the default branch name "main"
+ - t34*: adjust the references to the default branch name "main"
+ - t3416: preemptively adjust alignment in a comment
+ - t3[0-3]*: adjust the references to the default branch name "main"
+ - t2*: adjust the references to the default branch name "main"
+ - t[01]*: adjust the references to the default branch name "main"
+ - t0060: preemptively adjust alignment
+ - tests: mark tests relying on the current default for `init.defaultBranch`
+ - Merge 'jk/diff-release-filespec-fix' into js/default-branch-name-tests-final-stretch
+
+ Prepare tests not to be affected by the name of the default branch
+ "git init" creates.
+
+
+* js/t2106-cleanup (2020-11-18) 3 commits
+ (merged to 'next' on 2020-11-23 at b1bcd5d8b2)
+ + t2106: ensure that the checkout fails for the expected reason
+ + t2106: make test independent of the current main branch name
+ + t2106: adjust style to the current conventions
+
+ A test script got cleaned up and then made not to depend on the
+ value of init.defaultBranch.
+
+ Will merge to 'master'.
+
+
+* js/t3040-cleanup (2020-11-18) 1 commit
+ (merged to 'next' on 2020-11-23 at 88951eae2f)
+ + t3040: remove stale note
+
+ Cleanup.
+
+ Will merge to 'master'.
+
+
+* js/t4015-wo-master (2020-11-19) 1 commit
+ (merged to 'next' on 2020-11-23 at b85c36ffb4)
+ + t4015: let the test pass with any default branch name
+
+ A test script got cleaned up not to depend on the value of
+ init.defaultBranch.
+
+ Will merge to 'master'.
+
+
+* ds/config-literal-value (2020-11-25) 8 commits
+ - config doc: value-pattern is not necessarily a regexp
+ - config: implement --fixed-value with --get*
+ - config: plumb --fixed-value into config API
+ - config: add --fixed-value option, un-implemented
+ - t1300: add test for --replace-all with value-pattern
+ - t1300: test "set all" mode with value-pattern
+ - config: replace 'value_regex' with 'value_pattern'
+ - config: convert multi_replace to flags
+ (this branch is used by ds/maintenance-part-3.)
+
+ Various subcommands of "git config" that takes value_regex
+ learn the "--literal-value" option to take the value_regex option
+ as a literal string.
+ Expecting a (hopefully final) reroll.
-* mt/grep-sparse-checkout (2020-09-10) 9 commits
- - 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.
+* ds/maintenance-part-3 (2020-11-25) 2 commits
+ - maintenance: use 'git config --fixed-value'
+ - Merge branch 'ds/config-literal-value' into ds/maintenance-part-3
+ (this branch uses ds/config-literal-value.)
+
+ "git maintenance" command had trouble working in a directory whose
+ pathname contained an ERE metacharacter like '+'.
+
+ Blocked by ds/config-literal-value.
+
+
+* js/pull-rebase-use-advise (2020-11-19) 1 commit
+ (merged to 'next' on 2020-11-25 at 05db775119)
+ + pull: colorize the hint about setting `pull.rebase`
+
+ UI improvement.
+
+ Will merge to 'master'.
+
+
+* js/t1309-master-to-topic (2020-11-19) 1 commit
+ (merged to 'next' on 2020-11-25 at 044da285ef)
+ + t1309: use a neutral branch name in the `onbranch` test cases
+
+ Test preparation.
+
+ Will merge to 'master'.
---------------------------------------------------
-[Cooking]
-* ag/merge-strategies-in-c (2020-11-16) 12 commits
+* ag/merge-strategies-in-c (2020-11-24) 13 commits
- sequencer: use the "octopus" merge strategy without forking
- sequencer: use the "resolve" strategy without forking
- merge: use the "octopus" strategy without forking
- merge-index: libify merge_one_path() and merge_all()
- merge-one-file: rewrite in C
- update-index: move add_cacheinfo() to read-cache.c
- - t6027: modernise tests
+ - t6060: modify multiple files to expose a possible issue with merge-index
+ - t6407: modernise tests
The resolve and octopus merge strategy backends have been rewritten
in C.
+ Needs review.
+
* ps/update-ref-multi-transaction (2020-11-16) 4 commits
- update-ref: disallow "start" for ongoing transactions
"git update-ref --stdin" learns to take multiple transactions in a
single session.
-
-* fc/bash-completion-alias-of-alias (2020-11-17) 3 commits
- (merged to 'next' on 2020-11-18 at 4241203041)
- + completion: bash: improve alias loop detection
- (merged to 'next' on 2020-11-10 at 75f1f2b8a8)
- + completion: bash: check for alias loop
- + completion: bash: support recursive aliases
-
- The command line completion script (in contrib/) learned to expand
- commands that are alias of alias.
-
- Will merge to 'master'.
-
-
-* jk/rev-parse-end-of-options (2020-11-10) 3 commits
- (merged to 'next' on 2020-11-11 at 2d517d1608)
- + rev-parse: handle --end-of-options
- + rev-parse: put all options under the "-" check
- + rev-parse: don't accept options after dashdash
-
- "git rev-parse" learned the "--end-of-options" to help scripts to
- safely take a parameter that is supposed to be a revision, e.g.
- "git rev-parse --verify -q --end-of-options $rev".
-
- Will merge to 'master'.
-
-
-* fc/bash-completion-post-2.29 (2020-11-10) 26 commits
- - completion: bash: shuffle __gitcomp functions
- - completion: bash: cleanup __gitcomp* invocations
- - completion: bash: add __gitcomp_opts
- - completion: bash: improve __gitcomp description
- - completion: bash: rename _get_comp_words_by_ref()
- - completion: bash: trivial cleanup
- - completion: bash: cleanup _get_comp_words_by_ref()
- - completion: bash: refactor _get_comp_words_by_ref()
- - completion: bash: simplify _get_comp_words_by_ref()
- - test: completion: switch __gitcomp_nl prefix test
- - completion: bash: simplify config_variable_name
- - completion: bash: improve __gitcomp suffix code
- - completion: bash: change suffix check in __gitcomp
- - completion: bash: simplify __gitcomp
- - completion: bash: refactor __gitcomp
- - completion: bash: simplify equal suffix check
- - completion: bash: factor out check in __gitcomp
- - completion: bash: get rid of any non-append code
- - completion: bash: get rid of _append() functions
- - completion: bash: remove non-append functionality
- - test: completion: add run_func() helper
- - test: completion: fix currently typed words
- - completion: bash: do not modify COMP_WORDBREAKS
- - completion: bash: fix for suboptions with value
- - completion: bash: add correct suffix in variables
- - completion: bash: fix prefix detection in branch.*
+ Will merge to 'next'.
* js/add-i-color-fix (2020-11-16) 11 commits
"git add -i" failed to honor custom colors configured to show
patches, which has been corrected.
-
-* ab/config-mak-uname-simplify (2020-11-11) 2 commits
- (merged to 'next' on 2020-11-12 at e1bd51ee71)
- + config.mak.uname: remove unused NEEDS_SSL_WITH_CURL flag
- + config.mak.uname: remove unused the NO_R_TO_GCC_LINKER flag
-
- Build configuration cleanup.
-
- Will merge to 'master'.
-
-
-* pd/mergetool-nvimdiff (2020-11-11) 2 commits
- (merged to 'next' on 2020-11-12 at aff20da3a2)
- + mergetool: avoid letting `list_tool_variants` break user-defined setups
- + mergetools/bc: add `bc4` to the alias list for Beyond Compare
-
- Fix regression introduced when nvimdiff support in mergetool was added.
-
- Will merge to 'master'.
+ Will merge to 'next'.
+ cf. <20201117015149.GC19433@coredump.intra.peff.net>
* js/trace2-session-id (2020-11-11) 11 commits
The transport layer was taught to optionally exchange the session
ID assigned by the trace2 subsystem during fetch/push transactions.
-
-* so/log-diff-merge (2020-11-09) 27 commits
- - doc/git-show: include --diff-merges description
- - doc/rev-list-options: document --first-parent implies --diff-merges=first-parent
- - doc/diff-generate-patch: mention new --diff-merges option
- - doc/git-log: describe new --diff-merges options
- - t4013: add test for --diff-merges=first-parent
- - 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: 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 'next'.
-* ds/maintenance-part-4 (2020-11-04) 4 commits
+* ds/maintenance-part-4 (2020-11-24) 4 commits
- maintenance: use Windows scheduled tasks
- maintenance: use launchctl on macOS
- maintenance: include 'cron' details in docs
methods are not 'cron'.
-* en/merge-ort-impl (2020-11-11) 21 commits
- - merge-ort: free data structures in merge_finalize()
- - merge-ort: add implementation of record_unmerged_index_entries()
- - tree: enable cmp_cache_name_compare() to be used elsewhere
- - merge-ort: add implementation of checkout()
- - merge-ort: basic outline for merge_switch_to_result()
- - merge-ort: step 3 of tree writing -- handling subdirectories as we go
- - merge-ort: step 2 of tree writing -- function to create tree object
- - merge-ort: step 1 of tree writing -- record basenames, modes, and oids
- - merge-ort: have process_entries operate in a defined order
- - merge-ort: add a preliminary simple process_entries() implementation
- - merge-ort: avoid recursing into identical trees
- - merge-ort: record stage and auxiliary info for every path
- - merge-ort: compute a few more useful fields for collect_merge_info
- - merge-ort: avoid repeating fill_tree_descriptor() on the same tree
- - merge-ort: implement a very basic collect_merge_info()
- - merge-ort: add an err() function similar to one from merge-recursive
- - merge-ort: use histogram diff
- - merge-ort: port merge_start() from merge-recursive
- - merge-ort: add some high-level algorithm structure
- - merge-ort: setup basic internal data structures
- - Merge branch 'en/strmap' into en/merge-ort-impl
- (this branch uses en/strmap.)
-
-
-* jc/format-patch-name-max (2020-11-09) 1 commit
- (merged to 'next' on 2020-11-11 at 17e19bb17a)
- + format-patch: make output filename configurable
-
- The maximum length of output filenames "git format-patch" creates
- has become configurable (used to be capped at 64).
-
- Will merge to 'master'.
-
-
-* jk/diff-release-filespec-fix (2020-11-11) 2 commits
- (merged to 'next' on 2020-11-12 at 3b21625881)
- + t7800: simplify difftool test
- (merged to 'next' on 2020-11-09 at 6d89b9602d)
- + diff: allow passing NULL to diff_free_filespec_data()
- (this branch is used by js/default-branch-name-tests-final-stretch.)
-
- Running "git diff" while allowing external diff in a state with
- unmerged paths used to segfault, which has been corrected.
-
- Will merge to 'master'.
-
-
-* jx/t5411-flake-fix (2020-11-11) 3 commits
- (merged to 'next' on 2020-11-18 at badb1fefe5)
- + receive-pack: use default version 0 for proc-receive
- + receive-pack: gently write messages to proc-receive
- + t5411: new helper filter_out_user_friendly_and_stable_output
-
- The exchange between receive-pack and proc-receive hook did not
- carefully check for errors.
-
- Will merge to 'master'.
-
-
-* av/fsmonitor-cleanup (2020-10-21) 2 commits
- - fsmonitor: make output of test-dump-fsmonitor more concise
- - fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
-
- Code clean-up.
-
- Will discard.
- Unneeded?
- cf. <20201022183822.GA781760@nand.local>
-
-
* sj/untracked-files-in-submodule-directory-is-not-dirty (2020-10-26) 1 commit
- diff: do not show submodule with untracked files as "-dirty"
Needs doc update and also adjusting "git status".
-* en/strmap (2020-11-11) 15 commits
- (merged to 'next' on 2020-11-12 at 41519a5f5c)
- + shortlog: use strset from strmap.h
- + Use new HASHMAP_INIT macro to simplify hashmap initialization
- + strmap: take advantage of FLEXPTR_ALLOC_STR when relevant
- + strmap: enable allocations to come from a mem_pool
- + strmap: add a strset sub-type
- + strmap: split create_entry() out of strmap_put()
- + strmap: add functions facilitating use as a string->int map
- + strmap: enable faster clearing and reusing of strmaps
- + strmap: add more utility functions
- + strmap: new utility functions
- + hashmap: provide deallocation function names
- + hashmap: introduce a new hashmap_partial_clear()
- + hashmap: allow re-use after hashmap_free()
- + hashmap: adjust spacing to fix argument alignment
- + hashmap: add usage documentation explaining hashmap_free[_entries]()
- (this branch is used by en/merge-ort-impl.)
-
- A speciailization of hashmap that uses a string as key has been
- introduced. Hopefully it will see wider use over time.
-
- Will merge to 'master'.
-
-
* ak/corrected-commit-date (2020-10-08) 10 commits
- doc: add corrected commit date info
- commit-reach: use corrected commit dates in paint_down_to_common()
"git push" learns a way to tell an object that it expects the other
side to have and is usable as a common ancestor, which can be used
by the other side to shrink its initial ref advertisement.
+
+
+* rs/chdir-notify-unleak (2020-11-16) 1 commit
+ . chdir-notify: UNLEAK registrated callback entries
+
+ Mark some stuff on list_head chain with UNLEAK() macro to squelch
+ leak checker.
+
+ Retracted.
+ cf. <3b2afb7a-57aa-025c-806f-ae3faa0ed077@web.de>
+
+
+* av/fsmonitor-cleanup (2020-10-21) 2 commits
+ . fsmonitor: make output of test-dump-fsmonitor more concise
+ . fsmonitor: stop inline'ing mark_fsmonitor_valid / _invalid
+
+ Code clean-up.
+
+ Unneeded?
+ cf. <20201022183822.GA781760@nand.local>
+
+
+* jc/init-doc-default-branch (2020-11-18) 1 commit
+ . "init" doc: mention the configurability more clearly
+
+ Doc update.
+
+
+* ds/treeless-clone-wo-submodule-recursing (2020-11-21) 1 commit
+ . clone: --filter=tree:0 implies fetch.recurseSubmodules=no
+
+ Retracted.
+ cf. <8a31af0e-4440-d957-11fb-48c4d2abd5c7@gmail.com>