diff --git a/whats-cooking.txt b/whats-cooking.txt index 612d6b6571..9db1a487be 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,10 +1,10 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Mar 2020, #08; Wed, 25) -X-master-at: a7d14a44285d3ec4b25bf9e3b7df701221350661 -X-next-at: 33ef6b2f381b0c2d6c1eba5609779d5de2162ad9 +Subject: What's cooking in git.git (Mar 2020, #09; Sun, 29) +X-master-at: 9fadedd637b312089337d73c3ed8447e9f0aa775 +X-next-at: 6d04fd2bf2c2653e09ae1d75aa42c176da447be8 -What's cooking in git.git (Mar 2020, #08; Wed, 25) +What's cooking in git.git (Mar 2020, #09; Sun, 29) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -23,388 +23,21 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* am/real-path-fix (2020-03-10) 4 commits - (merged to 'next' on 2020-03-11 at 1f843820a7) - + get_superproject_working_tree(): return strbuf - + real_path_if_valid(): remove unsafe API - + real_path: remove unsafe API - + set_git_dir: fix crash when used with real_path() +* ah/force-pull-rebase-configuration (2020-03-10) 1 commit + (merged to 'next' on 2020-03-11 at c79dbbaf9c) + + pull: warn if the user didn't say whether to rebase or to merge - The real_path() convenience function can easily be misused; with a - bit of code refactoring in the callers' side, its use has been - eliminated. + "git pull" learned to warn when no pull.rebase configuration + exists, and neither --[no-]rebase nor --ff-only is given (which + would result a merge). -* ds/check-connected-reprepare-packed-git (2020-03-15) 1 commit - (merged to 'next' on 2020-03-16 at 609a322030) - + connected.c: reprepare packs for corner cases +* at/rebase-fork-point-regression-fix (2020-02-11) 1 commit + (merged to 'next' on 2020-03-02 at a1a84d37a7) + + rebase: --fork-point regression fix - Corner case "git fetch" fix. - - -* en/oidset-uninclude-hashmap (2020-03-15) 1 commit - (merged to 'next' on 2020-03-16 at a79879866d) - + oidset: remove unnecessary include - - Code clean-up. - - -* hw/advise-ng (2020-03-05) 4 commits - (merged to 'next' on 2020-03-09 at ea9e5a1fa3) - + tag: use new advice API to check visibility - + advice: revamp advise API - + advice: change "setupStreamFailure" to "setUpstreamFailure" - + advice: extract vadvise() from advise() - - Revamping of the advise API to allow more systematic enumeration of - advice knobs in the future. - - -* jc/config-tar (2020-03-18) 1 commit - (merged to 'next' on 2020-03-19 at aa6216fd1a) - + separate tar.* config to its own source file - - Improve the structure of the documentation source a bit. - - -* jc/maintain-doc (2020-03-09) 1 commit - (merged to 'next' on 2020-03-09 at 7f1a754f60) - + update how-to-maintain-git - - Doc update. - - -* js/https-proxy-config (2020-03-05) 2 commits - (merged to 'next' on 2020-03-09 at 8a06f8501d) - + http: add environment variable support for HTTPS proxies - + http: add client cert support for HTTPS proxies - - A handful of options to configure SSL when talking to proxies have - been added. - - -* pw/advise-rebase-skip (2019-12-06) 7 commits - (merged to 'next' on 2020-03-11 at 80386de756) - + commit: give correct advice for empty commit during a rebase - + commit: encapsulate determine_whence() for sequencer - + commit: use enum value for multiple cherry-picks - + sequencer: write CHERRY_PICK_HEAD for reword and edit - + cherry-pick: check commit error messages - + cherry-pick: add test for `--skip` advice in `git commit` - + t3404: use test_cmp_rev - - The mechanism to prevent "git commit" from making an empty commit - or amending during an interrupted cherry-pick was broken during the - rewrite of "git rebase" in C, which has been corrected. - cf. - - -* rs/doc-passthru-fetch-options (2020-03-11) 1 commit - (merged to 'next' on 2020-03-12 at f08dab7228) - + pull: document more passthru options - - Doc update. - - -* sg/commit-slab-clarify-peek (2020-03-10) 1 commit - (merged to 'next' on 2020-03-11 at 0496b26f23) - + commit-slab: clarify slabname##_peek()'s return value - - In-code comment update. - - -* ss/submodule-foreach-cb (2020-03-18) 1 commit - (merged to 'next' on 2020-03-21 at 6651eafe02) - + submodule--helper.c: Rename 'cb_foreach' to 'foreach_cb' - - Code clean-up. - - -* yz/p4-py3 (2020-03-10) 14 commits - (merged to 'next' on 2020-03-11 at 01ca57c2b2) - + ci: use python3 in linux-gcc and osx-gcc and python2 elsewhere - + git-p4: use python3's input() everywhere - + git-p4: simplify regex pattern generation for parsing diff-tree - + git-p4: use dict.items() iteration for python3 compatibility - + git-p4: use functools.reduce instead of reduce - + git-p4: fix freezing while waiting for fast-import progress - + git-p4: use marshal format version 2 when sending to p4 - + git-p4: open .gitp4-usercache.txt in text mode - + git-p4: convert path to unicode before processing them - + git-p4: encode/decode communication with git for python3 - + git-p4: encode/decode communication with p4 for python3 - + git-p4: remove string type aliasing - + git-p4: change the expansion test from basestring to list - + git-p4: make python2.7 the oldest supported version - - Update "git p4" to work with Python 3. - --------------------------------------------------- -[New Topics] - -* dd/test-with-busybox (2020-03-25) 8 commits - - t5703: feed raw data into test-tool unpack-sideband - - t4124: fix test for non-compliant diff(1) - - 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) - - Various tests have been updated to work around issues found with - shell utilities that come with busybox etc. - - Will merge to 'next'. - - -* dl/libify-a-few (2020-03-24) 2 commits - - 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. - - -* dl/test-must-fail-fixes-3 (2020-03-24) 8 commits - - 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: remove use of `test_might_fail grep` - - t5512: stop losing return codes of git commands - - t5512: generate references with generate_references() - - t5512: don't use `test_must_fail test_cmp` - - Test clean-up continues. - - -* en/sparse-checkout (2020-03-23) 18 commits - - 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 - - "sparse-checkout" UI improvements. - - -* js/import-tars-do-not-make-phony-files-from-pax-headers (2020-03-24) 1 commit - - 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. - - Will merge to 'next'. - - -* js/test-junit-finalization-fix (2020-03-23) 1 commit - - tests(junit-xml): avoid invalid XML - - Test fix. - - Will merge to 'next'. - - -* js/tests-gpg-integration-on-windows (2020-03-25) 5 commits - - tests: increase the verbosity of the GPG-related prereqs - - tests: do not let lazy prereqs inside `test_expect_*` turn off tracing - - tests: turn GPG, GPGSM and RFC1991 into lazy prereqs - - t/lib-gpg.sh: stop pretending to be a stand-alone script - - tests(gpg): allow the gpg-agent to start on Windows - - Enable tests that require GnuPG on Windows. - - Will merge to 'next'. - --------------------------------------------------- -[Stalled] - -* gs/commit-graph-path-filter (2020-02-12) 12 commits - - (bytesex breakage band-aid) - - commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag - - 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: core Bloom filter implementation for changed paths - - commit-graph: use MAX_NUM_CHUNKS - - 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 be rerolled with bytesex fixes squashed in. - Breakage due to byte-order dependency reported. - - -* en/fill-directory-exponential (2020-01-31) 6 commits - - t7063: blindly accept diffs - - 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() - - 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. - - Expecting an update. - cf. - cf. - cf. - - -* vn/reset-deleted-ita (2019-07-26) 1 commit - - reset: unstage empty deleted ita files - - "git reset HEAD []" did not reset an empty file that was - added with the intent-to-add bit. - - Will discard. - Getting tired of expecting a reroll. - - -* mk/use-size-t-in-zlib (2018-10-15) 1 commit - - zlib.c: use size_t for size - - The wrapper to call into zlib followed our long tradition to use - "unsigned long" for sizes of regions in memory, which have been - updated to use "size_t". - --------------------------------------------------- -[Cooking] - -* dl/merge-autostash (2020-03-24) 19 commits - - pull: pass --autostash to merge - - t5520: make test_pull_autostash() accept expect_parent_num - - merge: teach --autostash option - - 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: make apply_rebase() 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: use file strbuf for read_oneliner() - - t7600: use test_write_lines() - - Makefile: ASCII-sort += lists - - "git merge" learns the "--autostash" option. - - -* ds/default-pack-use-sparse-to-true (2020-03-20) 2 commits - (merged to 'next' on 2020-03-21 at 25cc87784d) - + pack-objects: flip the use of GIT_TEST_PACK_SPARSE - + config: set pack.useSparse=true by default - - The 'pack.useSparse' configuration variable now defaults to 'true', - enabling an optimization that has been experimental since Git 2.21. - - Will cook in 'next'. - - -* js/trace2-env-vars (2020-03-23) 1 commit - - trace2: teach Git to log environment variables - - Trace2 enhancement to allow logging of the environment variables. - - -* ar/test-style-fixes (2020-03-22) 2 commits - - t: fix whitespace around && - - t9500: remove spaces after redirect operators - - Style fixes. - - Will merge to 'next'. - - -* ds/doc-clone-filter (2020-03-22) 1 commit - - clone: document --filter options - - Doc update. - - Will merge to 'next'. - - -* jk/t3419-drop-expensive-tests (2020-03-22) 1 commit - - t3419: drop EXPENSIVE tests - - Test update. - - Will merge to 'next'. - - -* jt/connectivity-check-optim-in-partial-clone (2020-03-22) 1 commit - - connected: always use partial clone optimization - - 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. - - -* mt/test-lib-bundled-short-options (2020-03-25) 1 commit - - test-lib: allow short options to be bundled - - Minor test usability improvement. - - Will merge to 'next'. - - -* bk/p4-pre-edit-changelist (2020-02-14) 7 commits - - 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 - - "git p4" learned four new hooks and also "--no-verify" option to - bypass them (and the existing "p4-pre-submit" hook). - - Will merge to 'next'. - Getting tired of waiting for response to RFH from Windows/Python folks. - cf. - - -* jt/rebase-allow-duplicate (2020-03-18) 1 commit - - rebase --merge: optionally skip upstreamed commits - - Allow "git rebase" to reapply all local commits, even if the may be - already in the upstream, without checking first. - - Waiting for discussion to settle, possibly followed by a reroll. - cf. <20200318192821.43808-1-jonathantanmy@google.com> + The "--fork-point" mode of "git rebase" regressed when the command + was rewritten in C back in 2.20 era, which has been corrected. * bc/filter-process (2020-03-16) 8 commits @@ -422,108 +55,6 @@ of the repositories listed at the blob being converted appears, in addition to its path, which has already been given) to smudge/clean conversion filters. - Will merge to 'master'. - - -* bc/faq (2020-03-24) 1 commit - - docs: add a FAQ - - Doc update. - - -* jc/log-no-mailmap (2020-03-16) 3 commits - - 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" - - -* hi/gpg-prefer-check-signature (2020-03-15) 2 commits - (merged to 'next' on 2020-03-17 at 2def2d9a7e) - + gpg-interface: prefer check_signature() for GPG verification - + t: increase test coverage of signature verification output - - The code to interface with GnuPG has been refactored. - - Will merge to 'master'. - - -* tb/commit-graph-split-merge (2020-03-24) 3 commits - - builtin/commit-graph.c: support '--input=graphed' - + builtin/commit-graph.c: introduce '--input=' - + builtin/commit-graph.c: support '--split[=]' - - The code to write out the commit-graph has been taught a few - options to control if the resulting graph chains should be merged - or a single new incremental graph is created. - - Will merge to 'next'. - - -* ah/force-pull-rebase-configuration (2020-03-10) 1 commit - (merged to 'next' on 2020-03-11 at c79dbbaf9c) - + pull: warn if the user didn't say whether to rebase or to merge - - "git pull" learned to warn when no pull.rebase configuration - exists, and neither --[no-]rebase nor --ff-only is given (which - would result a merge). - - Will cook in 'next'. - - -* tg/retire-scripted-stash (2020-03-05) 2 commits - (merged to 'next' on 2020-03-05 at 8e82eb9dec) - + stash: remove the stash.useBuiltin setting - + stash: get git_stash_config at the top level - - "git stash" has kept an escape hatch to use the scripted version - for a few releases, which got stale. It has been removed. - - Will cook in 'next'. - cf. <20200306172913.GF1571684@cat> - - -* at/rebase-fork-point-regression-fix (2020-02-11) 1 commit - (merged to 'next' on 2020-03-02 at a1a84d37a7) - + rebase: --fork-point regression fix - - The "--fork-point" mode of "git rebase" regressed when the command - was rewritten in C back in 2.20 era, which has been corrected. - - Will cook in 'next'. - - -* jc/describe-misnamed-annotated-tag (2020-02-20) 1 commit - (merged to 'next' on 2020-03-02 at b4e2ca6a46) - + describe: force long format for a name based on a mislocated tag - - When "git describe C" finds an annotated tag with tagname A to be - the best name to explain commit C, and the tag is stored in a - "wrong" place in the refs/tags hierarchy, e.g. refs/tags/B, the - command gave a warning message but used A (not B) to describe C. - If C is exactly at the tag, the describe output would be "A", but - "git rev-parse A^0" would not be equal as "git rev-parse C^0". The - behavior of the command has been changed to use the "long" form - i.e. A-0-gOBJECTNAME, which is correctly interpreted by rev-parse. - - Will cook in 'next'. - - -* pb/recurse-submodules-fix (2020-02-19) 6 commits - (merged to 'next' on 2020-03-17 at b46922ddd1) - + t/lib-submodule-update: add test removing nested submodules - + unpack-trees: check for missing submodule directory in merged_entry - + unpack-trees: remove outdated description for verify_clean_submodule - + t/lib-submodule-update: move a test to the right section - + t/lib-submodule-update: remove outdated test description - + t7112: remove mention of KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTED - - Fix "git checkout --recurse-submodules" of a nested submodule - hierarchy. - - Will merge to 'master'. - * bc/sha-256-part-1-of-4 (2020-02-28) 22 commits (merged to 'next' on 2020-03-17 at 436c4e64a7) @@ -552,7 +83,566 @@ of the repositories listed at SHA-256 transition continues. - Will merge to 'master'. + +* ds/default-pack-use-sparse-to-true (2020-03-20) 2 commits + (merged to 'next' on 2020-03-21 at 25cc87784d) + + pack-objects: flip the use of GIT_TEST_PACK_SPARSE + + config: set pack.useSparse=true by default + + The 'pack.useSparse' configuration variable now defaults to 'true', + enabling an optimization that has been experimental since Git 2.21. + + +* hi/gpg-prefer-check-signature (2020-03-15) 2 commits + (merged to 'next' on 2020-03-17 at 2def2d9a7e) + + gpg-interface: prefer check_signature() for GPG verification + + t: increase test coverage of signature verification output + + The code to interface with GnuPG has been refactored. + + +* jc/describe-misnamed-annotated-tag (2020-02-20) 1 commit + (merged to 'next' on 2020-03-02 at b4e2ca6a46) + + describe: force long format for a name based on a mislocated tag + + When "git describe C" finds an annotated tag with tagname A to be + the best name to explain commit C, and the tag is stored in a + "wrong" place in the refs/tags hierarchy, e.g. refs/tags/B, the + command gave a warning message but used A (not B) to describe C. + If C is exactly at the tag, the describe output would be "A", but + "git rev-parse A^0" would not be equal as "git rev-parse C^0". The + behavior of the command has been changed to use the "long" form + i.e. A-0-gOBJECTNAME, which is correctly interpreted by rev-parse. + + +* pb/recurse-submodules-fix (2020-02-19) 6 commits + (merged to 'next' on 2020-03-17 at b46922ddd1) + + t/lib-submodule-update: add test removing nested submodules + + unpack-trees: check for missing submodule directory in merged_entry + + unpack-trees: remove outdated description for verify_clean_submodule + + t/lib-submodule-update: move a test to the right section + + t/lib-submodule-update: remove outdated test description + + t7112: remove mention of KNOWN_FAILURE_SUBMODULE_RECURSIVE_NESTED + + Fix "git checkout --recurse-submodules" of a nested submodule + hierarchy. + + +* tg/retire-scripted-stash (2020-03-05) 2 commits + (merged to 'next' on 2020-03-05 at 8e82eb9dec) + + stash: remove the stash.useBuiltin setting + + stash: get git_stash_config at the top level + + "git stash" has kept an escape hatch to use the scripted version + for a few releases, which got stale. It has been removed. + +-------------------------------------------------- +[New Topics] + +* dr/midx-avoid-int-underflow (2020-03-28) 1 commit + - 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. + + Will merge to 'next'. + + +* ak/run-command-on-cygwin-fix (2020-03-27) 1 commit + - 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. + + Will merge to 'next'. + + +* dd/ci-musl-libc (2020-03-29) 3 commits + - travis: build and test on Linux with musl libc and busybox + - ci: refactor docker runner script + - ci: libify logic for usage and checking CI_USER + + A new CI job to build and run test suite on linux with musl libc + has been added. + + +* dr/doc-recurse-submodules (2020-03-27) 5 commits + - 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 + + Documentation updates around the "--recurse-submodules" option. + + Will merge to 'next'. + + +* dr/push-remoteref-fix (2020-03-27) 1 commit + - remote.c: fix handling of %(push:remoteref) + + 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. <20200328222546.gvrtzkcazf3bhjno@doriath> + + +* jc/doc-test-leaving-early (2020-03-29) 1 commit + - 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". + + Will merge to 'next'. + + +* jk/build-with-right-curl (2020-03-27) 2 commits + - Makefile: use curl-config --cflags + - Makefile: avoid running curl-config multiple times + + The build procedure did not use the libcurl library and its include + files correctly for a custom-built installation. + + Will merge to 'next'. + + +* jk/harden-protocol-v2-delim-handling (2020-03-29) 3 commits + - 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. + + Will merge to 'next'. + + +* jk/p5310-drop-non-bitmap-timing (2020-03-27) 1 commit + - p5310: stop timing non-bitmap pack-to-disk + + Perf-test update. + + Will merge to 'next'. + + +* jk/test-cleanup (2020-03-27) 2 commits + - t/lib-*.sh: drop executable bit + - t/lib-credential.sh: drop shebang line + + Test cleanup. + + Will merge to 'next'. + + +* ps/transactional-update-ref-stdin (2020-03-27) 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. + + Good start, but suspect not quite there yet. + cf. + + +* ag/sequencer-i18n-messages (2020-03-28) 1 commit + - sequencer: mark messages for translation + + Message fix. + + Will merge to 'next'. + + +* dl/wrapper-fix-indentation (2020-03-28) 1 commit + - wrapper: indent with tabs + + Coding style fix. + + Will merge to 'next'. + + +* en/pull-do-not-rebase-after-fast-forwarding (2020-03-27) 1 commit + - 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. + + Will merge to 'next'. + + +* jc/allow-strlen-substitution-in-shell-scripts (2020-03-29) 1 commit + - CodingGuidelines: allow ${#posix} == strlen($posix) + + Coding guideline update. + + +* jm/gitweb-fastcgi-utf8 (2020-03-29) 1 commit + - gitweb: fix UTF-8 encoding when using CGI::Fast + + Gitweb update. + + +* js/walk-doc-optim (2020-03-28) 1 commit + - MyFirstObjectWalk: remove unnecessary conditional statement + + Code cleanup. + + Will merge to 'next'. + + +* jx/atomic-push (2020-03-29) 4 commits + - 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 + + "git push --atomic" used to show failures for refs that weren't + even pushed, which has been corrected. + + Will merge to 'next'. + + +* ma/doc-discard-docbook-xsl-1.73 (2020-03-29) 6 commits + - 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 + + 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 'next'. + + +* pb/rebase-doc-typofix (2020-03-28) 1 commit + - git-rebase.txt: fix typo + + Typofix. + + Will merge to 'next'. + + +* rs/pull-options-sync-code-and-doc (2020-03-28) 2 commits + - pull: pass documented fetch options on + - pull: remove --update-head-ok from documentation + + "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 'next'. + +-------------------------------------------------- +[Stalled] + +* gs/commit-graph-path-filter (2020-02-12) 12 commits + - (bytesex breakage band-aid) + - commit-graph: add GIT_TEST_COMMIT_GRAPH_CHANGED_PATHS test flag + - 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: core Bloom filter implementation for changed paths + - commit-graph: use MAX_NUM_CHUNKS + + 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. + + Expecting a reroll. + cf. + Breakage due to byte-order dependency reported. + + +* mk/use-size-t-in-zlib (2018-10-15) 1 commit + - zlib.c: use size_t for size + + The wrapper to call into zlib followed our long tradition to use + "unsigned long" for sizes of regions in memory, which have been + updated to use "size_t". + +-------------------------------------------------- +[Cooking] + +* en/fill-directory-exponential (2020-03-26) 7 commits + - 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 + - t7063: more thorough status checking + + 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. + + Expecting a reroll. + cf. (v4) + cf. + + +* dd/test-with-busybox (2020-03-26) 8 commits + - 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) + + Various tests have been updated to work around issues found with + shell utilities that come with busybox etc. + + Will merge to 'next'. + + +* dl/libify-a-few (2020-03-24) 2 commits + - 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. + + Will merge to 'next'. + + +* dl/test-must-fail-fixes-3 (2020-03-27) 8 commits + - 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` + + Test clean-up continues. + + Will merge to 'next'. + + +* en/sparse-checkout (2020-03-27) 18 commits + - 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 + + "sparse-checkout" UI improvements. + + Will merge to 'next'. + + +* js/import-tars-do-not-make-phony-files-from-pax-headers (2020-03-24) 1 commit + - 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. + + Will merge to 'next'. + + +* js/test-junit-finalization-fix (2020-03-23) 1 commit + - tests(junit-xml): avoid invalid XML + + Test fix. + + Will merge to 'next'. + + +* js/tests-gpg-integration-on-windows (2020-03-26) 5 commits + - 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 + + Enable tests that require GnuPG on Windows. + + Will merge to 'next'. + + +* dl/merge-autostash (2020-03-24) 19 commits + - pull: pass --autostash to merge + - t5520: make test_pull_autostash() accept expect_parent_num + - merge: teach --autostash option + - 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: make apply_rebase() 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: use file strbuf for read_oneliner() + - t7600: use test_write_lines() + - Makefile: ASCII-sort += lists + + "git merge" learns the "--autostash" option. + + Will merge to 'next'. + + +* js/trace2-env-vars (2020-03-23) 1 commit + - trace2: teach Git to log environment variables + + Trace2 enhancement to allow logging of the environment variables. + + Will merge to 'next'. + + +* ar/test-style-fixes (2020-03-22) 2 commits + - t: fix whitespace around && + - t9500: remove spaces after redirect operators + + Style fixes. + + Will merge to 'next'. + + +* ds/doc-clone-filter (2020-03-22) 1 commit + - clone: document --filter options + + Doc update. + + Will merge to 'next'. + + +* jk/t3419-drop-expensive-tests (2020-03-22) 1 commit + - t3419: drop EXPENSIVE tests + + Test update. + + Will merge to 'next'. + + +* jt/connectivity-check-optim-in-partial-clone (2020-03-29) 1 commit + - connected: always use partial clone optimization + + 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. + + Looking good. + cf. <20200326231416.GC12694@google.com> + + +* mt/test-lib-bundled-short-options (2020-03-25) 1 commit + - test-lib: allow short options to be bundled + + Minor test usability improvement. + + Will merge to 'next'. + + +* bk/p4-pre-edit-changelist (2020-02-14) 7 commits + - 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 + + "git p4" learned four new hooks and also "--no-verify" option to + bypass them (and the existing "p4-pre-submit" hook). + + Will merge to 'next'. + Getting tired of waiting for response to RFH from Windows/Python folks. + cf. + + +* jt/rebase-allow-duplicate (2020-03-29) 2 commits + - t3402: use POSIX compliant regex(7) + - rebase --merge: optionally skip upstreamed commits + + Allow "git rebase" to reapply all local commits, even if the may be + already in the upstream, without checking first. + + Waiting for discussion to settle, possibly followed by a reroll. + cf. <20200318192821.43808-1-jonathantanmy@google.com> + + +* bc/faq (2020-03-24) 1 commit + - docs: add a FAQ + + Doc update. + + Expecting a reroll. + cf. <20200325110328.GK6499@camp.crustytoothpaste.net> + + +* jc/log-no-mailmap (2020-03-16) 3 commits + - 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" + + Will merge to 'next'. + + +* tb/commit-graph-split-merge (2020-03-24) 3 commits + - builtin/commit-graph.c: support '--input=graphed' + + builtin/commit-graph.c: introduce '--input=' + + builtin/commit-graph.c: support '--split[=]' + + The code to write out the commit-graph has been taught a few + options to control if the resulting graph chains should be merged + or a single new incremental graph is created. + + Will merge to 'next'. * hn/reftable (2020-02-26) 6 commits @@ -572,7 +662,7 @@ of the repositories listed at SHA-256 topic. -* es/bugreport (2020-03-23) 5 commits +* es/bugreport (2020-03-26) 5 commits - bugreport: add compiler info - bugreport: add uname info - bugreport: gather git version and build info @@ -581,9 +671,9 @@ of the repositories listed at The "bugreport" tool. - New iteration (v11) exists, which needs to be picked up. - As the scope of the topic got trimmed, hopefully these early parts - can be polished quickly enough to be merged down. + Ready for 'next' to be improved/enhanced on top? As the scope of + the topic got trimmed, hopefully these early parts can be polished + quickly enough to be merged down. -------------------------------------------------- [Discarded] @@ -595,3 +685,10 @@ of the repositories listed at unexpected behaviour that need to be ironed out before it becomes the default. Let's switch the default back to the "apply" backend for now. + + +* vn/reset-deleted-ita (2019-07-26) 1 commit + . reset: unstage empty deleted ita files + + "git reset HEAD []" did not reset an empty file that was + added with the intent-to-add bit.