remote-testgit: cleanup tests

We don't need a bare 'server' and an intermediary 'public'. The repos
can talk to each other directly; that's what we want to exercise.

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Felipe Contreras
2012-11-28 23:11:04 +01:00
committed by Junio C Hamano
parent 0803d35940
commit 3808b8515b

View File

@ -19,100 +19,95 @@ compare_refs() {
} }
test_expect_success 'setup repository' ' test_expect_success 'setup repository' '
git init --bare server/.git && git init server &&
git clone server public && (cd server &&
(cd public &&
echo content >file && echo content >file &&
git add file && git add file &&
git commit -m one && git commit -m one)
git push origin master)
' '
test_expect_success 'cloning from local repo' ' test_expect_success 'cloning from local repo' '
git clone "testgit::${PWD}/server" localclone && git clone "testgit::${PWD}/server" local &&
test_cmp public/file localclone/file test_cmp server/file local/file
' '
test_expect_success 'create new commit on remote' ' test_expect_success 'create new commit on remote' '
(cd public && (cd server &&
echo content >>file && echo content >>file &&
git commit -a -m two && git commit -a -m two)
git push)
' '
test_expect_success 'pulling from local repo' ' test_expect_success 'pulling from local repo' '
(cd localclone && git pull) && (cd local && git pull) &&
test_cmp public/file localclone/file test_cmp server/file local/file
' '
test_expect_success 'pushing to local repo' ' test_expect_success 'pushing to local repo' '
(cd localclone && (cd local &&
echo content >>file && echo content >>file &&
git commit -a -m three && git commit -a -m three &&
git push) && git push) &&
compare_refs localclone HEAD server HEAD compare_refs local HEAD server HEAD
' '
test_expect_success 'fetch new branch' ' test_expect_success 'fetch new branch' '
(cd public && (cd server &&
git reset --hard &&
git checkout -b new && git checkout -b new &&
echo content >>file && echo content >>file &&
git commit -a -m five && git commit -a -m five
git push origin new
) && ) &&
(cd localclone && (cd local &&
git fetch origin new git fetch origin new
) && ) &&
compare_refs public HEAD localclone FETCH_HEAD compare_refs server HEAD local FETCH_HEAD
' '
# #
# This is only needed because of a bug not detected by this script. It will be # This is only needed because of a bug not detected by this script. It will be
# fixed shortly, but for now lets not cause regressions. # fixed shortly, but for now lets not cause regressions.
# #
test_expect_success 'bump commit in public' ' test_expect_success 'bump commit in server' '
(cd public && (cd server &&
git checkout master && git checkout master &&
git pull &&
echo content >>file && echo content >>file &&
git commit -a -m four && git commit -a -m four) &&
git push) && compare_refs server HEAD server HEAD
compare_refs public HEAD server HEAD
' '
test_expect_success 'fetch multiple branches' ' test_expect_success 'fetch multiple branches' '
(cd localclone && (cd local &&
git fetch git fetch
) && ) &&
compare_refs server master localclone refs/remotes/origin/master && compare_refs server master local refs/remotes/origin/master &&
compare_refs server new localclone refs/remotes/origin/new compare_refs server new local refs/remotes/origin/new
' '
test_expect_success 'push when remote has extra refs' ' test_expect_success 'push when remote has extra refs' '
(cd localclone && (cd local &&
git reset --hard origin/master && git reset --hard origin/master &&
echo content >>file && echo content >>file &&
git commit -a -m six && git commit -a -m six &&
git push git push
) && ) &&
compare_refs localclone master server master compare_refs local master server master
' '
test_expect_success 'push new branch by name' ' test_expect_success 'push new branch by name' '
(cd localclone && (cd local &&
git checkout -b new-name && git checkout -b new-name &&
echo content >>file && echo content >>file &&
git commit -a -m seven && git commit -a -m seven &&
git push origin new-name git push origin new-name
) && ) &&
compare_refs localclone HEAD server refs/heads/new-name compare_refs local HEAD server refs/heads/new-name
' '
test_expect_failure 'push new branch with old:new refspec' ' test_expect_failure 'push new branch with old:new refspec' '
(cd localclone && (cd local &&
git push origin new-name:new-refspec git push origin new-name:new-refspec
) && ) &&
compare_refs localclone HEAD server refs/heads/new-refspec compare_refs local HEAD server refs/heads/new-refspec
' '
test_done test_done