]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Merge branch 'kn/fetch-push-bulk-ref-update'
authorJunio C Hamano <gitster@pobox.com>
Tue, 8 Jul 2025 22:49:19 +0000 (15:49 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 8 Jul 2025 22:49:19 +0000 (15:49 -0700)
"git push" and "git fetch" are taught to update refs in batches to
gain performance.

* kn/fetch-push-bulk-ref-update:
  receive-pack: handle reference deletions separately
  refs/files: skip updates with errors in batched updates
  receive-pack: use batched reference updates
  send-pack: fix memory leak around duplicate refs
  fetch: use batched reference updates
  refs: add function to translate errors to strings

1  2 
builtin/fetch.c
builtin/receive-pack.c
refs/files-backend.c
t/t1400-update-ref.sh
t/t5516-fetch-push.sh

diff --cc builtin/fetch.c
Simple merge
Simple merge
Simple merge
Simple merge
index 782f5f93ea03aec898b31592279ac84933df7605,1649667441fcb3fc985d3332f1efeb2eaf9dc80a..4e9c27b0f28fd7c4847fdc8231502d1383676e6d
@@@ -1909,14 -1909,13 +1909,23 @@@ test_expect_success 'push with config p
                --thin --delta-base-offset -q --no-use-bitmap-index <false
  '
  
 +test_expect_success 'push with config pack.usePathWalk=true' '
 +      mk_test testrepo heads/main &&
 +      git checkout main &&
 +      test_config pack.usePathWalk true &&
 +      GIT_TRACE2_EVENT="$(pwd)/path-walk.txt" \
 +      git push --quiet testrepo main:test &&
 +
 +      test_region pack-objects path-walk path-walk.txt
 +'
 +
+ test_expect_success 'push with F/D conflict with deletion and creation' '
+       test_when_finished "git branch -D branch" &&
+       git branch branch/conflict &&
+       mk_test testrepo heads/branch/conflict &&
+       git branch -D branch/conflict &&
+       git branch branch &&
+       git push testrepo :refs/heads/branch/conflict refs/heads/branch
+ '
  test_done