diff options
Diffstat (limited to 't/t5400-send-pack.sh')
-rwxr-xr-x | t/t5400-send-pack.sh | 210 |
1 files changed, 107 insertions, 103 deletions
diff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh index 571d620aed..3f81f16e13 100755 --- a/t/t5400-send-pack.sh +++ b/t/t5400-send-pack.sh @@ -6,6 +6,9 @@ test_description='See why rewinding head breaks send-pack ' +GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME=main +export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME + . ./test-lib.sh cnt=64 @@ -21,14 +24,15 @@ test_expect_success setup ' i=0 && while test $i -le $cnt do - i=$(($i+1)) && - test_tick && - echo "Commit #$i" >mozart/is/pink && - git update-index --add mozart/is/pink && - tree=$(git write-tree) && - commit=$(echo "Commit #$i" | git commit-tree $tree -p $parent) && - git update-ref refs/tags/commit$i $commit && - parent=$commit || return 1 + i=$(($i+1)) && + test_tick && + echo "Commit #$i" >mozart/is/pink && + git update-index --add mozart/is/pink && + tree=$(git write-tree) && + commit=$(echo "Commit #$i" | + git commit-tree $tree -p $parent) && + git update-ref refs/tags/commit$i $commit && + parent=$commit || return 1 done && git update-ref HEAD "$commit" && git clone ./. victim && @@ -38,14 +42,14 @@ test_expect_success setup ' i=0 && while test $i -le $cnt do - i=$(($i+1)) && - test_tick && - echo "Rebase #$i" >mozart/is/pink && - git update-index --add mozart/is/pink && - tree=$(git write-tree) && - commit=$(echo "Rebase #$i" | git commit-tree $tree -p $parent) && - git update-ref refs/tags/rebase$i $commit && - parent=$commit || return 1 + i=$(($i+1)) && + test_tick && + echo "Rebase #$i" >mozart/is/pink && + git update-index --add mozart/is/pink && + tree=$(git write-tree) && + commit=$(echo "Rebase #$i" | git commit-tree $tree -p $parent) && + git update-ref refs/tags/rebase$i $commit && + parent=$commit || return 1 done && git update-ref HEAD "$commit" && echo Rebase && @@ -57,40 +61,40 @@ test_expect_success 'pack the source repository' ' ' test_expect_success 'pack the destination repository' ' - ( - cd victim && - git repack -a -d && - git prune - ) + ( + cd victim && + git repack -a -d && + git prune + ) ' test_expect_success 'refuse pushing rewound head without --force' ' - pushed_head=$(git rev-parse --verify master) && - victim_orig=$(cd victim && git rev-parse --verify master) && - test_must_fail git send-pack ./victim master && - victim_head=$(cd victim && git rev-parse --verify master) && + pushed_head=$(git rev-parse --verify main) && + victim_orig=$(cd victim && git rev-parse --verify main) && + test_must_fail git send-pack ./victim main && + victim_head=$(cd victim && git rev-parse --verify main) && test "$victim_head" = "$victim_orig" && # this should update - git send-pack --force ./victim master && - victim_head=$(cd victim && git rev-parse --verify master) && + git send-pack --force ./victim main && + victim_head=$(cd victim && git rev-parse --verify main) && test "$victim_head" = "$pushed_head" ' test_expect_success 'push can be used to delete a ref' ' - ( cd victim && git branch extra master ) && - git send-pack ./victim :extra master && + ( cd victim && git branch extra main ) && + git send-pack ./victim :extra main && ( cd victim && test_must_fail git rev-parse --verify extra ) ' test_expect_success 'refuse deleting push with denyDeletes' ' ( - cd victim && - test_might_fail git branch -D extra && - git config receive.denyDeletes true && - git branch extra master + cd victim && + test_might_fail git branch -D extra && + git config receive.denyDeletes true && + git branch extra main ) && - test_must_fail git send-pack ./victim :extra master + test_must_fail git send-pack ./victim :extra main ' test_expect_success 'cannot override denyDeletes with git -c send-pack' ' @@ -98,10 +102,10 @@ test_expect_success 'cannot override denyDeletes with git -c send-pack' ' cd victim && test_might_fail git branch -D extra && git config receive.denyDeletes true && - git branch extra master + git branch extra main ) && test_must_fail git -c receive.denyDeletes=false \ - send-pack ./victim :extra master + send-pack ./victim :extra main ' test_expect_success 'override denyDeletes with git -c receive-pack' ' @@ -109,22 +113,22 @@ test_expect_success 'override denyDeletes with git -c receive-pack' ' cd victim && test_might_fail git branch -D extra && git config receive.denyDeletes true && - git branch extra master + git branch extra main ) && git send-pack \ --receive-pack="git -c receive.denyDeletes=false receive-pack" \ - ./victim :extra master + ./victim :extra main ' test_expect_success 'denyNonFastforwards trumps --force' ' ( - cd victim && - test_might_fail git branch -D extra && - git config receive.denyNonFastforwards true + cd victim && + test_might_fail git branch -D extra && + git config receive.denyNonFastforwards true ) && - victim_orig=$(cd victim && git rev-parse --verify master) && - test_must_fail git send-pack --force ./victim master^:master && - victim_head=$(cd victim && git rev-parse --verify master) && + victim_orig=$(cd victim && git rev-parse --verify main) && + test_must_fail git send-pack --force ./victim main^:main && + victim_head=$(cd victim && git rev-parse --verify main) && test "$victim_orig" = "$victim_head" ' @@ -143,16 +147,16 @@ test_expect_success 'send-pack --all sends all branches' ' test_expect_success 'push --all excludes remote-tracking hierarchy' ' mkdir parent && ( - cd parent && - git init && : >file && git add file && git commit -m add + cd parent && + git init && : >file && git add file && git commit -m add ) && git clone parent child && ( - cd child && git push --all + cd child && git push --all ) && ( - cd parent && - test -z "$(git for-each-ref refs/remotes/origin)" + cd parent && + test -z "$(git for-each-ref refs/remotes/origin)" ) ' @@ -160,33 +164,33 @@ test_expect_success 'receive-pack runs auto-gc in remote repo' ' rm -rf parent child && git init parent && ( - # Setup a repo with 2 packs - cd parent && - echo "Some text" >file.txt && - git add . && - git commit -m "Initial commit" && - git repack -adl && - echo "Some more text" >>file.txt && - git commit -a -m "Second commit" && - git repack + # Setup a repo with 2 packs + cd parent && + echo "Some text" >file.txt && + git add . && + git commit -m "Initial commit" && + git repack -adl && + echo "Some more text" >>file.txt && + git commit -a -m "Second commit" && + git repack ) && cp -R parent child && ( - # Set the child to auto-pack if more than one pack exists - cd child && - git config gc.autopacklimit 1 && - git config gc.autodetach false && - git branch test_auto_gc && - # And create a file that follows the temporary object naming - # convention for the auto-gc to remove - : >.git/objects/tmp_test_object && - test-tool chmtime =-1209601 .git/objects/tmp_test_object + # Set the child to auto-pack if more than one pack exists + cd child && + git config gc.autopacklimit 1 && + git config gc.autodetach false && + git branch test_auto_gc && + # And create a file that follows the temporary object naming + # convention for the auto-gc to remove + : >.git/objects/tmp_test_object && + test-tool chmtime =-1209601 .git/objects/tmp_test_object ) && ( - cd parent && - echo "Even more text" >>file.txt && - git commit -a -m "Third commit" && - git send-pack ../child HEAD:refs/heads/test_auto_gc + cd parent && + echo "Even more text" >>file.txt && + git commit -a -m "Third commit" && + git send-pack ../child HEAD:refs/heads/test_auto_gc ) && test ! -e child/.git/objects/tmp_test_object ' @@ -195,63 +199,63 @@ rewound_push_setup() { rm -rf parent child && mkdir parent && ( - cd parent && - git init && - echo one >file && git add file && git commit -m one && - git config receive.denyCurrentBranch warn && - echo two >file && git commit -a -m two + cd parent && + git init && + echo one >file && git add file && git commit -m one && + git config receive.denyCurrentBranch warn && + echo two >file && git commit -a -m two ) && git clone parent child && ( - cd child && git reset --hard HEAD^ + cd child && git reset --hard HEAD^ ) } test_expect_success 'pushing explicit refspecs respects forcing' ' rewound_push_setup && - parent_orig=$(cd parent && git rev-parse --verify master) && + parent_orig=$(cd parent && git rev-parse --verify main) && ( - cd child && - test_must_fail git send-pack ../parent \ - refs/heads/master:refs/heads/master + cd child && + test_must_fail git send-pack ../parent \ + refs/heads/main:refs/heads/main ) && - parent_head=$(cd parent && git rev-parse --verify master) && + parent_head=$(cd parent && git rev-parse --verify main) && test "$parent_orig" = "$parent_head" && ( - cd child && - git send-pack ../parent \ - +refs/heads/master:refs/heads/master + cd child && + git send-pack ../parent \ + +refs/heads/main:refs/heads/main ) && - parent_head=$(cd parent && git rev-parse --verify master) && - child_head=$(cd child && git rev-parse --verify master) && + parent_head=$(cd parent && git rev-parse --verify main) && + child_head=$(cd child && git rev-parse --verify main) && test "$parent_head" = "$child_head" ' test_expect_success 'pushing wildcard refspecs respects forcing' ' rewound_push_setup && - parent_orig=$(cd parent && git rev-parse --verify master) && + parent_orig=$(cd parent && git rev-parse --verify main) && ( - cd child && - test_must_fail git send-pack ../parent \ - "refs/heads/*:refs/heads/*" + cd child && + test_must_fail git send-pack ../parent \ + "refs/heads/*:refs/heads/*" ) && - parent_head=$(cd parent && git rev-parse --verify master) && + parent_head=$(cd parent && git rev-parse --verify main) && test "$parent_orig" = "$parent_head" && ( - cd child && - git send-pack ../parent \ - "+refs/heads/*:refs/heads/*" + cd child && + git send-pack ../parent \ + "+refs/heads/*:refs/heads/*" ) && - parent_head=$(cd parent && git rev-parse --verify master) && - child_head=$(cd child && git rev-parse --verify master) && + parent_head=$(cd parent && git rev-parse --verify main) && + child_head=$(cd child && git rev-parse --verify main) && test "$parent_head" = "$child_head" ' test_expect_success 'deny pushing to delete current branch' ' rewound_push_setup && ( - cd child && - test_must_fail git send-pack ../parent :refs/heads/master 2>errs + cd child && + test_must_fail git send-pack ../parent :refs/heads/main 2>errs ) ' @@ -282,14 +286,14 @@ test_expect_success 'receive-pack de-dupes .have lines' ' local=$(git -C fork rev-parse HEAD) && shared=$(git -C shared rev-parse only-shared) && cat >expect <<-EOF && - $local refs/heads/master + $local refs/heads/main $local refs/remotes/origin/HEAD - $local refs/remotes/origin/master + $local refs/remotes/origin/main $shared .have EOF - GIT_TRACE_PACKET=$(pwd)/trace GIT_TEST_PROTOCOL_VERSION= \ - git push \ + GIT_TRACE_PACKET=$(pwd)/trace GIT_TEST_PROTOCOL_VERSION=0 \ + git push \ --receive-pack="unset GIT_TRACE_PACKET; git-receive-pack" \ fork HEAD:foo && extract_ref_advertisement <trace >refs && |