mirror of
https://github.com/git/git.git
synced 2024-11-18 06:54:55 +01:00
f0e8b1a3ed
Some unrelated tests were developed simultaneously and resulted in test numbers conflicting. To avoid difficulty when referring to tests via the "tXXXX" convention, rename the newer tests. Suggested by Marc Branchaud. Signed-off-by: Eric Wong <normalperson@yhbt.net>
122 lines
3.9 KiB
Bash
Executable file
122 lines
3.9 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2009 Marc Branchaud
|
|
#
|
|
|
|
test_description='git svn multiple branch and tag paths in the svn repo'
|
|
. ./lib-git-svn.sh
|
|
|
|
test_expect_success 'setup svnrepo' '
|
|
mkdir project \
|
|
project/trunk \
|
|
project/b_one \
|
|
project/b_two \
|
|
project/tags_A \
|
|
project/tags_B &&
|
|
echo 1 > project/trunk/a.file &&
|
|
svn_cmd import -m "$test_description" project "$svnrepo/project" &&
|
|
rm -rf project &&
|
|
svn_cmd cp -m "Branch 1" "$svnrepo/project/trunk" \
|
|
"$svnrepo/project/b_one/first" &&
|
|
svn_cmd cp -m "Tag 1" "$svnrepo/project/trunk" \
|
|
"$svnrepo/project/tags_A/1.0" &&
|
|
svn_cmd co "$svnrepo/project" svn_project &&
|
|
( cd svn_project &&
|
|
echo 2 > trunk/a.file &&
|
|
svn_cmd ci -m "Change 1" trunk/a.file &&
|
|
svn_cmd cp -m "Branch 2" "$svnrepo/project/trunk" \
|
|
"$svnrepo/project/b_one/second" &&
|
|
svn_cmd cp -m "Tag 2" "$svnrepo/project/trunk" \
|
|
"$svnrepo/project/tags_A/2.0" &&
|
|
echo 3 > trunk/a.file &&
|
|
svn_cmd ci -m "Change 2" trunk/a.file &&
|
|
svn_cmd cp -m "Branch 3" "$svnrepo/project/trunk" \
|
|
"$svnrepo/project/b_two/1" &&
|
|
svn_cmd cp -m "Tag 3" "$svnrepo/project/trunk" \
|
|
"$svnrepo/project/tags_A/3.0" &&
|
|
echo 4 > trunk/a.file &&
|
|
svn_cmd ci -m "Change 3" trunk/a.file &&
|
|
svn_cmd cp -m "Branch 4" "$svnrepo/project/trunk" \
|
|
"$svnrepo/project/b_two/2" &&
|
|
svn_cmd cp -m "Tag 4" "$svnrepo/project/trunk" \
|
|
"$svnrepo/project/tags_A/4.0" &&
|
|
svn_cmd up &&
|
|
echo 5 > b_one/first/a.file &&
|
|
svn_cmd ci -m "Change 4" b_one/first/a.file &&
|
|
svn_cmd cp -m "Tag 5" "$svnrepo/project/b_one/first" \
|
|
"$svnrepo/project/tags_B/v5" &&
|
|
echo 6 > b_one/second/a.file &&
|
|
svn_cmd ci -m "Change 5" b_one/second/a.file &&
|
|
svn_cmd cp -m "Tag 6" "$svnrepo/project/b_one/second" \
|
|
"$svnrepo/project/tags_B/v6" &&
|
|
echo 7 > b_two/1/a.file &&
|
|
svn_cmd ci -m "Change 6" b_two/1/a.file &&
|
|
svn_cmd cp -m "Tag 7" "$svnrepo/project/b_two/1" \
|
|
"$svnrepo/project/tags_B/v7" &&
|
|
echo 8 > b_two/2/a.file &&
|
|
svn_cmd ci -m "Change 7" b_two/2/a.file &&
|
|
svn_cmd cp -m "Tag 8" "$svnrepo/project/b_two/2" \
|
|
"$svnrepo/project/tags_B/v8"
|
|
)
|
|
'
|
|
|
|
test_expect_success 'clone multiple branch and tag paths' '
|
|
git svn clone -T trunk \
|
|
-b b_one/* --branches b_two/* \
|
|
-t tags_A/* --tags tags_B \
|
|
"$svnrepo/project" git_project &&
|
|
( cd git_project &&
|
|
git rev-parse refs/remotes/first &&
|
|
git rev-parse refs/remotes/second &&
|
|
git rev-parse refs/remotes/1 &&
|
|
git rev-parse refs/remotes/2 &&
|
|
git rev-parse refs/remotes/tags/1.0 &&
|
|
git rev-parse refs/remotes/tags/2.0 &&
|
|
git rev-parse refs/remotes/tags/3.0 &&
|
|
git rev-parse refs/remotes/tags/4.0 &&
|
|
git rev-parse refs/remotes/tags/v5 &&
|
|
git rev-parse refs/remotes/tags/v6 &&
|
|
git rev-parse refs/remotes/tags/v7 &&
|
|
git rev-parse refs/remotes/tags/v8
|
|
)
|
|
'
|
|
|
|
test_expect_success 'Multiple branch or tag paths require -d' '
|
|
( cd git_project &&
|
|
test_must_fail git svn branch -m "No new branch" Nope &&
|
|
test_must_fail git svn tag -m "No new tag" Tagless &&
|
|
test_must_fail git rev-parse refs/remotes/Nope &&
|
|
test_must_fail git rev-parse refs/remotes/tags/Tagless
|
|
) &&
|
|
( cd svn_project &&
|
|
svn_cmd up &&
|
|
test_must_fail test -d b_one/Nope &&
|
|
test_must_fail test -d b_two/Nope &&
|
|
test_must_fail test -d tags_A/Tagless &&
|
|
test_must_fail test -d tags_B/Tagless
|
|
)
|
|
'
|
|
|
|
test_expect_success 'create new branches and tags' '
|
|
( cd git_project &&
|
|
git svn branch -m "New branch 1" -d b_one New1 ) &&
|
|
( cd svn_project &&
|
|
svn_cmd up && test -e b_one/New1/a.file ) &&
|
|
|
|
( cd git_project &&
|
|
git svn branch -m "New branch 2" -d b_two New2 ) &&
|
|
( cd svn_project &&
|
|
svn_cmd up && test -e b_two/New2/a.file ) &&
|
|
|
|
( cd git_project &&
|
|
git svn branch -t -m "New tag 1" -d tags_A Tag1 ) &&
|
|
( cd svn_project &&
|
|
svn_cmd up && test -e tags_A/Tag1/a.file ) &&
|
|
|
|
( cd git_project &&
|
|
git svn tag -m "New tag 2" -d tags_B Tag2 ) &&
|
|
( cd svn_project &&
|
|
svn_cmd up && test -e tags_B/Tag2/a.file )
|
|
'
|
|
|
|
test_done
|