From: Junio C Hamano Date: Thu, 18 Jun 2020 06:15:45 +0000 (-0700) Subject: What's cooking (2020/06 #03) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3fa9929407a2d76a05c2ccdbeeb0b862d8ff1c14;p=thirdparty%2Fgit.git What's cooking (2020/06 #03) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index c5fe664004..beb06ea83a 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 (Jun 2020, #02; Wed, 10) -X-master-at: 0313f36c6ebecb3bffe6f15cf25a4883100f0214 -X-next-at: abb59f83a216876869f6c88d32485dc740ada78d +Subject: What's cooking in git.git (Jun 2020, #03; Wed, 17) +X-master-at: 101b3204f37606972b40fc17dec84560c22f69f6 +X-next-at: f2d1464379e7567b01b55fbf8432e75d72aa537f -What's cooking in git.git (Jun 2020, #02; Wed, 10) +What's cooking in git.git (Jun 2020, #03; Wed, 17) -------------------------------------------------- Here are the topics that have been cooking. Commits prefixed with @@ -12,8 +12,6 @@ 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. -The tip of 'next' has been rewound and rebuilt. - You can find the changes described here in the integration branches of the repositories listed at @@ -22,244 +20,231 @@ of the repositories listed at -------------------------------------------------- [Graduated to "master"] -* bc/filter-process (2020-05-21) 2 commits - (merged to 'next' on 2020-05-24 at 3d51328096) - + t2060: add a test for switch with --orphan and --discard-changes - + builtin/checkout: simplify metadata initialization - - Code simplification and test coverage enhancement. - +* dl/python-2.7-is-the-floor-version (2020-06-08) 1 commit + (merged to 'next' on 2020-06-10 at ad3269ff40) + + CodingGuidelines: specify Python 2.7 is the oldest version -* cb/bisect-helper-parser-fix (2020-05-24) 1 commit - (merged to 'next' on 2020-05-24 at d30e10fa86) - + bisect--helper: avoid segfault with bad syntax in `start --term-*` + Document that we do not support Python 2.6 or older. - The code to parse "git bisect start" command line was lax in - validating the arguments. +* dl/t-readme-spell-git-correctly (2020-06-08) 1 commit + (merged to 'next' on 2020-06-10 at 60144a59ed) + + t/README: avoid poor-man's small caps GIT -* cb/t4210-illseq-auto-detect (2020-05-18) 2 commits - (merged to 'next' on 2020-05-24 at c03b4095fa) - + t4210: detect REG_ILLSEQ dynamically and skip affected tests - + t/helper: teach test-regex to report pattern errors (like REG_ILLSEQ) + Doc updates. - As FreeBSD is not the only platform whose regexp library reports - a REG_ILLSEQ error when fed invalid UTF-8, add logic to detect that - automatically and skip the affected tests. +* en/do-match-pathspec-fix (2020-06-05) 1 commit + (merged to 'next' on 2020-06-10 at 2e63c8c0fc) + + dir: fix treatment of negated pathspecs -* cc/upload-pack-data (2020-05-18) 13 commits - (merged to 'next' on 2020-05-29 at 66008d9209) - + upload-pack: use upload_pack_data fields in receive_needs() - + upload-pack: pass upload_pack_data to create_pack_file() - + upload-pack: remove static variable 'stateless_rpc' - + upload-pack: pass upload_pack_data to check_non_tip() - + upload-pack: pass upload_pack_data to send_ref() - + upload-pack: move symref to upload_pack_data - + upload-pack: use upload_pack_data writer in receive_needs() - + upload-pack: pass upload_pack_data to receive_needs() - + upload-pack: pass upload_pack_data to get_common_commits() - + upload-pack: use 'struct upload_pack_data' in upload_pack() - + upload-pack: move 'struct upload_pack_data' around - + upload-pack: move {want,have}_obj to upload_pack_data - + upload-pack: remove unused 'wants' from upload_pack_data - (this branch is used by cc/upload-pack-data-2.) + Use of negative pathspec, while collecting paths including + untracked ones in the working tree, was broken. - Code clean-up. +* en/sparse-checkout (2020-06-05) 1 commit + (merged to 'next' on 2020-06-10 at 697a10b031) + + sparse-checkout: avoid staging deletions of all files -* dl/remote-curl-deadlock-fix (2020-05-24) 7 commits - (merged to 'next' on 2020-05-26 at 072714ca7f) - + stateless-connect: send response end packet - + pkt-line: define PACKET_READ_RESPONSE_END - + remote-curl: error on incomplete packet - + pkt-line: extern packet_length() - + transport: extract common fetch_pack() call - + remote-curl: remove label indentation - + remote-curl: fix typo + The behaviour of "sparse-checkout" in the state "git clone + --no-checkout" left was changed accidentally in 2.27, which has + been corrected. - On-the-wire protocol v2 easily falls into a deadlock between the - remote-curl helper and the fetch-pack process when the server side - prematurely throws an error and disconnects. The communication has - been updated to make it more robust. +* es/advertise-contribution-doc (2020-06-08) 1 commit + (merged to 'next' on 2020-06-10 at c72c7da667) + + docs: mention MyFirstContribution in more places -* ds/line-log-on-bloom (2020-05-11) 5 commits - (merged to 'next' on 2020-05-11 at 046d49d455) - + line-log: integrate with changed-path Bloom filters - + line-log: try to use generation number-based topo-ordering - + line-log: more responsive, incremental 'git log -L' - + t4211-line-log: add tests for parent oids - + line-log: remove unused fields from 'struct line_log_data' - (this branch is used by sg/commit-graph-cleanups.) + Doc updates. - "git log -L..." now takes advantage of the "which paths are touched - by this commit?" info stored in the commit-graph system. +* hn/refs-cleanup (2020-06-09) 6 commits + (merged to 'next' on 2020-06-09 at abb59f83a2) + + reftable: define version 2 of the spec to accomodate SHA256 + + reftable: clarify how empty tables should be written + + reftable: file format documentation + + refs: improve documentation for ref iterator + + t: use update-ref and show-ref to reading/writing refs + + refs.h: clarify reflog iteration order + (this branch is used by hn/reftable.) -* es/bugreport-shell (2020-05-12) 2 commits - (merged to 'next' on 2020-05-24 at 79c5c8308b) - + bugreport: include user interactive shell - + help: add shell-path to --build-options + Preliminary clean-ups around refs API, plus file format + specification documentation for the reftable backend. - "git bugreport" learns to report what shell is in use. - We may want to learn more details than just the path, but - that can come later. - cf. <20200512235924.GC6605@camp.crustytoothpaste.net> +* jk/diff-memuse-optim-with-stat-unmatch (2020-06-02) 1 commit + (merged to 'next' on 2020-06-10 at 4cea3bfaac) + + diff: discard blob data from stat-unmatched pairs -* js/checkout-p-new-file (2020-05-27) 1 commit - (merged to 'next' on 2020-05-31 at 017c325bf6) - + checkout -p: handle new files correctly + Reduce memory usage during "diff --quiet" in a worktree with too + many stat-unmatched paths. - "git checkout -p" did not handle a newly added path at all. +* js/fuzz-commit-graph-leakfix (2020-06-08) 1 commit + (merged to 'next' on 2020-06-10 at 92944ed7f6) + + fuzz-commit-graph: properly free graph struct -* jt/curl-verbose-on-trace-curl (2020-05-11) 2 commits - (merged to 'next' on 2020-05-11 at 814e31b9d4) - + http, imap-send: stop using CURLOPT_VERBOSE - + t5551: test that GIT_TRACE_CURL redacts password - (this branch is used by jt/redact-all-cookies.) + Leakfix. - Rewrite support for GIT_CURL_VERBOSE in terms of GIT_TRACE_CURL. +* js/msvc-build-fix (2020-06-04) 1 commit + (merged to 'next' on 2020-06-10 at 167a629359) + + msvc: fix "REG_STARTEND" issue -* rs/fsck-duplicate-names-in-trees (2020-05-21) 4 commits - (merged to 'next' on 2020-05-24 at 6e1d6ba087) - + fsck: detect more in-tree d/f conflicts - + t1450: demonstrate undetected in-tree d/f conflict - + t1450: increase test coverage of in-tree d/f detection - + fsck: fix a typo in a comment + Workaround breakage in MSVC build, where "curl-config --cflags" + gives settings appropriate for GCC build. - The check in "git fsck" to ensure that the tree objects are sorted - still had corner cases it missed unsorted entries. +* js/reflog-anonymize-for-clone-and-fetch (2020-06-04) 1 commit + (merged to 'next' on 2020-06-10 at 2901ff943e) + + clone/fetch: anonymize URLs in the reflog -* tb/commit-graph-no-check-oids (2020-05-18) 8 commits - (merged to 'next' on 2020-05-24 at 72bd1063ca) - + commit-graph: drop COMMIT_GRAPH_WRITE_CHECK_OIDS flag - + t5318: reorder test below 'graph_read_expect' - + commit-graph.c: simplify 'fill_oids_from_commits' - + builtin/commit-graph.c: dereference tags in builtin - + builtin/commit-graph.c: extract 'read_one_commit()' - + commit-graph.c: peel refs in 'add_ref_to_set' - + commit-graph.c: show progress of finding reachable commits - + commit-graph.c: extract 'refs_cb_data' + The reflog entries for "git clone" and "git fetch" did not + anonymize the URL they operated on. - Clean-up the commit-graph codepath. +* tb/t5318-cleanup (2020-06-04) 2 commits + (merged to 'next' on 2020-06-10 at 5a72620cbe) + + t5318: test that '--stdin-commits' respects '--[no-]progress' + + t5318: use 'test_must_be_empty' -* vs/complete-stash-show-p-fix (2020-05-21) 1 commit - (merged to 'next' on 2020-05-24 at fcbff29a0f) - + completion: don't override given stash subcommand with -p - - The command line completion script (in contrib/) tried to complete - "git stash -p" as if it were "git stash push -p", but it was too - aggressive and also affected "git stash show -p", which has been - corrected. + Code cleanup. -------------------------------------------------- [New Topics] -* en/sparse-checkout (2020-06-05) 1 commit - - sparse-checkout: avoid staging deletions of all files - - The behaviour of "sparse-checkout" in the state "git clone - --no-checkout" left was changed accidentally in 2.27, which has - been corrected. +* cc/upload-pack-data-3 (2020-06-11) 14 commits + (merged to 'next' on 2020-06-17 at 393eff577a) + + upload-pack: refactor common code into do_got_oid() + + upload-pack: move oldest_have to upload_pack_data + + upload-pack: pass upload_pack_data to got_oid() + + upload-pack: pass upload_pack_data to ok_to_give_up() + + upload-pack: pass upload_pack_data to send_acks() + + upload-pack: pass upload_pack_data to process_haves() + + upload-pack: change allow_unadvertised_object_request to an enum + + upload-pack: move allow_unadvertised_object_request to upload_pack_data + + upload-pack: move extra_edge_obj to upload_pack_data + + upload-pack: move shallow_nr to upload_pack_data + + upload-pack: pass upload_pack_data to send_unshallow() + + upload-pack: pass upload_pack_data to deepen_by_rev_list() + + upload-pack: pass upload_pack_data to deepen() + + upload-pack: pass upload_pack_data to send_shallow_list() + (this branch uses cc/upload-pack-data-2) + + Code clean-up in the codepath that serves "git fetch" continues. - Will merge to 'next'. + Will merge to 'master'. -* js/msvc-build-fix (2020-06-04) 1 commit - - msvc: fix "REG_STARTEND" issue +* ct/diff-with-merge-base-clarification (2020-06-12) 3 commits + (merged to 'next' on 2020-06-17 at e0b54a001c) + + Documentation: usage for diff combined commits + + git diff: improve range handling + + t/t3430: avoid undefined git diff behavior - Workaround breakage in MSVC build, where "curl-config --cflags" - gives settings appropriate for GCC build. + "git diff" used to take arguments in random and nonsense range + notation, e.g. "git diff A..B C", "git diff A..B C...D", etc., + which has been cleaned up. - Will merge to 'next'. + Will merge to 'master'. -* en/do-match-pathspec-fix (2020-06-05) 1 commit - - dir: fix treatment of negated pathspecs +* js/default-branch-name (2020-06-10) 9 commits + - Document how the default branch name can be overridden + - fast-export: respect the possibly-overridden default branch name + - fmt-merge-msg: learn about the possibly-configured default branch name + - clone: learn about the possibly-configured default branch name + - submodule: use the (possibly overridden) default branch name + - testsvn: respect `core.defaultBranchName` + - send-pack/transport-helper: respect `core.defaultBranchName` + - remote: respect `core.defaultBranchName` + - init: allow overriding the default branch name for new repositories - Use of negative pathspec, while collecting paths including - untracked ones in the working tree, was broken. + The name of the primary branch in existing repositories, and the + default name used for the first branch in newly created + repositories, is made configurable, so that we can eventually wean + ourselves off of the hardcoded 'master'. - Will merge to 'next'. + Expecting a reroll. -* jt/redact-all-cookies (2020-06-05) 1 commit - - http: redact all cookies, teach GIT_TRACE_REDACT=0 +* jt/cdn-offload (2020-06-17) 10 commits + - upload-pack: fix a sparse '0 as NULL pointer' warning + - upload-pack: send part of packfile response as uri + - fetch-pack: support more than one pack lockfile + - upload-pack: refactor reading of pack-objects out + - Documentation: add Packfile URIs design doc + - Documentation: order protocol v2 sections + - http-fetch: support fetching packfiles by URL + - http-fetch: refactor into function + - http: refactor finish_http_pack_request() + - http: use --stdin when indexing dumb HTTP pack + (this branch uses cc/upload-pack-data-2) - The interface to redact sensitive information in the trace output - has been simplified. + The "fetch/clone" protocol has been updated to allow the server to + instruct the clients to grab pre-packaged packfile(s) in addition + to the packed object data coming over the wire. Will merge to 'next'. -* dl/python-2.7-is-the-floor-version (2020-06-08) 1 commit - - CodingGuidelines: specify Python 2.7 is the oldest version - - Document that we do not support Python 2.6 or older. +* ss/cmake-build (2020-06-12) 8 commits + - ci: modification of main.yml to use cmake for vs-build job + - cmake: support for building git on windows with msvc and clang. + - cmake: support for building git on windows with mingw + - cmake: support for testing git when building out of the source tree + - cmake: support for testing git with ctest + - cmake: installation support for git + - cmake: generate the shell/perl/python scripts and templates, translations + - Introduce CMake support for configuring Git - Will merge to 'next'. + CMake support to build with MSVC for Windows bypassing the Makefile. + Almost there. -* dl/t-readme-spell-git-correctly (2020-06-08) 1 commit - - t/README: avoid poor-man's small caps GIT - Doc updates. +* ak/commit-graph-to-slab (2020-06-17) 4 commits + - commit-graph: minimize commit_graph_data_slab access + - commit: move members graph_pos, generation to a slab + - commit-graph: introduce commit_graph_data_slab + - object: drop parsed_object_pool->commit_count - Will merge to 'next'. + A few fields in "struct commit" that do not have to always be + present have been moved to commit slabs. -* es/advertise-contribution-doc (2020-06-08) 1 commit - - docs: mention MyFirstContribution in more places +* en/clean-cleanups (2020-06-12) 4 commits + (merged to 'next' on 2020-06-17 at 2c4ec990a6) + + clean: optimize and document cases where we recurse into subdirectories + + clean: consolidate handling of ignored parameters + + dir, clean: avoid disallowed behavior + + dir: fix a few confusing comments - Doc updates. + "git clean" code clean-up that resulted in a fix of recent + performance regression. - Will merge to 'next'. + Will merge to 'master'. -* es/worktree-duplicate-paths (2020-06-10) 7 commits - - worktree: make "move" refuse to move atop missing registered worktree - - worktree: generalize candidate worktree path validation - - worktree: prune linked worktree referencing main worktree path - - worktree: prune duplicate entries referencing same worktree path - - worktree: make high-level pruning re-usable - - worktree: give "should be pruned?" function more meaningful name - - worktree: factor out repeated string literal +* dl/branch-cleanup (2020-06-17) 3 commits + - branch: don't mix --edit-description + - t3200: test for specific errors + - t3200: rename "expected" to "expect" - The same worktree directory must be registered only once, but - "git worktree move" allowed this invariant to be violated, which - has been corrected. + Code clean-up around "git branch" with a minor bugfix. Will merge to 'next'. -* js/fuzz-commit-graph-leakfix (2020-06-08) 1 commit - - fuzz-commit-graph: properly free graph struct +* ds/merge-base-is-ancestor-optim (2020-06-17) 2 commits + - commit-reach: use fast logic in repo_in_merge_base + - commit-reach: create repo_is_descendant_of() - Leakfix. + "git merge-base --is-ancestor" is taught to take advantage of the + commit graph. Will merge to 'next'. - -* sg/commit-graph-cleanups (2020-06-08) 10 commits - - commit-graph: simplify write_commit_graph_file() #2 - - commit-graph: simplify write_commit_graph_file() #1 - - commit-graph: simplify parse_commit_graph() #2 - - commit-graph: simplify parse_commit_graph() #1 - - commit-graph: clean up #includes - - diff.h: drop diff_tree_oid() & friends' return value - - commit-slab: add a function to deep free entries on the slab - - commit-graph-format.txt: all multi-byte numbers are in network byte order - - commit-graph: fix parsing the Chunk Lookup table - - tree-walk.c: don't match submodule entries for 'submod/anything' - - Code cleanup. - -------------------------------------------------- [Stalled] @@ -276,21 +261,6 @@ of the repositories listed at cf. <20200416152145.wp2zeibxmuyas6y6@feanor> -* dl/test-must-fail-fixes-5 (2020-05-21) 5 commits - - lib-submodule-update: pass OVERWRITING_FAIL - - SQUASH??? <20200521112545.GB581643@generichostname> - - lib-submodule-update: prepend "git" to $command - - lib-submodule-update: consolidate --recurse-submodules - - lib-submodule-update: add space after function name - - The effort to avoid using test_must_fail on non-git command continues. - - Expecting a reroll. - cf. <20200521182928.GA1308647@coredump.intra.peff.net> - The last step is a bit too ugly to live; Peff seems to have better - ideas. - - * mr/bisect-in-c-2 (2020-04-23) 12 commits - bisect--helper: retire `--bisect-autostart` subcommand - bisect--helper: retire `--write-terms` subcommand @@ -321,51 +291,87 @@ of the repositories listed at -------------------------------------------------- [Cooking] -* jk/diff-memuse-optim-with-stat-unmatch (2020-06-02) 1 commit - - diff: discard blob data from stat-unmatched pairs +* dl/test-must-fail-fixes-5 (2020-06-12) 4 commits + - lib-submodule-update: use callbacks in test_submodule_switch_common() + - lib-submodule-update: prepend "git" to $command + - lib-submodule-update: consolidate --recurse-submodules + - lib-submodule-update: add space after function name - Reduce memory usage during "diff --quiet" in a worktree with too - many stat-unmatched paths. + The effort to avoid using test_must_fail on non-git command continues. - Will merge to 'next'. + Ready??? -* js/reflog-anonymize-for-clone-and-fetch (2020-06-04) 1 commit - - clone/fetch: anonymize URLs in the reflog +* jt/redact-all-cookies (2020-06-05) 1 commit + (merged to 'next' on 2020-06-12 at 912c337d63) + + http: redact all cookies, teach GIT_TRACE_REDACT=0 - The reflog entries for "git clone" and "git fetch" did not - anonymize the URL they operated on. + The interface to redact sensitive information in the trace output + has been simplified. - Will merge to 'next'. + Will merge to 'master'. -* tb/t5318-cleanup (2020-06-04) 2 commits - - t5318: test that '--stdin-commits' respects '--[no-]progress' - - t5318: use 'test_must_be_empty' +* es/worktree-duplicate-paths (2020-06-10) 7 commits + (merged to 'next' on 2020-06-12 at 5f7c822a9d) + + worktree: make "move" refuse to move atop missing registered worktree + + worktree: generalize candidate worktree path validation + + worktree: prune linked worktree referencing main worktree path + + worktree: prune duplicate entries referencing same worktree path + + worktree: make high-level pruning re-usable + + worktree: give "should be pruned?" function more meaningful name + + worktree: factor out repeated string literal - Code cleanup. + The same worktree directory must be registered only once, but + "git worktree move" allowed this invariant to be violated, which + has been corrected. + + Will merge to 'master'. - Will merge to 'next'. + +* sg/commit-graph-cleanups (2020-06-17) 18 commits + - commit-graph: persist existence of changed-paths + - commit-graph: change test to die on parse, not load + - bloom: enforce a minimum size of 8 bytes + - commit-graph: check all leading directories in changed path Bloom filters + - commit-graph: check chunk sizes after writing + - commit-graph: simplify chunk writes into loop + - commit-graph: unify the signatures of all write_graph_chunk_*() functions + - commit-graph: place bloom_settings in context + - commit-graph: simplify write_commit_graph_file() #2 + - commit-graph: simplify write_commit_graph_file() #1 + - commit-graph: simplify parse_commit_graph() #2 + - commit-graph: simplify parse_commit_graph() #1 + - commit-graph: clean up #includes + - diff.h: drop diff_tree_oid() & friends' return value + - commit-slab: add a function to deep free entries on the slab + - commit-graph-format.txt: all multi-byte numbers are in network byte order + - commit-graph: fix parsing the Chunk Lookup table + - tree-walk.c: don't match submodule entries for 'submod/anything' + + Code cleanup. * cc/upload-pack-data-2 (2020-06-04) 13 commits - - upload-pack: move pack_objects_hook to upload_pack_data - - upload-pack: move allow_sideband_all to upload_pack_data - - upload-pack: move allow_ref_in_want to upload_pack_data - - upload-pack: move allow_filter to upload_pack_data - - upload-pack: move keepalive to upload_pack_data - - upload-pack: pass upload_pack_data to upload_pack_config() - - upload-pack: change multi_ack to an enum - - upload-pack: move multi_ack to upload_pack_data - - upload-pack: move filter_capability_requested to upload_pack_data - - upload-pack: move use_sideband to upload_pack_data - - upload-pack: move static vars to upload_pack_data - - upload-pack: annotate upload_pack_data fields - - upload-pack: actually use some upload_pack_data bitfields + (merged to 'next' on 2020-06-12 at ee63b70dc2) + + upload-pack: move pack_objects_hook to upload_pack_data + + upload-pack: move allow_sideband_all to upload_pack_data + + upload-pack: move allow_ref_in_want to upload_pack_data + + upload-pack: move allow_filter to upload_pack_data + + upload-pack: move keepalive to upload_pack_data + + upload-pack: pass upload_pack_data to upload_pack_config() + + upload-pack: change multi_ack to an enum + + upload-pack: move multi_ack to upload_pack_data + + upload-pack: move filter_capability_requested to upload_pack_data + + upload-pack: move use_sideband to upload_pack_data + + upload-pack: move static vars to upload_pack_data + + upload-pack: annotate upload_pack_data fields + + upload-pack: actually use some upload_pack_data bitfields + (this branch is used by cc/upload-pack-data-3 and jt/cdn-offload.) Further code clean-up. - Will merge to 'next'. + Will merge to 'master'. * xl/upgrade-repo-format (2020-06-05) 4 commits @@ -377,39 +383,45 @@ of the repositories listed at Allow runtime upgrade of the repository format version, which needs to be done carefully. - Almost there. It does not seem to play well with hn/reftable + There is a rather unpleasant backward compatibility worry with the + last step of this series, but it is the right thing to do in the + longer term. + + Will merge to 'next'. * jk/complete-git-switch (2020-05-28) 16 commits - - completion: improve handling of --orphan option of switch/checkout - - completion: improve handling of -c/-C and -b/-B in switch/checkout - - completion: improve handling of --track in switch/checkout - - completion: improve handling of --detach in checkout - - completion: improve completion for git switch with no options - - completion: improve handling of DWIM mode for switch/checkout - - completion: perform DWIM logic directly in __git_complete_refs - - completion: extract function __git_dwim_remote_heads - - completion: replace overloaded track term for __git_complete_refs - - completion: add tests showing subpar switch/checkout --orphan logic - - completion: add tests showing subpar -c/C argument completion - - completion: add tests showing subpar -c/-C startpoint completion - - completion: add tests showing subpar switch/checkout --track logic - - completion: add tests showing subar checkout --detach logic - - completion: add tests showing subpar DWIM logic for switch/checkout - - completion: add test showing subpar git switch completion + (merged to 'next' on 2020-06-17 at 5b31140c0a) + + completion: improve handling of --orphan option of switch/checkout + + completion: improve handling of -c/-C and -b/-B in switch/checkout + + completion: improve handling of --track in switch/checkout + + completion: improve handling of --detach in checkout + + completion: improve completion for git switch with no options + + completion: improve handling of DWIM mode for switch/checkout + + completion: perform DWIM logic directly in __git_complete_refs + + completion: extract function __git_dwim_remote_heads + + completion: replace overloaded track term for __git_complete_refs + + completion: add tests showing subpar switch/checkout --orphan logic + + completion: add tests showing subpar -c/C argument completion + + completion: add tests showing subpar -c/-C startpoint completion + + completion: add tests showing subpar switch/checkout --track logic + + completion: add tests showing subar checkout --detach logic + + completion: add tests showing subpar DWIM logic for switch/checkout + + completion: add test showing subpar git switch completion The command line completion (in contrib/) learned to complete options that the "git switch" command takes. - Is this ready? + Will merge to 'master'. -* en/sparse-with-submodule-doc (2020-05-25) 1 commit - - git-sparse-checkout: clarify interactions with submodules +* en/sparse-with-submodule-doc (2020-06-12) 1 commit + (merged to 'next' on 2020-06-17 at 3521be3834) + + git-sparse-checkout: clarify interactions with submodules The effect of sparse checkout settings on submodules is documented. - Needs review. + Will merge to 'master'. * ss/submodule-set-branch-in-c (2020-06-02) 1 commit @@ -419,8 +431,7 @@ of the repositories listed at continues; this time it is "git submodule set-branch" subcommand's turn. - Almost there. - cf. <1b851e49-3bb1-3b59-7f24-b903c5514391@gmail.com> + Will merge to 'next'. * es/config-hooks (2020-05-21) 4 commits @@ -431,6 +442,8 @@ of the repositories listed at The "hooks defined in config" topic. + Ready??? + * pw/rebase-i-more-options (2020-05-27) 5 commits - rebase: add --reset-author-date @@ -445,20 +458,19 @@ of the repositories listed at cf. -* mt/grep-sparse-checkout (2020-06-02) 6 commits - - git.c: fix sparse warning +* mt/grep-sparse-checkout (2020-06-12) 6 commits - config: add setting to ignore sparsity patterns in some cmds - grep: honor sparse checkout patterns - config: correctly read worktree configs in submodules + - t/helper/test-config: facilitate addition of new cli options - t/helper/test-config: return exit codes consistently - doc: grep: unify info on configuration variables "git grep" has been tweaked to be limited to the sparse checkout paths. - Expecting a reroll. - cf. - cf. + Review needed on 4/6; otherwise looking sane. + cf. * bc/sha-256-part-2 (2020-05-27) 44 commits @@ -509,6 +521,8 @@ of the repositories listed at SHA-256 migration work continues. + Ready??? + * jx/proc-receive-hook (2020-05-18) 11 commits - doc: add documentation for the proc-receive hook @@ -529,23 +543,9 @@ of the repositories listed at Needs review. -* hn/refs-cleanup (2020-06-09) 6 commits - (merged to 'next' on 2020-06-09 at abb59f83a2) - + reftable: define version 2 of the spec to accomodate SHA256 - + reftable: clarify how empty tables should be written - + reftable: file format documentation - + refs: improve documentation for ref iterator - + t: use update-ref and show-ref to reading/writing refs - + refs.h: clarify reflog iteration order - (this branch is used by hn/reftable.) - - Preliminary clean-ups around refs API, plus file format - specification documentation for the reftable backend. - - Will merge to 'master'. - - -* hn/reftable (2020-06-09) 14 commits +* hn/reftable (2020-06-17) 18 commits + . SQUASH??? whitespace breakage fix + . Add "test-tool dump-reftable" command. . Add reftable testing infrastructure . vcxproj: adjust for the reftable changes . Add GIT_DEBUG_REFS debugging mechanism @@ -560,15 +560,14 @@ of the repositories listed at . Treat BISECT_HEAD as a pseudo ref . Make refs_ref_exists public . Write pseudorefs through ref backends. - (this branch uses hn/refs-cleanup.) + . checkout: add '\n' to reflog message + . lib-t6000.sh: write tag using git-update-ref A new refs backend "reftable" to replace the traditional combination of packed-refs files and one-file-per-ref loose refs has been implemented and integrated for improved performance and atomicity. - Does not seem to build from the source. - -------------------------------------------------- [Discarded]