From: Junio C Hamano Date: Tue, 23 Jun 2020 00:20:53 +0000 (-0700) Subject: What's cooking (2020/06 #04) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a4a549d7cbd23a401f0c6db9602c6fbacb6ad8c2;p=thirdparty%2Fgit.git What's cooking (2020/06 #04) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index beb06ea83a..daa2c4c1c4 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -1,117 +1,281 @@ To: git@vger.kernel.org Bcc: lwn@lwn.net -Subject: What's cooking in git.git (Jun 2020, #03; Wed, 17) -X-master-at: 101b3204f37606972b40fc17dec84560c22f69f6 -X-next-at: f2d1464379e7567b01b55fbf8432e75d72aa537f +Subject: What's cooking in git.git (Jun 2020, #04; Mon, 22) +X-master-at: c9c318d6bf26bcecdca5b6f31683b9d5887a83ee +X-next-at: 4b34aa94c75220f6f4cd334b08a3fb053128a32d -What's cooking in git.git (Jun 2020, #03; Wed, 17) +What's cooking in git.git (Jun 2020, #04; Mon, 22) -------------------------------------------------- -Here are the topics that have been cooking. Commits prefixed with -'-' are only in 'pu' (proposed updates) while commits prefixed with -'+' are in 'next'. The ones marked with '.' do not appear in any of +Here are the topics that have been cooking. Commits prefixed with '-' are +only in 'seen' (formerly 'pu'---proposed updates) while commits prefixed +with '+' are in 'next'. The ones marked with '.' do not appear in any of the integration branches, but I am still holding onto them. -You can find the changes described here in the integration branches -of the repositories listed at +A few topiocs have graduated to 'master'. As I expect that the next +week would be slower than usual due to being summer (and folks in US +having holidays), I am hoping that I can merge down a handful more +topics from 'next', perhaps with shorter gestation period than +usual, by the end of this week. + +The 'pu' (proposed updates) branch has been renamed to 'seen' to use +a more meaningful name (after all, the purpose of it is not to +contain all proposals, but to merely serve as a place to park what +the maintainer happened to have seen) and more importantly, to make +room for topics from those contributors whose two-letter name +abbreviation needs to be 'pu' under 'pu/$topicName'. + +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 -------------------------------------------------- [Graduated to "master"] -* 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 +* cc/upload-pack-data-2 (2020-06-04) 13 commits + (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. + + +* 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. + + +* 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 + (this branch is used by es/get-worktrees-unsort.) + + The same worktree directory must be registered only once, but + "git worktree move" allowed this invariant to be violated, which + has been corrected. - Document that we do not support Python 2.6 or older. +* 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 -* 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 + The interface to redact sensitive information in the trace output + has been simplified. - Doc updates. +-------------------------------------------------- +[New Topics] +* en/sparse-status (2020-06-22) 3 commits + - git-prompt: include sparsity state as well + - git-prompt: document how in-progress operations affect the prompt + - wt-status: show sparse checkout status as well -* 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 + "git status" learned to report the status of sparse checkout. - Use of negative pathspec, while collecting paths including - untracked ones in the working tree, was broken. + Will merge to 'next'. -* 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/diff-usage-comment-update (2020-06-18) 1 commit + (merged to 'next' on 2020-06-19 at b53a12bb66) + + builtin/diff: update usage comment - The behaviour of "sparse-checkout" in the state "git clone - --no-checkout" left was changed accidentally in 2.27, which has - been corrected. + An in-code comment in "git diff" has been updated. + Will merge to 'master'. + + +* ps/ref-transaction-hook (2020-06-19) 1 commit + (merged to 'next' on 2020-06-22 at 3a23dcdbdc) + + refs: implement reference transaction hook + + A new hook. + + Will merge to 'master'. + + +* sk/diff-files-show-i-t-a-as-new (2020-06-22) 1 commit + (merged to 'next' on 2020-06-22 at 825a823416) + + diff-files: treat "i-t-a" files as "not-in-index" + + "git diff-files" has been taught to say paths that are marked as + intent-to-add are new files, not modified from an empty blob. + + Will merge to 'master'. + + +* jk/fast-export-anonym (2020-06-22) 4 commits + (merged to 'next' on 2020-06-22 at b517b2f707) + + fast-export: allow dumping the path mapping + + fast-export: refactor path printing to not rely on stdout + + fast-export: anonymize "master" refname + + fast-export: allow dumping the refname mapping + + The way refnames are anonymized has been updated and a way to help + debugging using the anonymized output hsa been added. + + Will merge to 'master'. -* es/advertise-contribution-doc (2020-06-08) 1 commit - (merged to 'next' on 2020-06-10 at c72c7da667) - + docs: mention MyFirstContribution in more places - Doc updates. +* pb/t4014-unslave (2020-06-19) 1 commit + (merged to 'next' on 2020-06-19 at 4d328a12d9) + + t4014: do not use "slave branch" nomenclature + A branch name used in a test has been clarified to match what is + going on. -* 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.) + Will merge to 'master'. - Preliminary clean-ups around refs API, plus file format - specification documentation for the reftable backend. +* rs/commit-reach-leakfix (2020-06-19) 1 commit + (merged to 'next' on 2020-06-22 at fcc1e385f0) + + commit-reach: plug minor memory leak after using is_descendant_of() -* 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 + Leakfix. - Reduce memory usage during "diff --quiet" in a worktree with too - many stat-unmatched paths. + Will merge to 'master'. -* 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 +* rs/pull-leakfix (2020-06-19) 1 commit + (merged to 'next' on 2020-06-22 at d80a6b9ca3) + + pull: plug minor memory leak after using is_descendant_of() Leakfix. + Will merge to 'master'. -* js/msvc-build-fix (2020-06-04) 1 commit - (merged to 'next' on 2020-06-10 at 167a629359) - + msvc: fix "REG_STARTEND" issue - Workaround breakage in MSVC build, where "curl-config --cflags" - gives settings appropriate for GCC build. +* rs/retire-strbuf-write-fd (2020-06-19) 2 commits + (merged to 'next' on 2020-06-22 at c175b54f2a) + + strbuf: remove unreferenced strbuf_write_fd method. + + bugreport.c: replace strbuf_write_fd with write_in_full + A misdesigned strbuf_write_fd() function has been retired. -* 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 + Will merge to 'master'. + + +* bc/sha-256-cvs-svn-updates (2020-06-22) 14 commits + - git-cvsexportcommit: port to SHA-256 + - git-cvsimport: port to SHA-256 + - git-cvsserver: port to SHA-256 + - git-svn: set the OID length based on hash algorithm + - perl: make SVN code hash independent + - perl: make Git::IndexInfo work with SHA-256 + - perl: create and switch variables for hash constants + - t/lib-git-svn: make hash size independent + - t9101: make hash independent + - t9104: make hash size independent + - t9100: make test work with SHA-256 + - t9108: make test hash independent + - t9168: make test hash independent + - t9109: make test hash independent + (this branch uses bc/sha-256-part-2.) + + CVS/SVN interface have been prepared for SHA-256 transition + + Will merge to 'next'. - The reflog entries for "git clone" and "git fetch" did not - anonymize the URL they operated on. +* ds/commit-graph-bloom-updates (2020-06-17) 8 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 + (this branch uses sg/commit-graph-cleanups.) -* 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' + Updates to the changed-paths bloom filter. - Code cleanup. + Being discussed. + cf. <20200619171922.GA57283@syl.local> + + +* es/get-worktrees-unsort (2020-06-22) 2 commits + - worktree: drop get_worktrees() unused 'flags' argument + - worktree: drop get_worktrees() special-purpose sorting option + + API cleanup for get_worktrees() + + Will merge to 'next'. + + +* jl/complete-git-prune (2020-06-22) 1 commit + - bash-completion: add git-prune into bash completion + + Add "git prune" to the completion (in contrib/), which could be + typed by end-users from the command line. + + Will merge to 'next'. -------------------------------------------------- -[New Topics] +[Stalled] + +* dr/push-remoteref-fix (2020-04-23) 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. <20200416152145.wp2zeibxmuyas6y6@feanor> + + +* 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 + + Rewrite of the remainder of "git bisect" script in C continues. + + Expecting a response to reviews. + cf. + + +* 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] * cc/upload-pack-data-3 (2020-06-11) 14 commits (merged to 'next' on 2020-06-17 at 393eff577a) @@ -129,7 +293,6 @@ of the repositories listed at + 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. @@ -149,9 +312,8 @@ of the repositories listed at Will merge to 'master'. -* js/default-branch-name (2020-06-10) 9 commits +* js/default-branch-name (2020-06-19) 8 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 @@ -169,23 +331,23 @@ of the repositories listed at * 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) + (merged to 'next' on 2020-06-18 at e8ba1cc988) + + 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 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'. + Will merge to 'master'. * ss/cmake-build (2020-06-12) 8 commits @@ -227,71 +389,28 @@ of the repositories listed at * dl/branch-cleanup (2020-06-17) 3 commits - - branch: don't mix --edit-description - - t3200: test for specific errors - - t3200: rename "expected" to "expect" + (merged to 'next' on 2020-06-18 at 76e151342c) + + branch: don't mix --edit-description + + t3200: test for specific errors + + t3200: rename "expected" to "expect" Code clean-up around "git branch" with a minor bugfix. - Will merge to 'next'. + Will merge to 'master'. * 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() + (merged to 'next' on 2020-06-18 at 86b34a3688) + + commit-reach: use fast logic in repo_in_merge_base + + commit-reach: create repo_is_descendant_of() "git merge-base --is-ancestor" is taught to take advantage of the commit graph. - Will merge to 'next'. - --------------------------------------------------- -[Stalled] - -* dr/push-remoteref-fix (2020-04-23) 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. <20200416152145.wp2zeibxmuyas6y6@feanor> - - -* 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 - - Rewrite of the remainder of "git bisect" script in C continues. - - Expecting a response to reviews. - cf. - - -* 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". + Will merge to 'master'. --------------------------------------------------- -[Cooking] -* dl/test-must-fail-fixes-5 (2020-06-12) 4 commits +* dl/test-must-fail-fixes-5 (2020-06-18) 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 @@ -299,45 +418,11 @@ of the repositories listed at The effort to avoid using test_must_fail on non-git command continues. - Ready??? - - -* 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 + Getting very close. + cf. <20200618181533.GA633383@coredump.intra.peff.net> - The interface to redact sensitive information in the trace output - has been simplified. - Will merge to 'master'. - - -* 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 - - 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'. - - -* 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 +* 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 @@ -348,37 +433,18 @@ of the repositories listed at - 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' + (this branch is used by ds/commit-graph-bloom-updates.) - Code cleanup. - - -* cc/upload-pack-data-2 (2020-06-04) 13 commits - (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 'master'. + The changed-path Bloom filter is improved using ideas from an + independent implementation. * xl/upgrade-repo-format (2020-06-05) 4 commits - - check_repository_format_gently(): refuse extensions for old repositories - - sparse-checkout: upgrade repository to version 1 when enabling extension - - fetch: allow adding a filter after initial clone - - repository: add a helper function to perform repository format upgrade + (merged to 'next' on 2020-06-19 at 02bf7a9d8c) + + check_repository_format_gently(): refuse extensions for old repositories + + sparse-checkout: upgrade repository to version 1 when enabling extension + + fetch: allow adding a filter after initial clone + + repository: add a helper function to perform repository format upgrade Allow runtime upgrade of the repository format version, which needs to be done carefully. @@ -387,7 +453,7 @@ of the repositories listed at last step of this series, but it is the right thing to do in the longer term. - Will merge to 'next'. + Will merge to 'master'. * jk/complete-git-switch (2020-05-28) 16 commits @@ -415,23 +481,15 @@ of the repositories listed at Will merge to 'master'. -* 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. - - Will merge to 'master'. - - * ss/submodule-set-branch-in-c (2020-06-02) 1 commit - - submodule: port subcommand 'set-branch' from shell to C + (merged to 'next' on 2020-06-18 at 8880b35c5a) + + submodule: port subcommand 'set-branch' from shell to C Rewrite of parts of the scripted "git submodule" Porcelain command continues; this time it is "git submodule set-branch" subcommand's turn. - Will merge to 'next'. + Will merge to 'master'. * es/config-hooks (2020-05-21) 4 commits @@ -473,55 +531,57 @@ of the repositories listed at cf. -* bc/sha-256-part-2 (2020-05-27) 44 commits - - remote-testgit: adapt for object-format - - bundle: detect hash algorithm when reading refs - - t5300: pass --object-format to git index-pack - - t5704: send object-format capability with SHA-256 - - t5703: use object-format serve option - - t5702: offer an object-format capability in the test - - t/helper: initialize the repository for test-sha1-array - - remote-curl: avoid truncating refs with ls-remote - - t1050: pass algorithm to index-pack when outside repo - - builtin/index-pack: add option to specify hash algorithm - - remote-curl: detect algorithm for dumb HTTP by size - - builtin/ls-remote: initialize repository based on fetch - - t5500: make hash independent - - serve: advertise object-format capability for protocol v2 - - connect: parse v2 refs with correct hash algorithm - - connect: pass full packet reader when parsing v2 refs - - Documentation/technical: document object-format for protocol v2 - - t1302: expect repo format version 1 for SHA-256 - - builtin/show-index: provide options to determine hash algo - - t5302: modernize test formatting - - packfile: compute and use the index CRC offset - - t3200: mark assertion with SHA1 prerequisite - - setup: set the_repository's hash algo when checking format - - fetch-pack: parse and advertise the object-format capability - - t5562: pass object-format in synthesized test data - - builtin/clone: initialize hash algorithm properly - - remote-curl: implement object-format extensions - - transport-helper: implement object-format extensions - - docs: update remote helper docs for object-format extensions - - builtin/receive-pack: detect when the server doesn't support our hash - - connect: detect algorithm when fetching refs - - fetch-pack: detect when the server doesn't support our hash - - connect: make parse_feature_value extern - - send-pack: detect when the server doesn't support our hash - - connect: add function to detect supported v1 hash functions - - transport: add a hash algorithm member - - pkt-line: add a member for hash algorithm - - connect: add function to fetch value of a v2 server capability - - connect: add function to parse multiple v1 capability values - - remote: advertise the object-format capability on the server side - - wrapper: add function to compare strings with different NUL termination - - connect: have ref processing code take struct packet_reader - - Documentation: document v1 protocol object-format capability - - t1050: match object ID paths in a hash-insensitive way +* bc/sha-256-part-2 (2020-06-19) 44 commits + (merged to 'next' on 2020-06-22 at dc153f366d) + + remote-testgit: adapt for object-format + + bundle: detect hash algorithm when reading refs + + t5300: pass --object-format to git index-pack + + t5704: send object-format capability with SHA-256 + + t5703: use object-format serve option + + t5702: offer an object-format capability in the test + + t/helper: initialize the repository for test-sha1-array + + remote-curl: avoid truncating refs with ls-remote + + t1050: pass algorithm to index-pack when outside repo + + builtin/index-pack: add option to specify hash algorithm + + remote-curl: detect algorithm for dumb HTTP by size + + builtin/ls-remote: initialize repository based on fetch + + t5500: make hash independent + + serve: advertise object-format capability for protocol v2 + + connect: parse v2 refs with correct hash algorithm + + connect: pass full packet reader when parsing v2 refs + + Documentation/technical: document object-format for protocol v2 + + t1302: expect repo format version 1 for SHA-256 + + builtin/show-index: provide options to determine hash algo + + t5302: modernize test formatting + + packfile: compute and use the index CRC offset + + t3200: mark assertion with SHA1 prerequisite + + setup: set the_repository's hash algo when checking format + + fetch-pack: parse and advertise the object-format capability + + t5562: pass object-format in synthesized test data + + builtin/clone: initialize hash algorithm properly + + remote-curl: implement object-format extensions + + transport-helper: implement object-format extensions + + docs: update remote helper docs for object-format extensions + + builtin/receive-pack: detect when the server doesn't support our hash + + connect: detect algorithm when fetching refs + + fetch-pack: detect when the server doesn't support our hash + + connect: make parse_feature_value extern + + send-pack: detect when the server doesn't support our hash + + connect: add function to detect supported v1 hash functions + + transport: add a hash algorithm member + + pkt-line: add a member for hash algorithm + + connect: add function to fetch value of a v2 server capability + + connect: add function to parse multiple v1 capability values + + remote: advertise the object-format capability on the server side + + wrapper: add function to compare strings with different NUL termination + + connect: have ref processing code take struct packet_reader + + Documentation: document v1 protocol object-format capability + + t1050: match object ID paths in a hash-insensitive way + (this branch is used by bc/sha-256-cvs-svn-updates.) SHA-256 migration work continues. - Ready??? + Will merge to 'master'. * jx/proc-receive-hook (2020-05-18) 11 commits @@ -543,31 +603,36 @@ of the repositories listed at Needs review. -* 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 - . Hookup unittests for the reftable library. - . Reftable support for git-core - . Add reftable library - . Add .gitattributes for the reftable/ directory - . Iterate over the "refs/" namespace in for_each_[raw]ref - . Move REF_LOG_ONLY to refs-internal.h - . Treat REVERT_HEAD as a pseudo ref - . Treat CHERRY_PICK_HEAD as a pseudo ref - . Treat BISECT_HEAD as a pseudo ref - . Make refs_ref_exists public - . Write pseudorefs through ref backends. - . checkout: add '\n' to reflog message - . lib-t6000.sh: write tag using git-update-ref +* hn/reftable (2020-06-22) 20 commits + - SQUASH??? fix new blank line at EOF + - Add "test-tool dump-reftable" command. + - Add reftable testing infrastructure + - git-prompt: prepare for reftable refs backend + - vcxproj: adjust for the reftable changes + - Add GIT_DEBUG_REFS debugging mechanism + - Hookup unittests for the reftable library. + - Reftable support for git-core + - Add standalone build infrastructure for reftable + - Add reftable library + - Add .gitattributes for the reftable/ directory + - Iterate over the "refs/" namespace in for_each_[raw]ref + - Move REF_LOG_ONLY to refs-internal.h + - Treat REVERT_HEAD as a pseudo ref + - Treat CHERRY_PICK_HEAD as a pseudo ref + - Treat BISECT_HEAD as a pseudo ref + - Make refs_ref_exists public + - Write pseudorefs through ref backends. + - 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 play well with the xl/upgrade-repo-format topic; + perhaps rework on top of 'master' after that topic graduates? + -------------------------------------------------- [Discarded]