To: git@vger.kernel.org
Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Apr 2020, #02; Mon, 20)
-X-master-at: 048abe1751e6727bfbacf7b80466d78e04631f94
-X-next-at: 435bf60bd57ed99bd0d44f7afa315bac6c9e97ab
+Subject: What's cooking in git.git (Apr 2020, #03; Tue, 28)
+X-master-at: 86ab15cb154862b6fa5cc646dac27532f881e1fb
+X-next-at: 6140810f5a86d69e4bee74d360b936fb4a8a3b1f
-What's cooking in git.git (Apr 2020, #02; Mon, 20)
+What's cooking in git.git (Apr 2020, #03; Tue, 28)
--------------------------------------------------
Here are the topics that have been cooking. Commits prefixed with
'+' are in 'next'. The ones marked with '.' do not appear in any of
the integration branches, but I am still holding onto them.
-Having to issue two security fixes on a pair of very similar issues
-was embarrassing, but hopefully that's behind us. Let's restart
-merging things down. I am hoping that we can merge all topics
-marked to be merged to 'next' by early next week, so please make
-loud noises if I mistakenly marked stuff that are not yet ready.
+Quite a few topics have been merged to 'next' and also to 'master'.
+There are a few more important topics that need to be merged down to
+'master' before we're comfortable cutting the next maintenance
+update but hopefully we'd get there during this week.
You can find the changes described here in the integration branches
of the repositories listed at
http://git-blame.blogspot.com/p/git-public-repositories.html
--------------------------------------------------
-[New Topics]
-
-* eb/mboxrd-doc (2020-04-15) 1 commit
- - Documentation: explain "mboxrd" pretty format
-
- Doc update.
-
- Will merge to 'next'.
-
-
-* mt/grep-cquote-path (2020-04-20) 1 commit
- - grep: follow conventions for printing paths w/ unusual chars
-
- "git grep" did not quote a path with unusual character like other
- commands (like "git diff", "git status") do, but did quote when run
- from a subdirectory, both of which has been corrected.
-
- Will merge to 'next'.
-
-
-* tb/diff-tree-with-notes (2020-04-20) 1 commit
- - diff-tree.c: load notes machinery when required
-
- "git diff-tree --pretty --notes" used to hit an assertion failure,
- as it forgot to initialize the notes subsystem.
+[Graduated to "master"]
- Will merge to 'next'.
-
-
-* tm/zsh-complete-switch-restore (2020-04-17) 1 commit
- - complete: zsh: add missing sub cmd completion candidates
-
- zsh command line completion (in contrib/) update.
-
- Will merge to 'next'.
-
-
-* vd/range-diff-with-custom-pretty-format-fix (2020-04-15) 2 commits
- - range-diff: avoid negative string precision
- - range-diff: fix a crash in parsing git-log output
-
- "git range-diff" fixes.
-
- Will merge to 'next'.
- cf. <20200416010734.GE36156@syl.local>
-
-
-* dl/test-must-fail-fixes-4 (2020-04-20) 8 commits
- - t9902: don't use `test_must_fail __git_*`
- - t9819: don't use test_must_fail with p4
- - t9164: use test_must_fail only on git commands
- - t9160: use test_path_is_missing()
- - t9141: use test_path_is_missing()
- - t7508: don't use `test_must_fail test_cmp`
- - t7408: replace incorrect uses of test_must_fail
- - t6030: use test_path_is_missing()
-
- Test clean-up.
-
- Will merge to 'next'.
+* ag/rebase-merge-allow-ff-under-abbrev-command (2020-03-30) 2 commits
+ (merged to 'next' on 2020-04-15 at b4679f7c7c)
+ + t3432: test `--merge' with `rebase.abbreviateCommands = true', too
+ + sequencer: don't abbreviate a command if it doesn't have a short form
---------------------------------------------------
-[Stalled]
+ "git rebase" with the merge backend did not work well when the
+ rebase.abbreviateCommands configuration was set.
-* mk/use-size-t-in-zlib (2018-10-15) 1 commit
- - zlib.c: use size_t for size
- The wrapper to call into zlib followed our long tradition to use
- "unsigned long" for sizes of regions in memory, which have been
- updated to use "size_t".
+* ag/sequencer-i18n-messages (2020-03-28) 1 commit
+ (merged to 'next' on 2020-04-15 at d6b38d12cf)
+ + sequencer: mark messages for translation
---------------------------------------------------
-[Cooking]
+ Message fix.
-* jk/use-quick-lookup-in-clone-for-tag-following (2020-04-01) 1 commit
- (merged to 'next' on 2020-04-15 at 11d6110e99)
- + clone: use "quick" lookup while following tags
- The logic to auto-follow tags by "git clone --single-branch" was
- not careful to avoid lazy-fetching unnecessary tags, which has been
- corrected.
+* ak/run-command-on-cygwin-fix (2020-03-27) 1 commit
+ (merged to 'next' on 2020-04-15 at 9e98b82a7f)
+ + run-command: trigger PATH lookup properly on Cygwin
- Will merge to 'master'.
+ Utitiles run via the run_command() API were not spawned correctly
+ on Cygwin, when the paths to them are given as a full path with
+ backslashes.
-* ds/commit-graph-expiry-fix (2020-04-01) 1 commit
- (merged to 'next' on 2020-04-20 at 4afb3de947)
- + commit-graph: fix buggy --expire-time option
+* ar/test-style-fixes (2020-03-22) 2 commits
+ (merged to 'next' on 2020-04-15 at 50ed75bccf)
+ + t: fix whitespace around &&
+ + t9500: remove spaces after redirect operators
- "git commit-graph write --expire-time=<timestamp>" did not use the
- given timestamp correctly, which has been corrected.
+ Style fixes.
- Will merge to 'master'.
+* bc/constant-memequal (2020-04-22) 2 commits
+ (merged to 'next' on 2020-04-22 at 6d2b10b1e7)
+ + receive-pack: compilation fix
+ (merged to 'next' on 2020-04-20 at 31180dae7d)
+ + builtin/receive-pack: use constant-time comparison for HMAC value
-* ds/t5319-touch-fix (2020-04-01) 1 commit
- (merged to 'next' on 2020-04-20 at 41ccdb3fcd)
- + t5319: replace 'touch -m' with 'test-tool chmtime'
+ Validation of push certificate has been made more robust against
+ timing attacks.
- Tests update to use "test-chmtime" instead of "touch -t".
- Will merge to 'master'.
+* bc/faq (2020-03-30) 1 commit
+ (merged to 'next' on 2020-04-15 at 2d4c46ca7a)
+ + docs: add a FAQ
+ Doc update.
-* en/sequencer-reflog-action (2020-04-07) 1 commit
- (merged to 'next' on 2020-04-15 at 6c635bdaa1)
- + sequencer: honor GIT_REFLOG_ACTION
- "git rebase -i" did not leave the reflog entries correctly.
+* bk/p4-pre-edit-changelist (2020-02-14) 7 commits
+ (merged to 'next' on 2020-04-15 at 3e7cecd445)
+ + git-p4: add RCS keyword status message
+ + git-p4: add p4 submit hooks
+ + git-p4: restructure code in submit
+ + git-p4: add --no-verify option
+ + git-p4: add p4-pre-submit exit text
+ + git-p4: create new function run_git_hook
+ + git-p4: rewrite prompt to be Windows compatible
- Will merge to 'master'.
+ "git p4" learned four new hooks and also "--no-verify" option to
+ bypass them (and the existing "p4-pre-submit" hook).
* dd/no-gpg-sign (2020-04-03) 6 commits
"git rebase" learned the "--no-gpg-sign" option to countermand
commit.gpgSign the user may have.
- Will merge to 'master'.
+* dd/test-with-busybox (2020-03-26) 8 commits
+ (merged to 'next' on 2020-04-15 at 8177191066)
+ + t5703: feed raw data into test-tool unpack-sideband
+ + t4124: tweak test so that non-compliant diff(1) can also be used
+ + t7063: drop non-POSIX argument "-ls" from find(1)
+ + t5616: use rev-parse instead to get HEAD's object_id
+ + t5003: skip conversion test if unzip -a is unavailable
+ + t5003: drop the subshell in test_lazy_prereq
+ + test-lib-functions: test_cmp: eval $GIT_TEST_CMP
+ + t4061: use POSIX compliant regex(7)
+ (this branch is used by dd/ci-swap-azure-pipelines-with-github-actions.)
-* en/rebase-doc-hooks-called-by-accident (2020-04-05) 1 commit
- (merged to 'next' on 2020-04-20 at 1011f8a876)
- + git-rebase.txt: add another hook to the hooks section, and explain more
+ Various tests have been updated to work around issues found with
+ shell utilities that come with busybox etc.
- "git rebase" happens to call some hooks meant for "checkout" and
- "commit" by this was not a designed behaviour than historical
- accident. This has been documented.
- Will merge to 'master'.
+* dl/libify-a-few (2020-03-24) 2 commits
+ (merged to 'next' on 2020-04-20 at 84eb704a32)
+ + Lib-ify prune-packed
+ + Lib-ify fmt-merge-msg
+ Code in builtin/*, i.e. those can only be called from within
+ built-in subcommands, that implements bulk of a couple of
+ subcommands have been moved to libgit.a so that they could be used
+ by others.
-* jk/fast-import-use-hashmap (2020-04-06) 1 commit
- (merged to 'next' on 2020-04-20 at 76e8908efe)
- + fast-import: replace custom hash with hashmap.c
- The custom hash function used by "git fast-import" has been
- replaced with the one from hashmap.c, which gave us a nice
- performance boost.
+* dl/test-must-fail-fixes-3 (2020-03-27) 8 commits
+ (merged to 'next' on 2020-04-15 at dd0130c158)
+ + t5801: teach compare_refs() to accept !
+ + t5612: stop losing return codes of git commands
+ + t5612: don't use `test_must_fail test_cmp`
+ + t5607: reorder `nongit test_must_fail`
+ + t5550: simplify no matching line check
+ + t5512: stop losing return codes of git commands
+ + t5512: stop losing git exit code in here-docs
+ + t5512: don't use `test_must_fail test_cmp`
- Will merge to 'master'.
+ Test clean-up continues.
-* js/t0007-typofix (2020-04-05) 1 commit
- (merged to 'next' on 2020-04-15 at ac9f86e08f)
- + t0007: fix a typo
+* dl/wrapper-fix-indentation (2020-03-28) 1 commit
+ (merged to 'next' on 2020-04-15 at e6b9c16b1b)
+ + wrapper: indent with tabs
- Typofix in a test script.
+ Coding style fix.
- Will merge to 'master'.
+* dr/doc-recurse-submodules (2020-04-06) 5 commits
+ (merged to 'next' on 2020-04-20 at 601e10f9a1)
+ + doc: --recurse-submodules mostly applies to active submodules
+ + doc: be more precise on (fetch|push).recurseSubmodules
+ + doc: explain how to deactivate submodule.recurse completely
+ + doc: document --recurse-submodules for reset and restore
+ + doc: list all commands affected by submodule.recurse
-* jt/avoid-prefetch-when-able-in-diff (2020-04-07) 4 commits
- (merged to 'next' on 2020-04-20 at 02b52c34bf)
- + diff: restrict when prefetching occurs
- + diff: refactor object read
- + diff: make diff_populate_filespec_options struct
- + promisor-remote: accept 0 as oid_nr in function
+ Documentation updates around the "--recurse-submodules" option.
- "git diff" in a partial clone learned to avoid lazy loading blob
- objects in more casese when they are not needed.
- Will merge to 'master'.
+* dr/midx-avoid-int-underflow (2020-03-28) 1 commit
+ (merged to 'next' on 2020-04-15 at eb2343a5eb)
+ + midx.c: fix an integer underflow
+ When fed a midx that records no objects, some codepaths tried to
+ loop from 0 through (num_objects-1), which, due to integer
+ arithmetic wrapping around, made it nonsense operation with out of
+ bounds array accesses. The code has been corrected to reject such
+ an midx file.
-* lx/submodule-clear-variables (2020-04-02) 1 commit
- (merged to 'next' on 2020-04-20 at c18cd924c9)
- + git-submodule.sh: setup uninitialized variables
- The "git submodule" command did not initialize a few variables it
- internally uses and was affected by variable settings leaked from
- the environment.
+* ds/commit-graph-expiry-fix (2020-04-01) 1 commit
+ (merged to 'next' on 2020-04-20 at 4afb3de947)
+ + commit-graph: fix buggy --expire-time option
- Will merge to 'master'.
+ "git commit-graph write --expire-time=<timestamp>" did not use the
+ given timestamp correctly, which has been corrected.
-* pb/pull-fetch-doc (2020-04-05) 2 commits
- (merged to 'next' on 2020-04-15 at cf530f230f)
- + pull doc: correct outdated description of an example
- + pull doc: refer to a specific section in 'fetch' doc
+* ds/doc-clone-filter (2020-03-22) 1 commit
+ (merged to 'next' on 2020-04-15 at 16276689b3)
+ + clone: document --filter options
- The more aggressive updates to remote-tracking branches we had for
- the past 7 years or so were not reflected in the documentation,
- which has been corrected.
+ Doc update.
- Will merge to 'master'.
+* ds/log-exclude-decoration-config (2020-04-16) 2 commits
+ (merged to 'next' on 2020-04-22 at 7dc5fae7d9)
+ + log: add log.excludeDecoration config option
+ + log-tree: make ref_filter_match() a helper method
-* dd/ci-swap-azure-pipelines-with-github-actions (2020-04-10) 14 commits
- (merged to 'next' on 2020-04-20 at 40d0486c23)
- + ci: let GitHub Actions upload failed tests' directories
- + ci: add a problem matcher for GitHub Actions
- + tests: when run in Bash, annotate test failures with file name/line number
- + ci: retire the Azure Pipelines definition
- + README: add a build badge for the GitHub Actions runs
- + ci: configure GitHub Actions for CI/PR
- + ci: run gem with sudo to install asciidoctor
- + ci: explicit install all required packages
- + ci: fix the `jobname` of the `GETTEXT_POISON` job
- + ci/lib: set TERM environment variable if not exist
- + ci/lib: allow running in GitHub Actions
- + ci/lib: if CI type is unknown, show the environment variables
- + Merge branch 'dd/ci-musl-libc' into HEAD
- + Merge branch 'dd/test-with-busybox' into HEAD
- (this branch uses dd/ci-musl-libc and dd/test-with-busybox.)
+ The "--decorate-refs" and "--decorate-refs-exclude" options "git
+ log" takes have learned a companion configuration variable
+ log.excludeDecoration that sits at the lowest priority in the
+ family.
- Update the CI configuration to use GitHub Actions, retiring the one
- based on Azure Pipelines.
- Will merge to 'master'.
+* ds/revision-show-pulls (2020-04-10) 1 commit
+ (merged to 'next' on 2020-04-15 at 89b4d86a3a)
+ + revision: --show-pulls adds helpful merges
+
+ "git log" learned "--show-pulls" that helps pathspec limited
+ history views; a merge commit that takes the whole change from a
+ side branch, which is normally omitted from the output, is shown
+ in addition to the commits that introduce real changes.
+
+
+* ds/t5319-touch-fix (2020-04-01) 1 commit
+ (merged to 'next' on 2020-04-20 at 41ccdb3fcd)
+ + t5319: replace 'touch -m' with 'test-tool chmtime'
+
+ Tests update to use "test-chmtime" instead of "touch -t".
* eb/format-patch-no-encode-headers (2020-04-07) 1 commit
directly be fed to e-mail programs. A new option has been added
to produce these headers in raw.
- Will merge to 'master'.
-
-
-* js/mingw-fixes (2020-04-10) 3 commits
- (merged to 'next' on 2020-04-15 at 11a3d39d2b)
- + mingw: help debugging by optionally executing bash with strace
- + mingw: do not treat `COM0` as a reserved file name
- + mingw: use modern strftime implementation if possible
-
- Misc fixes for Windows.
-
- Will merge to 'master'.
-
-
-* js/stash-p-fix (2020-04-08) 2 commits
- (merged to 'next' on 2020-04-20 at 435bf60bd5)
- + stash -p: (partially) fix bug concerning split hunks
- + t3904: fix incorrect demonstration of a bug
- Allowing the user to split a patch hunk while "git stash -p" does
- not work well; a band-aid has been added to make this (partially)
- work better.
-
- Will merge to 'master'.
-
-
-* js/subtree-doc-update-to-asciidoctor-2 (2020-04-08) 1 commit
- (merged to 'next' on 2020-04-20 at db1ed7a858)
- + subtree: fix build with AsciiDoctor 2
-
- Doc markup update.
-
- Will merge to 'master'.
-
-
-* pw/rebase-i-more-options (2020-04-07) 7 commits
- - SQUASH??? - avoid test numbering crashes
- - t3433: improve coverage
- - Revert "sequencer: allow callers of read_author_script() to ignore fields"
- - rebase -i: fix --committer-date-is-author-date
- - t3433: only compare commit dates
- - t3433: remove loops from tests
- - Revert "Revert "Merge branch 'ra/rebase-i-more-options'""
-
- "git rebase -i" learns a bit more options.
-
- Expecting a reroll.
- cf. <43d06bc0-b2ee-0ae6-f22c-9850e4033d45@gmail.com>
+* eb/mboxrd-doc (2020-04-15) 1 commit
+ (merged to 'next' on 2020-04-22 at 8935542c17)
+ + Documentation: explain "mboxrd" pretty format
+ Doc update.
-* bc/constant-memequal (2020-04-09) 1 commit
- (merged to 'next' on 2020-04-20 at 31180dae7d)
- + builtin/receive-pack: use constant-time comparison for HMAC value
- Validation of push certificate has been made more robust against
- timing attacks.
-
- Will merge to 'master'.
+* en/pull-do-not-rebase-after-fast-forwarding (2020-03-27) 1 commit
+ (merged to 'next' on 2020-04-15 at 3aa725ff45)
+ + pull: avoid running both merge and rebase
+ "git pull --rebase" tried to run a rebase even after noticing that
+ the pull results in a fast-forward and no rebase is needed nor
+ sensible, for the past few years due to a mistake nobody noticed.
-* ds/revision-show-pulls (2020-04-10) 1 commit
- (merged to 'next' on 2020-04-15 at 89b4d86a3a)
- + revision: --show-pulls adds helpful merges
- "git log" learned "--show-pulls" that helps pathspec limited
- history views; a merge commit that takes the whole change from a
- side branch, which is normally omitted from the output, is shown
- in addition to the commits that introduce real changes.
+* en/rebase-doc-hooks-called-by-accident (2020-04-05) 1 commit
+ (merged to 'next' on 2020-04-20 at 1011f8a876)
+ + git-rebase.txt: add another hook to the hooks section, and explain more
- Will merge to 'master'.
+ "git rebase" happens to call some hooks meant for "checkout" and
+ "commit" by this was not a designed behaviour than historical
+ accident. This has been documented.
* en/rebase-no-keep-empty (2020-04-11) 3 commits
opposed to the ones that become empty because of rebasing). The
interactive rebase also marks commits that are empty in the todo.
- Will merge to 'master'.
+
+* en/sequencer-reflog-action (2020-04-07) 1 commit
+ (merged to 'next' on 2020-04-15 at 6c635bdaa1)
+ + sequencer: honor GIT_REFLOG_ACTION
+
+ "git rebase -i" did not leave the reflog entries correctly.
+
+
+* jc/allow-strlen-substitution-in-shell-scripts (2020-03-29) 1 commit
+ (merged to 'next' on 2020-04-15 at 262424efdc)
+ + CodingGuidelines: allow ${#posix} == strlen($posix)
+
+ Coding guideline update.
+
+
+* jc/doc-test-leaving-early (2020-03-29) 1 commit
+ (merged to 'next' on 2020-04-20 at 4bd94585d1)
+ + t/README: suggest how to leave test early with failure
+
+ Document the recommended way to abort a failing test early (e.g. by
+ exiting a loop), which is to say "return 1".
+
+
+* jc/gnu-hurd-lets-fread-read-dirs (2020-04-22) 1 commit
+ (merged to 'next' on 2020-04-22 at 8cd50b8150)
+ + config.mak.uname: Define FREAD_READS_DIRECTORIES for GNU/Hurd
+
+ GNU/Hurd is also among the ones that need the fopen() wrapper.
+
+
+* jc/log-no-mailmap (2020-03-16) 3 commits
+ (merged to 'next' on 2020-04-20 at b43968e73e)
+ + log: give --[no-]use-mailmap a more sensible synonym --[no-]mailmap
+ + clone: reorder --recursive/--recurse-submodules
+ + parse-options: teach "git cmd -h" to show alias as alias
+
+ "git log" learns "--[no-]mailmap" as a synonym to "--[no-]use-mailmap"
* jc/missing-ref-store-fix (2020-04-09) 2 commits
about a full year without anybody noticing, which has been
corrected.
- Will merge to 'master'.
-
* jk/config-use-size-t (2020-04-10) 6 commits
(merged to 'next' on 2020-04-20 at 4af9fea74f)
length of various pieces of text it parsed, which has been updated
to use the correct type (i.e. size_t) throughout.
- Will merge to 'master'.
+
+* jk/credential-parsing-end-of-host-in-URL (2020-04-15) 1 commit
+ (merged to 'next' on 2020-04-15 at 55bc3eb7cb)
+ + credential: treat "?" and "#" in URLs as end of host
+
+ Parsing of URL for the credential helper has been corrected.
+
+
+* jk/fast-import-use-hashmap (2020-04-06) 1 commit
+ (merged to 'next' on 2020-04-20 at 76e8908efe)
+ + fast-import: replace custom hash with hashmap.c
+
+ The custom hash function used by "git fast-import" has been
+ replaced with the one from hashmap.c, which gave us a nice
+ performance boost.
+
+
+* jk/harden-protocol-v2-delim-handling (2020-03-29) 3 commits
+ (merged to 'next' on 2020-04-15 at c983535405)
+ + test-lib-functions: simplify packetize() stdin code
+ + upload-pack: handle unexpected delim packets
+ + test-lib-functions: make packetize() more efficient
+
+ The server-end of the v2 protocol to serve "git clone" and "git
+ fetch" was not prepared to see a delim packets at unexpected
+ places, which led to a crash.
+
+
+* jk/oid-array-cleanups (2020-03-30) 7 commits
+ (merged to 'next' on 2020-04-15 at d6155cd023)
+ + oidset: stop referring to sha1-array
+ + ref-filter: stop referring to "sha1 array"
+ + bisect: stop referring to sha1_array
+ + test-tool: rename sha1-array to oid-array
+ + oid_array: rename source file from sha1-array
+ + oid_array: use size_t for iteration
+ + oid_array: use size_t for count and allocation
+
+ Code cleanup.
+
+
+* jk/p5310-drop-non-bitmap-timing (2020-03-27) 1 commit
+ (merged to 'next' on 2020-04-15 at 7aac76cab2)
+ + p5310: stop timing non-bitmap pack-to-disk
+
+ Perf-test update.
+
+
+* jk/t3419-drop-expensive-tests (2020-03-22) 1 commit
+ (merged to 'next' on 2020-04-15 at a17ac8f996)
+ + t3419: drop EXPENSIVE tests
+
+ Test update.
+
+
+* jk/test-cleanup (2020-03-27) 2 commits
+ (merged to 'next' on 2020-04-15 at bce8b2d5ed)
+ + t/lib-*.sh: drop executable bit
+ + t/lib-credential.sh: drop shebang line
+
+ Test cleanup.
+
+
+* jk/use-quick-lookup-in-clone-for-tag-following (2020-04-01) 1 commit
+ (merged to 'next' on 2020-04-15 at 11d6110e99)
+ + clone: use "quick" lookup while following tags
+
+ The logic to auto-follow tags by "git clone --single-branch" was
+ not careful to avoid lazy-fetching unnecessary tags, which has been
+ corrected.
+
+
+* jm/gitweb-fastcgi-utf8 (2020-03-29) 1 commit
+ (merged to 'next' on 2020-04-15 at adb7f2373a)
+ + gitweb: fix UTF-8 encoding when using CGI::Fast
+
+ Gitweb update.
+
+
+* jn/demote-proto2-from-default (2020-04-22) 1 commit
+ (merged to 'next' on 2020-04-22 at 1a5e0b221a)
+ + Revert "fetch: default to protocol version 2"
+
+ Those fetching over protocol v2 from linux-next and other kernel
+ repositories are reporting that v2 often fetches way too much than
+ needed.
* js/flush-prompt-before-interative-input (2020-04-10) 2 commits
The interactive input from various codepaths are consolidated and
any prompt possibly issued earlier are fflush()ed before we read.
- Will merge to 'master'.
+
+* js/import-tars-do-not-make-phony-files-from-pax-headers (2020-03-24) 1 commit
+ (merged to 'next' on 2020-04-15 at 408afae2c9)
+ + import-tars: ignore the global PAX header
+
+ The import-tars importer (in contrib/fast-import/) used to create
+ phony files at the top-level of the repository when the archive
+ contains global PAX headers, which made its own logic to detect and
+ omit the common leading directory ineffective, which has been
+ corrected.
+
+
+* js/mingw-fixes (2020-04-10) 3 commits
+ (merged to 'next' on 2020-04-15 at 11a3d39d2b)
+ + mingw: help debugging by optionally executing bash with strace
+ + mingw: do not treat `COM0` as a reserved file name
+ + mingw: use modern strftime implementation if possible
+
+ Misc fixes for Windows.
* js/mingw-is-hidden-test-fix (2020-04-11) 3 commits
A Windows-specific test element has been made more robust against
misuse from both user's environment and programmer's errors.
- Will merge to 'master'.
-
* js/mingw-isilon-nfs (2020-04-10) 1 commit
(merged to 'next' on 2020-04-15 at 4bac536980)
Will merge to 'master'.
-* ma/config-doc-fix (2020-04-09) 1 commit
- (merged to 'next' on 2020-04-15 at 256175ec38)
- + config.txt: move closing "----" to cover entire listing
-
- Doc update.
-
- Will merge to 'master'.
-
+* js/stash-p-fix (2020-04-08) 2 commits
+ (merged to 'next' on 2020-04-20 at 435bf60bd5)
+ + stash -p: (partially) fix bug concerning split hunks
+ + t3904: fix incorrect demonstration of a bug
-* ma/simplify-merge-config-parsing (2020-04-11) 1 commit
- (merged to 'next' on 2020-04-15 at d2915301e4)
- + merge: use skip_prefix to parse config key
+ Allowing the user to split a patch hunk while "git stash -p" does
+ not work well; a band-aid has been added to make this (partially)
+ work better.
- Code simplification.
- Will merge to 'master'.
+* js/subtree-doc-update-to-asciidoctor-2 (2020-04-08) 1 commit
+ (merged to 'next' on 2020-04-20 at db1ed7a858)
+ + subtree: fix build with AsciiDoctor 2
+ Doc markup update.
-* ds/blame-on-bloom (2020-04-16) 3 commits
- - blame: use changed-path Bloom filters
- - tests: write commit-graph with Bloom filters
- - revision: complicated pathspecs disable filters
- (this branch uses gs/commit-graph-path-filter.)
- "git blame" learns to take advantage of the "changed-paths" Bloom
- filter stored in the commit-graph file.
+* js/t0007-typofix (2020-04-05) 1 commit
+ (merged to 'next' on 2020-04-15 at ac9f86e08f)
+ + t0007: fix a typo
- Will merge to 'next'.
+ Typofix in a test script.
-* dd/iso-8601-updates (2020-04-15) 2 commits
- - date.c: allow compact version of ISO-8601 datetime
- - date.c: skip fractional second part of ISO-8601
+* js/test-junit-finalization-fix (2020-03-23) 1 commit
+ (merged to 'next' on 2020-04-15 at 0d6a975146)
+ + tests(junit-xml): avoid invalid XML
- The approxidate parser learns to parse seconds with fraction.
+ Test fix.
- Expecting further work.
- cf. <20200417133647.GA26701@danh.dev>
+* js/tests-gpg-integration-on-windows (2020-03-26) 5 commits
+ (merged to 'next' on 2020-04-15 at 48a13eb0b2)
+ + tests: increase the verbosity of the GPG-related prereqs
+ + tests: turn GPG, GPGSM and RFC1991 into lazy prereqs
+ + tests: do not let lazy prereqs inside `test_expect_*` turn off tracing
+ + t/lib-gpg.sh: stop pretending to be a stand-alone script
+ + tests(gpg): allow the gpg-agent to start on Windows
-* ds/log-exclude-decoration-config (2020-04-16) 2 commits
- - log: add log.excludeDecoration config option
- - log-tree: make ref_filter_match() a helper method
+ Enable tests that require GnuPG on Windows.
- The "--decorate-refs" and "--decorate-refs-exclude" options "git
- log" takes have learned a companion configuration variable
- log.excludeDecoration that sits at the lowest priority in the
- family.
- Will merge to 'next'.
+* js/trace2-env-vars (2020-03-23) 1 commit
+ (merged to 'next' on 2020-04-15 at 1aad0adfa0)
+ + trace2: teach Git to log environment variables
+ Trace2 enhancement to allow logging of the environment variables.
-* jk/credential-parsing-end-of-host-in-URL (2020-04-15) 1 commit
- (merged to 'next' on 2020-04-15 at 55bc3eb7cb)
- + credential: treat "?" and "#" in URLs as end of host
- Parsing of URL for the credential helper has been corrected.
+* js/walk-doc-optim (2020-03-30) 1 commit
+ (merged to 'next' on 2020-04-15 at ca36c04a23)
+ + MyFirstObjectWalk: remove unnecessary conditional statement
- Will merge to 'master'.
+ Code cleanup.
-* lr/freshen-file-fix (2020-04-15) 1 commit
- (merged to 'next' on 2020-04-20 at e9370b0a81)
- + freshen_file(): use NULL `times' for implicit current-time
+* jt/avoid-prefetch-when-able-in-diff (2020-04-07) 4 commits
+ (merged to 'next' on 2020-04-20 at 02b52c34bf)
+ + diff: restrict when prefetching occurs
+ + diff: refactor object read
+ + diff: make diff_populate_filespec_options struct
+ + promisor-remote: accept 0 as oid_nr in function
- The code that refreshes the last access and modified time of
- on-disk packfiles and loose object files have been updated.
+ "git diff" in a partial clone learned to avoid lazy loading blob
+ objects in more casese when they are not needed.
- Will merge to 'master'.
+* jt/connectivity-check-optim-in-partial-clone (2020-03-29) 1 commit
+ (merged to 'next' on 2020-04-15 at 1b3692b7fb)
+ + connected: always use partial clone optimization
-* tb/commit-graph-split-strategy (2020-04-15) 7 commits
- - commit-graph.c: introduce '--[no-]check-oids'
- - commit-graph.h: replace 'commit_hex' with 'commits'
- - oidset: introduce 'oidset_size'
- - builtin/commit-graph.c: introduce split strategy 'replace'
- - builtin/commit-graph.c: introduce split strategy 'no-merge'
- - builtin/commit-graph.c: support for '--split[=<strategy>]'
- - t/helper/test-read-graph.c: support commit-graph chains
+ Simplify the commit ancestry connectedness check in a partial clone
+ repository in which "promised" objects are assumed to be obtainable
+ lazily on-demand from promisor remote repositories.
- "git commit-graph write" learned different ways to write out split
- files.
+* jt/rebase-allow-duplicate (2020-04-11) 1 commit
+ (merged to 'next' on 2020-04-15 at 56a9d83adf)
+ + rebase --merge: optionally skip upstreamed commits
+ (this branch uses en/rebase-no-keep-empty.)
-* gs/commit-graph-path-filter (2020-04-09) 16 commits
- - bloom: ignore renames when computing changed paths
- - commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag
- - t4216: add end to end tests for git log with Bloom filters
- - revision.c: add trace2 stats around Bloom filter usage
- - revision.c: use Bloom filters to speed up path based revision walks
- - commit-graph: add --changed-paths option to write subcommand
- - commit-graph: reuse existing Bloom filters during write
- - commit-graph: write Bloom filters to commit graph file
- - commit-graph: examine commits by generation number
- - commit-graph: examine changed-path objects in pack order
- - commit-graph: compute Bloom filters for changed paths
- - diff: halt tree-diff early after max_changes
- - bloom.c: core Bloom filter implementation for changed paths.
- - bloom.c: introduce core Bloom filter constructs
- - bloom.c: add the murmur3 hash implementation
- - commit-graph: define and use MAX_NUM_CHUNKS
- (this branch is used by ds/blame-on-bloom.)
+ Allow "git rebase" to reapply all local commits, even if the may be
+ already in the upstream, without checking first.
- Introduce an extension to the commit-graph to make it efficient to
- check for the paths that were modified at each commit using Bloom
- filters.
- Will merge to 'next'.
+* jx/atomic-push (2020-04-17) 5 commits
+ (merged to 'next' on 2020-04-20 at 266d6934d8)
+ + transport-helper: new method reject_atomic_push()
+ + transport-helper: mark failure for atomic push
+ + send-pack: mark failure of atomic push properly
+ + t5543: never report what we do not push
+ + send-pack: fix inconsistent porcelain output
+ "git push --atomic" used to show failures for refs that weren't
+ even pushed, which has been corrected.
-* ag/rebase-merge-allow-ff-under-abbrev-command (2020-03-30) 2 commits
- (merged to 'next' on 2020-04-15 at b4679f7c7c)
- + t3432: test `--merge' with `rebase.abbreviateCommands = true', too
- + sequencer: don't abbreviate a command if it doesn't have a short form
- "git rebase" with the merge backend did not work well when the
- rebase.abbreviateCommands configuration was set.
+* lr/freshen-file-fix (2020-04-15) 1 commit
+ (merged to 'next' on 2020-04-20 at e9370b0a81)
+ + freshen_file(): use NULL `times' for implicit current-time
- Will merge to 'master'.
+ The code that refreshes the last access and modified time of
+ on-disk packfiles and loose object files have been updated.
-* jk/oid-array-cleanups (2020-03-30) 7 commits
- (merged to 'next' on 2020-04-15 at d6155cd023)
- + oidset: stop referring to sha1-array
- + ref-filter: stop referring to "sha1 array"
- + bisect: stop referring to sha1_array
- + test-tool: rename sha1-array to oid-array
- + oid_array: rename source file from sha1-array
- + oid_array: use size_t for iteration
- + oid_array: use size_t for count and allocation
+* lx/submodule-clear-variables (2020-04-02) 1 commit
+ (merged to 'next' on 2020-04-20 at c18cd924c9)
+ + git-submodule.sh: setup uninitialized variables
- Code cleanup.
+ The "git submodule" command did not initialize a few variables it
+ internally uses and was affected by variable settings leaked from
+ the environment.
- Will merge to 'master'.
+* ma/config-doc-fix (2020-04-09) 1 commit
+ (merged to 'next' on 2020-04-15 at 256175ec38)
+ + config.txt: move closing "----" to cover entire listing
-* jx/proc-receive-hook (2020-04-15) 8 commits
- - SQUASH???
- - doc: add documentation for the proc-receive hook
- - receive-pack: new config receive.procReceiveRefs
- - refs.c: refactor to reuse ref_is_hidden()
- - send-pack: extension for client-side status report
- - receive-pack: add new proc-receive hook
- - connect: export parse_feature_value()
- - transport: not report a non-head push as a branch
+ Doc update.
- "git receive-pack" that accepts requests by "git push" learned to
- outsource most of the ref updates to the new "proc-receive" hook.
+* ma/doc-discard-docbook-xsl-1.73 (2020-03-31) 7 commits
+ (merged to 'next' on 2020-04-20 at c280472e02)
+ + user-manual.conf: don't specify [listingblock]
+ + INSTALL: drop support for docbook-xsl before 1.74
+ + manpage-normal.xsl: fold in manpage-base.xsl
+ + manpage-bold-literal.xsl: stop using git.docbook.backslash
+ + Doc: drop support for docbook-xsl before 1.73.0
+ + Doc: drop support for docbook-xsl before 1.72.0
+ + Doc: drop support for docbook-xsl before 1.71.1
-* dr/midx-avoid-int-underflow (2020-03-28) 1 commit
- (merged to 'next' on 2020-04-15 at eb2343a5eb)
- + midx.c: fix an integer underflow
+ Raise the minimum required version of docbook-xsl package to 1.74,
+ as 1.74.0 was from late 2008, which is more than 10 years old, and
+ drop compatibility cruft from our documentation suite.
- When fed a midx that records no objects, some codepaths tried to
- loop from 0 through (num_objects-1), which, due to integer
- arithmetic wrapping around, made it nonsense operation with out of
- bounds array accesses. The code has been corrected to reject such
- an midx file.
- Will merge to 'master'.
+* ma/simplify-merge-config-parsing (2020-04-11) 1 commit
+ (merged to 'next' on 2020-04-15 at d2915301e4)
+ + merge: use skip_prefix to parse config key
+ Code simplification.
-* ak/run-command-on-cygwin-fix (2020-03-27) 1 commit
- (merged to 'next' on 2020-04-15 at 9e98b82a7f)
- + run-command: trigger PATH lookup properly on Cygwin
- Utitiles run via the run_command() API were not spawned correctly
- on Cygwin, when the paths to them are given as a full path with
- backslashes.
+* ms/doc-revision-illustration-fix (2020-04-21) 1 commit
+ (merged to 'next' on 2020-04-22 at 245c0b78d5)
+ + docs: fix minor glitch in illustration
- Will merge to 'master'.
+ Docfix.
-* dd/ci-musl-libc (2020-04-06) 6 commits
- + travis: build and test on Linux with musl libc and busybox
- + ci/linux32: libify install-dependencies step
- + ci: refactor docker runner script
- + ci/linux32: parameterise command to switch arch
- + ci/lib-docker: preserve required environment variables
- + ci: make MAKEFLAGS available inside the Docker container in the Linux32 job
- (this branch is used by dd/ci-swap-azure-pipelines-with-github-actions.)
+* mt/grep-cquote-path (2020-04-20) 1 commit
+ (merged to 'next' on 2020-04-22 at 55cf00e322)
+ + grep: follow conventions for printing paths w/ unusual chars
- A new CI job to build and run test suite on linux with musl libc
- has been added.
+ "git grep" did not quote a path with unusual character like other
+ commands (like "git diff", "git status") do, but did quote when run
+ from a subdirectory, both of which has been corrected.
- Will merge to 'master'.
+* mt/test-lib-bundled-short-options (2020-03-25) 1 commit
+ (merged to 'next' on 2020-04-15 at 7fa0c56d91)
+ + test-lib: allow short options to be bundled
-* dr/doc-recurse-submodules (2020-04-06) 5 commits
- (merged to 'next' on 2020-04-20 at 601e10f9a1)
- + doc: --recurse-submodules mostly applies to active submodules
- + doc: be more precise on (fetch|push).recurseSubmodules
- + doc: explain how to deactivate submodule.recurse completely
- + doc: document --recurse-submodules for reset and restore
- + doc: list all commands affected by submodule.recurse
+ Minor test usability improvement.
- Documentation updates around the "--recurse-submodules" option.
- Will merge to 'master'.
+* pb/pull-fetch-doc (2020-04-05) 2 commits
+ (merged to 'next' on 2020-04-15 at cf530f230f)
+ + pull doc: correct outdated description of an example
+ + pull doc: refer to a specific section in 'fetch' doc
+ The more aggressive updates to remote-tracking branches we had for
+ the past 7 years or so were not reflected in the documentation,
+ which has been corrected.
-* dr/push-remoteref-fix (2020-04-06) 2 commits
- (merged to 'next' on 2020-04-15 at ecf60dc488)
- + remote.c: fix handling of %(push:remoteref)
- + remote.c: fix %(push) for triangular workflows
- The "%(push:remoteref)" placeholder in the "--format=" argument of
- "git format-patch" (and friends) only showed what got explicitly
- configured, not what ref at the receiving end would be updated when
- "git push" was used, as it ignored the default behaviour (e.g. update
- the same ref as the source).
+* pb/rebase-doc-typofix (2020-03-28) 1 commit
+ (merged to 'next' on 2020-04-15 at 8cd8422990)
+ + git-rebase.txt: fix typo
- Will merge to 'master'.
+ Typofix.
-* jc/doc-test-leaving-early (2020-03-29) 1 commit
- (merged to 'next' on 2020-04-20 at 4bd94585d1)
- + t/README: suggest how to leave test early with failure
+* rs/pull-options-sync-code-and-doc (2020-03-28) 2 commits
+ (merged to 'next' on 2020-04-15 at d743f43034)
+ + pull: pass documented fetch options on
+ + pull: remove --update-head-ok from documentation
- Document the recommended way to abort a failing test early (e.g. by
- exiting a loop), which is to say "return 1".
+ "git pull" shares many options with underlying "git fetch", but
+ some of them were not documented and some of those that would make
+ sense to pass down were not passed down.
- Will merge to 'master'.
+* tb/diff-tree-with-notes (2020-04-20) 1 commit
+ (merged to 'next' on 2020-04-22 at c06610c916)
+ + diff-tree.c: load notes machinery when required
-* jk/build-with-right-curl (2020-04-05) 3 commits
- - Makefile: avoid running curl-config unnecessarily
- - Makefile: use curl-config --cflags
- - Makefile: avoid running curl-config multiple times
+ "git diff-tree --pretty --notes" used to hit an assertion failure,
+ as it forgot to initialize the notes subsystem.
- The build procedure did not use the libcurl library and its include
- files correctly for a custom-built installation.
- On hold.
- cf. <20200404145829.GB679473@coredump.intra.peff.net>
+* tm/zsh-complete-switch-restore (2020-04-17) 1 commit
+ (merged to 'next' on 2020-04-22 at 8c65d7f051)
+ + complete: zsh: add missing sub cmd completion candidates
+ zsh command line completion (in contrib/) update.
-* jk/harden-protocol-v2-delim-handling (2020-03-29) 3 commits
- (merged to 'next' on 2020-04-15 at c983535405)
- + test-lib-functions: simplify packetize() stdin code
- + upload-pack: handle unexpected delim packets
- + test-lib-functions: make packetize() more efficient
- The server-end of the v2 protocol to serve "git clone" and "git
- fetch" was not prepared to see a delim packets at unexpected
- places, which led to a crash.
+* vd/range-diff-with-custom-pretty-format-fix (2020-04-15) 2 commits
+ (merged to 'next' on 2020-04-22 at da607b5dda)
+ + range-diff: avoid negative string precision
+ + range-diff: fix a crash in parsing git-log output
- Will merge to 'master'.
+ "git range-diff" fixes.
+ cf. <20200416010734.GE36156@syl.local>
+--------------------------------------------------
+[New Topics]
-* jk/p5310-drop-non-bitmap-timing (2020-03-27) 1 commit
- (merged to 'next' on 2020-04-15 at 7aac76cab2)
- + p5310: stop timing non-bitmap pack-to-disk
+* bc/wildcard-credential (2020-04-27) 1 commit
+ (merged to 'next' on 2020-04-28 at 1a0d6b91dc)
+ + credential: fix matching URLs with multiple levels in path
- Perf-test update.
+ Update the parser used for credential.<URL>.<variable>
+ configuration, to handle <URL>s with '/' in them correctly.
Will merge to 'master'.
-* jk/test-cleanup (2020-03-27) 2 commits
- (merged to 'next' on 2020-04-15 at bce8b2d5ed)
- + t/lib-*.sh: drop executable bit
- + t/lib-credential.sh: drop shebang line
+* dd/mailinfo-with-nul (2020-04-22) 3 commits
+ (merged to 'next' on 2020-04-28 at b1d3e40d49)
+ + mailinfo: disallow NUL character in mail's header
+ + mailinfo.c: avoid strlen on strings that can contains NUL
+ + t4254: merge 2 steps of a single test
- Test cleanup.
+ Tighten "git mailinfo" to notice and error out when decoded result
+ contains NUL in it.
Will merge to 'master'.
-* ps/transactional-update-ref-stdin (2020-04-02) 9 commits
- - update-ref: implement interactive transaction handling
- - update-ref: read commands in a line-wise fashion
- - update-ref: move transaction handling into `update_refs_stdin()`
- - update-ref: pass end pointer instead of strbuf
- - update-ref: drop unused argument for `parse_refname`
- - update-ref: organize commands in an array
- - strbuf: provide function to append whole lines
- - git-update-ref.txt: add missing word
- - refs: fix segfault when aborting empty transaction
-
- "git update-ref --stdin" learned a handful of new verbs to let the
- user control ref update transactions more explicitly, which helps
- as an ingredient to implement two-phase commit-style atomic
- ref-updates across multiple repositories.
+* ah/userdiff-markdown (2020-04-23) 1 commit
+ - userdiff: support Markdown
- Will merge to 'next'.
+ Expecting a reroll.
+ cf. <C28ZA0MZKHK6.2CCZPZF15D32W@what>
-* ag/sequencer-i18n-messages (2020-03-28) 1 commit
- (merged to 'next' on 2020-04-15 at d6b38d12cf)
- + sequencer: mark messages for translation
+* dd/sparse-fixes (2020-04-27) 4 commits
+ (merged to 'next' on 2020-04-28 at d809f916ee)
+ + progress.c: silence cgcc suggestion about internal linkage
+ + graph.c: limit linkage of internal variable
+ + compat/regex: move stdlib.h up in inclusion chain
+ + test-parse-pathspec-file.c: s/0/NULL/ for pointer type
- Message fix.
+ Compilation fix.
Will merge to 'master'.
-* dl/wrapper-fix-indentation (2020-03-28) 1 commit
- (merged to 'next' on 2020-04-15 at e6b9c16b1b)
- + wrapper: indent with tabs
+* mr/bisect-in-c-2 (2020-04-23) 12 commits
+ - bisect--helper: retire `--bisect-autostart` subcommand
+ - bisect--helper: retire `--write-terms` subcommand
+ - bisect--helper: retire `--check-expected-revs` subcommand
+ - bisect--helper: reimplement `bisect_state` & `bisect_head` shell functions in C
+ - bisect--helper: retire `--next-all` subcommand
+ - bisect--helper: retire `--bisect-clean-state` subcommand
+ - bisect--helper: finish porting `bisect_start()` to C
+ - bisect--helper: reimplement `bisect_next` and `bisect_auto_next` shell functions in C
+ - bisect--helper: reimplement `bisect_autostart` shell function in C
+ - bisect--helper: introduce new `write_in_file()` function
+ - bisect--helper: use '-res' in 'cmd_bisect__helper' return
+ - bisect--helper: fix `cmd_*()` function switch default return
- Coding style fix.
+ Rewrite of the remainder of "git bisect" script in C continues.
- Will merge to 'master'.
+ Any volunteer to review this?
-* en/pull-do-not-rebase-after-fast-forwarding (2020-03-27) 1 commit
- (merged to 'next' on 2020-04-15 at 3aa725ff45)
- + pull: avoid running both merge and rebase
+* tb/reset-shallow (2020-04-24) 2 commits
+ (merged to 'next' on 2020-04-28 at 9510639ae8)
+ + shallow.c: use '{commit,rollback}_shallow_file'
+ + t5537: use test_write_lines and indented heredocs for readability
- "git pull --rebase" tried to run a rebase even after noticing that
- the pull results in a fast-forward and no rebase is needed nor
- sensible, for the past few years due to a mistake nobody noticed.
+ Fix in-core inconsistency after fetching into a shallow repository
+ that broke the code to write out commit-graph.
Will merge to 'master'.
-* jc/allow-strlen-substitution-in-shell-scripts (2020-03-29) 1 commit
- (merged to 'next' on 2020-04-15 at 262424efdc)
- + CodingGuidelines: allow ${#posix} == strlen($posix)
+* ds/build-homebrew-gettext-fix (2020-04-27) 1 commit
+ (merged to 'next' on 2020-04-28 at 70c6eca470)
+ + macOS/brew: let the build find gettext headers/libraries/msgfmt
- Coding guideline update.
+ Recent update to Homebrew used by macOS folks breaks build by
+ moving gettext library and necessary headers.
Will merge to 'master'.
-* jm/gitweb-fastcgi-utf8 (2020-03-29) 1 commit
- (merged to 'next' on 2020-04-15 at adb7f2373a)
- + gitweb: fix UTF-8 encoding when using CGI::Fast
+* tb/commit-graph-fd-exhaustion-fix (2020-04-24) 4 commits
+ (merged to 'next' on 2020-04-28 at 6d5fd6bc49)
+ + commit-graph: close descriptors after mmap
+ + commit-graph.c: gracefully handle file descriptor exhaustion
+ + t/test-lib.sh: make ULIMIT_FILE_DESCRIPTORS available to tests
+ + commit-graph.c: don't use discarded graph_name in error
+ (this branch uses tb/commit-graph-split-strategy.)
- Gitweb update.
+ The commit-graph code exhausted file descriptors easily when it
+ does not have to.
Will merge to 'master'.
-* js/walk-doc-optim (2020-03-30) 1 commit
- (merged to 'next' on 2020-04-15 at ca36c04a23)
- + MyFirstObjectWalk: remove unnecessary conditional statement
+* ds/multi-pack-index (2020-04-24) 1 commit
+ (merged to 'next' on 2020-04-28 at b8f9691cbc)
+ + multi-pack-index: close file descriptor after mmap
- Code cleanup.
+ The multi-pack-index left mmapped file descriptors open when it
+ does not have to.
Will merge to 'master'.
-* jx/atomic-push (2020-04-17) 5 commits
- (merged to 'next' on 2020-04-20 at 266d6934d8)
- + transport-helper: new method reject_atomic_push()
- + transport-helper: mark failure for atomic push
- + send-pack: mark failure of atomic push properly
- + t5543: never report what we do not push
- + send-pack: fix inconsistent porcelain output
+* js/anonymise-push-url-in-errors (2020-04-28) 1 commit
+ (merged to 'next' on 2020-04-28 at 49539cf116)
+ + push: anonymize URLs in error messages and warnings
- "git push --atomic" used to show failures for refs that weren't
- even pushed, which has been corrected.
+ Error and verbose trace messages from "git push" did not redact
+ credential material embedded in URLs.
Will merge to 'master'.
-* ma/doc-discard-docbook-xsl-1.73 (2020-03-31) 7 commits
- (merged to 'next' on 2020-04-20 at c280472e02)
- + user-manual.conf: don't specify [listingblock]
- + INSTALL: drop support for docbook-xsl before 1.74
- + manpage-normal.xsl: fold in manpage-base.xsl
- + manpage-bold-literal.xsl: stop using git.docbook.backslash
- + Doc: drop support for docbook-xsl before 1.73.0
- + Doc: drop support for docbook-xsl before 1.72.0
- + Doc: drop support for docbook-xsl before 1.71.1
+* js/partial-urlmatch (2020-04-24) 3 commits
+ - Sync with js/partial-urlmatch-2.17
+ - credential: handle `credential.<partial-URL>.<key>` again
+ - credential: optionally allow partial URLs in credential_from_url_gently()
+ (this branch uses js/partial-urlmatch-2.17.)
- Raise the minimum required version of docbook-xsl package to 1.74,
- as 1.74.0 was from late 2008, which is more than 10 years old, and
- drop compatibility cruft from our documentation suite.
- Will merge to 'master'.
+* js/partial-urlmatch-2.17 (2020-04-24) 4 commits
+ - SQUASH??? lose excess blank line to match the other side of the eventual merge
+ - credential: handle `credential.<partial-URL>.<key>` again
+ - credential: optionally allow partial URLs in credential_from_url_gently()
+ - credential: fix grammar
+ (this branch is used by js/partial-urlmatch.)
-* pb/rebase-doc-typofix (2020-03-28) 1 commit
- (merged to 'next' on 2020-04-15 at 8cd8422990)
- + git-rebase.txt: fix typo
+* eb/gitweb-more-trailers (2020-04-24) 1 commit
+ (merged to 'next' on 2020-04-28 at 7b16ac0810)
+ + gitweb: Recognize *-to and Closes/Fixes trailers
- Typofix.
+ Gitweb updates.
Will merge to 'master'.
-* rs/pull-options-sync-code-and-doc (2020-03-28) 2 commits
- (merged to 'next' on 2020-04-15 at d743f43034)
- + pull: pass documented fetch options on
- + pull: remove --update-head-ok from documentation
+* en/rebase-root-and-fork-point-are-incompatible (2020-04-27) 1 commit
+ (merged to 'next' on 2020-04-28 at 8ea4882905)
+ + rebase: display an error if --root and --fork-point are both provided
- "git pull" shares many options with underlying "git fetch", but
- some of them were not documented and some of those that would make
- sense to pass down were not passed down.
+ Incompatible options "--root" and "--fork-point" of "git rebase"
+ have been marked and documented as being incompatible.
Will merge to 'master'.
-* en/fill-directory-exponential (2020-04-01) 12 commits
- - completion: fix 'git add' on paths under an untracked directory
- - Fix error-prone fill_directory() API; make it only return matches
- - dir: replace double pathspec matching with single in treat_directory()
- - dir: include DIR_KEEP_UNTRACKED_CONTENTS handling in treat_directory()
- - dir: replace exponential algorithm with a linear one
- - dir: refactor treat_directory to clarify control flow
- - dir: fix confusion based on variable tense
- - dir: fix broken comment
- - dir: consolidate treat_path() and treat_one_path()
- - dir: fix simple typo in comment
- - t3000: add more testcases testing a variety of ls-files issues
- - t7063: more thorough status checking
+* jc/credential-store-file-format-doc (2020-04-27) 1 commit
+ - credential-store: document the file format a bit more
- The directory traversal code had redundant recursive calls which
- made its performance characteristics exponential with respect to
- the depth of the tree, which was corrected.
- Will merge to 'next'.
+* jk/complete-git-switch (2020-04-28) 11 commits
+ - completion: complete remote branches for git switch --track
+ - completion: recognize -c/-C when completing for git switch
+ - completion: fix completion for git switch with no options
+ - completion: perform DWIM logic directly in __git_complete_refs
+ - completion: extract function __git_dwim_remote_heads
+ - completion: rename --track option of __git_complete_refs
+ - completion: stop completing refs for git switch --orphan
+ - completion: add tests showing lack of support for git switch -c/-C
+ - completion: add test highlighting subpar git switch --track completion
+ - completion: add test showing subpar git switch completion
+ - completion: add some simple test cases for git switch completion
+ The command line completion (in contrib/) learned to complete
+ options that the "git switch" command takes.
-* dd/test-with-busybox (2020-03-26) 8 commits
- (merged to 'next' on 2020-04-15 at 8177191066)
- + t5703: feed raw data into test-tool unpack-sideband
- + t4124: tweak test so that non-compliant diff(1) can also be used
- + t7063: drop non-POSIX argument "-ls" from find(1)
- + t5616: use rev-parse instead to get HEAD's object_id
- + t5003: skip conversion test if unzip -a is unavailable
- + t5003: drop the subshell in test_lazy_prereq
- + test-lib-functions: test_cmp: eval $GIT_TEST_CMP
- + t4061: use POSIX compliant regex(7)
- (this branch is used by dd/ci-swap-azure-pipelines-with-github-actions.)
- Various tests have been updated to work around issues found with
- shell utilities that come with busybox etc.
+* jt/v2-fetch-nego-fix (2020-04-28) 3 commits
+ (merged to 'next' on 2020-04-28 at c6f9ebf2f7)
+ + fetch-pack: in protocol v2, reset in_vain upon ACK
+ + fetch-pack: in protocol v2, in_vain only after ACK
+ + fetch-pack: return enum from process_acks()
+
+ The upload-pack protocol v2 gave up too early before finding a
+ common ancestor, resulting in a wasteful fetch from a fork of a
+ project. This has been corrected to match the behaviour of v0
+ protocol.
Will merge to 'master'.
-* dl/libify-a-few (2020-03-24) 2 commits
- (merged to 'next' on 2020-04-20 at 84eb704a32)
- + Lib-ify prune-packed
- + Lib-ify fmt-merge-msg
+* mt/doc-worktree-ref (2020-04-24) 1 commit
+ (merged to 'next' on 2020-04-28 at d96c05cb0a)
+ + config doc: fix reference to config.worktree info
- Code in builtin/*, i.e. those can only be called from within
- built-in subcommands, that implements bulk of a couple of
- subcommands have been moved to libgit.a so that they could be used
- by others.
+ Docfix.
Will merge to 'master'.
-* dl/test-must-fail-fixes-3 (2020-03-27) 8 commits
- (merged to 'next' on 2020-04-15 at dd0130c158)
- + t5801: teach compare_refs() to accept !
- + t5612: stop losing return codes of git commands
- + t5612: don't use `test_must_fail test_cmp`
- + t5607: reorder `nongit test_must_fail`
- + t5550: simplify no matching line check
- + t5512: stop losing return codes of git commands
- + t5512: stop losing git exit code in here-docs
- + t5512: don't use `test_must_fail test_cmp`
+* tb/commit-graph-perm-bits (2020-04-27) 6 commits
+ - commit-graph.c: make 'commit-graph-chain's read-only
+ - commit-graph.c: ensure graph layers respect core.sharedRepository
+ - SQUASH??? force known umask if you are going to check the resulting mode bits
+ - commit-graph.c: write non-split graphs as read-only
+ - lockfile.c: introduce 'hold_lock_file_for_update_mode'
+ - tempfile.c: introduce 'create_tempfile_mode'
- Test clean-up continues.
+ Some of the files commit-graph subsystem keeps on disk did not
+ correctly honor the core.sharedRepository settings and some were
+ left read-write.
- Will merge to 'master'.
+ Expecting a reroll.
-* en/sparse-checkout (2020-03-27) 18 commits
- (merged to 'next' on 2020-04-15 at 3e295e445d)
- + sparse-checkout: provide a new reapply subcommand
- + unpack-trees: failure to set SKIP_WORKTREE bits always just a warning
- + unpack-trees: provide warnings on sparse updates for unmerged paths too
- + unpack-trees: make sparse path messages sound like warnings
- + unpack-trees: split display_error_msgs() into two
- + unpack-trees: rename ERROR_* fields meant for warnings to WARNING_*
- + unpack-trees: move ERROR_WOULD_LOSE_SUBMODULE earlier
- + sparse-checkout: use improved unpack_trees porcelain messages
- + sparse-checkout: use new update_sparsity() function
- + unpack-trees: add a new update_sparsity() function
- + unpack-trees: pull sparse-checkout pattern reading into a new function
- + unpack-trees: do not mark a dirty path with SKIP_WORKTREE
- + unpack-trees: allow check_updates() to work on a different index
- + t1091: make some tests a little more defensive against failures
- + unpack-trees: simplify pattern_list freeing
- + unpack-trees: simplify verify_absent_sparse()
- + unpack-trees: remove unused error type
- + unpack-trees: fix minor typo in comment
+* dl/merge-autostash-rebase-quit-fix (2020-04-28) 1 commit
+ (merged to 'next' on 2020-04-28 at 24dcf3edc1)
+ + rebase: save autostash entry into stash reflog on --quit
+ (this branch uses dl/merge-autostash.)
- "sparse-checkout" UI improvements.
+ The stash entry created by "git rebase --autosquash" to keep the
+ initial dirty state were discarded by mistake upon "git rebase
+ --quit", which has been corrected.
Will merge to 'master'.
-* js/import-tars-do-not-make-phony-files-from-pax-headers (2020-03-24) 1 commit
- (merged to 'next' on 2020-04-15 at 408afae2c9)
- + import-tars: ignore the global PAX header
+* dl/opt-callback-cleanup (2020-04-28) 1 commit
+ (merged to 'next' on 2020-04-28 at aa773e183a)
+ + Use OPT_CALLBACK and OPT_CALLBACK_F
- The import-tars importer (in contrib/fast-import/) used to create
- phony files at the top-level of the repository when the archive
- contains global PAX headers, which made its own logic to detect and
- omit the common leading directory ineffective, which has been
- corrected.
+ Code cleanup.
Will merge to 'master'.
-* js/test-junit-finalization-fix (2020-03-23) 1 commit
- (merged to 'next' on 2020-04-15 at 0d6a975146)
- + tests(junit-xml): avoid invalid XML
+* dl/push-recurse-submodules-fix (2020-04-28) 1 commit
+ (merged to 'next' on 2020-04-28 at c2cd20ef9e)
+ + push: unset PARSE_OPT_OPTARG for --recurse-submodules
- Test fix.
+ Code cleanup.
Will merge to 'master'.
-* js/tests-gpg-integration-on-windows (2020-03-26) 5 commits
- (merged to 'next' on 2020-04-15 at 48a13eb0b2)
- + tests: increase the verbosity of the GPG-related prereqs
- + tests: turn GPG, GPGSM and RFC1991 into lazy prereqs
- + tests: do not let lazy prereqs inside `test_expect_*` turn off tracing
- + t/lib-gpg.sh: stop pretending to be a stand-alone script
- + tests(gpg): allow the gpg-agent to start on Windows
+* jk/test-fail-prereqs-fix (2020-04-28) 1 commit
+ (merged to 'next' on 2020-04-28 at 75787711c0)
+ + t0000: disable GIT_TEST_FAIL_PREREQS in sub-tests
- Enable tests that require GnuPG on Windows.
+ Test update.
Will merge to 'master'.
+--------------------------------------------------
+[Stalled]
-* dl/merge-autostash (2020-04-10) 22 commits
- - pull: pass --autostash to merge
- - t5520: make test_pull_autostash() accept expect_parent_num
- - merge: teach --autostash option
- - sequencer: implement apply_autostash_oid()
- - sequencer: implement save_autostash()
- - sequencer: unlink autostash in apply_autostash()
- - sequencer: extract perform_autostash() from rebase
- - rebase: generify create_autostash()
- - rebase: extract create_autostash()
- - reset: extract reset_head() from rebase
- - rebase: generify reset_head()
- - rebase: use apply_autostash() from sequencer.c
- - sequencer: rename stash_sha1 to stash_oid
- - sequencer: make apply_autostash() accept a path
- - rebase: use read_oneliner()
- - sequencer: make read_oneliner() extern
- - sequencer: configurably warn on non-existent files
- - sequencer: make read_oneliner() accept flags
- - sequencer: make file exists check more efficient
- - sequencer: stop leaking buf
- - t7600: use test_write_lines()
- - Makefile: ASCII-sort += lists
+* mk/use-size-t-in-zlib (2018-10-15) 1 commit
+ - zlib.c: use size_t for size
- "git merge" learns the "--autostash" option.
+ The wrapper to call into zlib followed our long tradition to use
+ "unsigned long" for sizes of regions in memory, which have been
+ updated to use "size_t".
- Will merge to 'next'.
+--------------------------------------------------
+[Cooking]
+* dr/push-remoteref-fix (2020-04-23) 1 commit
+ - remote.c: fix handling of %(push:remoteref)
-* js/trace2-env-vars (2020-03-23) 1 commit
- (merged to 'next' on 2020-04-15 at 1aad0adfa0)
- + trace2: teach Git to log environment variables
+ The "%(push:remoteref)" placeholder in the "--format=" argument of
+ "git format-patch" (and friends) only showed what got explicitly
+ configured, not what ref at the receiving end would be updated when
+ "git push" was used, as it ignored the default behaviour (e.g. update
+ the same ref as the source).
+
+ Expecting a reroll.
+ cf. <20200416152145.wp2zeibxmuyas6y6@feanor>
- Trace2 enhancement to allow logging of the environment variables.
+
+* dl/test-must-fail-fixes-4 (2020-04-20) 7 commits
+ (merged to 'next' on 2020-04-28 at 6f4804aa09)
+ + t9819: don't use test_must_fail with p4
+ + t9164: use test_must_fail only on git commands
+ + t9160: use test_path_is_missing()
+ + t9141: use test_path_is_missing()
+ + t7508: don't use `test_must_fail test_cmp`
+ + t7408: replace incorrect uses of test_must_fail
+ + t6030: use test_path_is_missing()
+
+ Test clean-up.
Will merge to 'master'.
-* ar/test-style-fixes (2020-03-22) 2 commits
- (merged to 'next' on 2020-04-15 at 50ed75bccf)
- + t: fix whitespace around &&
- + t9500: remove spaces after redirect operators
+* dd/ci-swap-azure-pipelines-with-github-actions (2020-04-10) 14 commits
+ (merged to 'next' on 2020-04-20 at 40d0486c23)
+ + ci: let GitHub Actions upload failed tests' directories
+ + ci: add a problem matcher for GitHub Actions
+ + tests: when run in Bash, annotate test failures with file name/line number
+ + ci: retire the Azure Pipelines definition
+ + README: add a build badge for the GitHub Actions runs
+ + ci: configure GitHub Actions for CI/PR
+ + ci: run gem with sudo to install asciidoctor
+ + ci: explicit install all required packages
+ + ci: fix the `jobname` of the `GETTEXT_POISON` job
+ + ci/lib: set TERM environment variable if not exist
+ + ci/lib: allow running in GitHub Actions
+ + ci/lib: if CI type is unknown, show the environment variables
+ + Merge branch 'dd/ci-musl-libc' into HEAD
+ + Merge branch 'dd/test-with-busybox' into HEAD
+ (this branch uses dd/ci-musl-libc.)
- Style fixes.
+ Update the CI configuration to use GitHub Actions, retiring the one
+ based on Azure Pipelines.
- Will merge to 'master'.
+ Will merge to 'master', together with dd/ci-musl-libc.
-* ds/doc-clone-filter (2020-03-22) 1 commit
- (merged to 'next' on 2020-04-15 at 16276689b3)
- + clone: document --filter options
+* pw/rebase-i-more-options (2020-04-07) 7 commits
+ - SQUASH??? - avoid test numbering crashes
+ - t3433: improve coverage
+ - Revert "sequencer: allow callers of read_author_script() to ignore fields"
+ - rebase -i: fix --committer-date-is-author-date
+ - t3433: only compare commit dates
+ - t3433: remove loops from tests
+ - Revert "Revert "Merge branch 'ra/rebase-i-more-options'""
- Doc update.
+ "git rebase -i" learns a bit more options.
- Will merge to 'master'.
+ Expecting a reroll.
+ cf. <43d06bc0-b2ee-0ae6-f22c-9850e4033d45@gmail.com>
-* jk/t3419-drop-expensive-tests (2020-03-22) 1 commit
- (merged to 'next' on 2020-04-15 at a17ac8f996)
- + t3419: drop EXPENSIVE tests
+* ds/blame-on-bloom (2020-04-23) 6 commits
+ (merged to 'next' on 2020-04-28 at 6152eb2eb3)
+ + test-bloom: check that we have expected arguments
+ + test-bloom: fix some whitespace issues
+ + blame: drop unused parameter from maybe_changed_path
+ (merged to 'next' on 2020-04-22 at dc4f24e54b)
+ + blame: use changed-path Bloom filters
+ + tests: write commit-graph with Bloom filters
+ + revision: complicated pathspecs disable filters
+ (this branch uses gs/commit-graph-path-filter.)
+
+ "git blame" learns to take advantage of the "changed-paths" Bloom
+ filter stored in the commit-graph file.
+
+ Will merge to 'master', together with gs/commit-graph-path-filter.
- Test update.
+
+* dd/iso-8601-updates (2020-04-24) 4 commits
+ (merged to 'next' on 2020-04-28 at 18fba39171)
+ + date.c: allow compact version of ISO-8601 datetime
+ + date.c: skip fractional second part of ISO-8601
+ + date.c: validate and set time in a helper function
+ + date.c: s/is_date/set_date/
+
+ The approxidate parser learns to parse seconds with fraction.
Will merge to 'master'.
-* jt/connectivity-check-optim-in-partial-clone (2020-03-29) 1 commit
- (merged to 'next' on 2020-04-15 at 1b3692b7fb)
- + connected: always use partial clone optimization
+* tb/commit-graph-split-strategy (2020-04-15) 7 commits
+ + commit-graph.c: introduce '--[no-]check-oids'
+ + commit-graph.h: replace 'commit_hex' with 'commits'
+ + oidset: introduce 'oidset_size'
+ + builtin/commit-graph.c: introduce split strategy 'replace'
+ + builtin/commit-graph.c: introduce split strategy 'no-merge'
+ + builtin/commit-graph.c: support for '--split[=<strategy>]'
+ + t/helper/test-read-graph.c: support commit-graph chains
+ (this branch is used by tb/commit-graph-fd-exhaustion-fix.)
- Simplify the commit ancestry connectedness check in a partial clone
- repository in which "promised" objects are assumed to be obtainable
- lazily on-demand from promisor remote repositories.
+ "git commit-graph write" learned different ways to write out split
+ files.
Will merge to 'master'.
-* mt/test-lib-bundled-short-options (2020-03-25) 1 commit
- (merged to 'next' on 2020-04-15 at 7fa0c56d91)
- + test-lib: allow short options to be bundled
+* gs/commit-graph-path-filter (2020-04-09) 16 commits
+ (merged to 'next' on 2020-04-22 at 34b35f43bd)
+ + bloom: ignore renames when computing changed paths
+ + commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag
+ + t4216: add end to end tests for git log with Bloom filters
+ + revision.c: add trace2 stats around Bloom filter usage
+ + revision.c: use Bloom filters to speed up path based revision walks
+ + commit-graph: add --changed-paths option to write subcommand
+ + commit-graph: reuse existing Bloom filters during write
+ + commit-graph: write Bloom filters to commit graph file
+ + commit-graph: examine commits by generation number
+ + commit-graph: examine changed-path objects in pack order
+ + commit-graph: compute Bloom filters for changed paths
+ + diff: halt tree-diff early after max_changes
+ + bloom.c: core Bloom filter implementation for changed paths.
+ + bloom.c: introduce core Bloom filter constructs
+ + bloom.c: add the murmur3 hash implementation
+ + commit-graph: define and use MAX_NUM_CHUNKS
+ (this branch is used by ds/blame-on-bloom.)
- Minor test usability improvement.
+ Introduce an extension to the commit-graph to make it efficient to
+ check for the paths that were modified at each commit using Bloom
+ filters.
+
+ Will merge to 'master' together with ds/blame-on-bloom.
+
+
+* jx/proc-receive-hook (2020-04-15) 8 commits
+ - SQUASH???
+ - doc: add documentation for the proc-receive hook
+ - receive-pack: new config receive.procReceiveRefs
+ - refs.c: refactor to reuse ref_is_hidden()
+ - send-pack: extension for client-side status report
+ - receive-pack: add new proc-receive hook
+ - connect: export parse_feature_value()
+ - transport: not report a non-head push as a branch
+
+ "git receive-pack" that accepts requests by "git push" learned to
+ outsource most of the ref updates to the new "proc-receive" hook.
+
+
+* dd/ci-musl-libc (2020-04-06) 6 commits
+ + travis: build and test on Linux with musl libc and busybox
+ + ci/linux32: libify install-dependencies step
+ + ci: refactor docker runner script
+ + ci/linux32: parameterise command to switch arch
+ + ci/lib-docker: preserve required environment variables
+ + ci: make MAKEFLAGS available inside the Docker container in the Linux32 job
+ (this branch is used by dd/ci-swap-azure-pipelines-with-github-actions.)
+
+ A new CI job to build and run test suite on linux with musl libc
+ has been added.
Will merge to 'master'.
-* bk/p4-pre-edit-changelist (2020-02-14) 7 commits
- (merged to 'next' on 2020-04-15 at 3e7cecd445)
- + git-p4: add RCS keyword status message
- + git-p4: add p4 submit hooks
- + git-p4: restructure code in submit
- + git-p4: add --no-verify option
- + git-p4: add p4-pre-submit exit text
- + git-p4: create new function run_git_hook
- + git-p4: rewrite prompt to be Windows compatible
+* jk/build-with-right-curl (2020-04-05) 3 commits
+ (merged to 'next' on 2020-04-28 at 1718c25b44)
+ + Makefile: avoid running curl-config unnecessarily
+ + Makefile: use curl-config --cflags
+ + Makefile: avoid running curl-config multiple times
- "git p4" learned four new hooks and also "--no-verify" option to
- bypass them (and the existing "p4-pre-submit" hook).
+ The build procedure did not use the libcurl library and its include
+ files correctly for a custom-built installation.
Will merge to 'master'.
+ cf. <20200428033611.GB2369457@coredump.intra.peff.net>
-* jt/rebase-allow-duplicate (2020-04-11) 1 commit
- (merged to 'next' on 2020-04-15 at 56a9d83adf)
- + rebase --merge: optionally skip upstreamed commits
- (this branch uses en/rebase-no-keep-empty.)
+* ps/transactional-update-ref-stdin (2020-04-02) 9 commits
+ (merged to 'next' on 2020-04-22 at 5c92add109)
+ + update-ref: implement interactive transaction handling
+ + update-ref: read commands in a line-wise fashion
+ + update-ref: move transaction handling into `update_refs_stdin()`
+ + update-ref: pass end pointer instead of strbuf
+ + update-ref: drop unused argument for `parse_refname`
+ + update-ref: organize commands in an array
+ + strbuf: provide function to append whole lines
+ + git-update-ref.txt: add missing word
+ + refs: fix segfault when aborting empty transaction
- Allow "git rebase" to reapply all local commits, even if the may be
- already in the upstream, without checking first.
+ "git update-ref --stdin" learned a handful of new verbs to let the
+ user control ref update transactions more explicitly, which helps
+ as an ingredient to implement two-phase commit-style atomic
+ ref-updates across multiple repositories.
Will merge to 'master'.
-* bc/faq (2020-03-30) 1 commit
- (merged to 'next' on 2020-04-15 at 2d4c46ca7a)
- + docs: add a FAQ
+* en/fill-directory-exponential (2020-04-01) 12 commits
+ (merged to 'next' on 2020-04-22 at e2577e3dc9)
+ + completion: fix 'git add' on paths under an untracked directory
+ + Fix error-prone fill_directory() API; make it only return matches
+ + dir: replace double pathspec matching with single in treat_directory()
+ + dir: include DIR_KEEP_UNTRACKED_CONTENTS handling in treat_directory()
+ + dir: replace exponential algorithm with a linear one
+ + dir: refactor treat_directory to clarify control flow
+ + dir: fix confusion based on variable tense
+ + dir: fix broken comment
+ + dir: consolidate treat_path() and treat_one_path()
+ + dir: fix simple typo in comment
+ + t3000: add more testcases testing a variety of ls-files issues
+ + t7063: more thorough status checking
- Doc update.
+ The directory traversal code had redundant recursive calls which
+ made its performance characteristics exponential with respect to
+ the depth of the tree, which was corrected.
Will merge to 'master'.
-* jc/log-no-mailmap (2020-03-16) 3 commits
- (merged to 'next' on 2020-04-20 at b43968e73e)
- + log: give --[no-]use-mailmap a more sensible synonym --[no-]mailmap
- + clone: reorder --recursive/--recurse-submodules
- + parse-options: teach "git cmd -h" to show alias as alias
+* en/sparse-checkout (2020-03-27) 18 commits
+ (merged to 'next' on 2020-04-15 at 3e295e445d)
+ + sparse-checkout: provide a new reapply subcommand
+ + unpack-trees: failure to set SKIP_WORKTREE bits always just a warning
+ + unpack-trees: provide warnings on sparse updates for unmerged paths too
+ + unpack-trees: make sparse path messages sound like warnings
+ + unpack-trees: split display_error_msgs() into two
+ + unpack-trees: rename ERROR_* fields meant for warnings to WARNING_*
+ + unpack-trees: move ERROR_WOULD_LOSE_SUBMODULE earlier
+ + sparse-checkout: use improved unpack_trees porcelain messages
+ + sparse-checkout: use new update_sparsity() function
+ + unpack-trees: add a new update_sparsity() function
+ + unpack-trees: pull sparse-checkout pattern reading into a new function
+ + unpack-trees: do not mark a dirty path with SKIP_WORKTREE
+ + unpack-trees: allow check_updates() to work on a different index
+ + t1091: make some tests a little more defensive against failures
+ + unpack-trees: simplify pattern_list freeing
+ + unpack-trees: simplify verify_absent_sparse()
+ + unpack-trees: remove unused error type
+ + unpack-trees: fix minor typo in comment
- "git log" learns "--[no-]mailmap" as a synonym to "--[no-]use-mailmap"
+ "sparse-checkout" UI improvements.
Will merge to 'master'.
-* hn/reftable (2020-04-20) 10 commits
+* dl/merge-autostash (2020-04-10) 22 commits
+ (merged to 'next' on 2020-04-22 at 98b991e8f5)
+ + pull: pass --autostash to merge
+ + t5520: make test_pull_autostash() accept expect_parent_num
+ + merge: teach --autostash option
+ + sequencer: implement apply_autostash_oid()
+ + sequencer: implement save_autostash()
+ + sequencer: unlink autostash in apply_autostash()
+ + sequencer: extract perform_autostash() from rebase
+ + rebase: generify create_autostash()
+ + rebase: extract create_autostash()
+ + reset: extract reset_head() from rebase
+ + rebase: generify reset_head()
+ + rebase: use apply_autostash() from sequencer.c
+ + sequencer: rename stash_sha1 to stash_oid
+ + sequencer: make apply_autostash() accept a path
+ + rebase: use read_oneliner()
+ + sequencer: make read_oneliner() extern
+ + sequencer: configurably warn on non-existent files
+ + sequencer: make read_oneliner() accept flags
+ + sequencer: make file exists check more efficient
+ + sequencer: stop leaking buf
+ + t7600: use test_write_lines()
+ + Makefile: ASCII-sort += lists
+ (this branch is used by dl/merge-autostash-rebase-quit-fix.)
+
+ "git merge" learns the "--autostash" option.
+
+ Will merge to 'master' together with the "rebase --quit" fix.
+
+
+* hn/reftable (2020-04-27) 12 commits
+ - t: use update-ref and show-ref to reading/writing refs
+ - Add some reftable testing infrastructure
- Reftable support for git-core
- Add reftable library
- reftable: clarify how empty tables should be written
has been implemented and integrated for improved performance and
atomicity.
- At v9
- cf. <pull.539.v9.git.1587417295.gitgitgadget@gmail.com>
+ At v10. VCbuild may have to be updated to deal with the new lib.
+ cf. https://github.com/git/git/runs/624424705?check_suite_focus=true
+ cf. <pull.539.v10.git.1588018418.gitgitgadget@gmail.com>
-* es/bugreport (2020-04-16) 5 commits
- - bugreport: add compiler info
- - bugreport: add uname info
- - bugreport: gather git version and build info
- - bugreport: add tool to generate debugging info
- - help: move list_config_help to builtin/help
+* es/bugreport (2020-04-27) 6 commits
+ (merged to 'next' on 2020-04-28 at fdfd36a5d7)
+ + bugreport: drop extraneous includes
+ (merged to 'next' on 2020-04-22 at f5a2ab988e)
+ + bugreport: add compiler info
+ + bugreport: add uname info
+ + bugreport: gather git version and build info
+ + bugreport: add tool to generate debugging info
+ + help: move list_config_help to builtin/help
The "bugreport" tool.
- Will merge to 'next'.
+ Will merge to 'master'.
--------------------------------------------------
[Discarded]