@matheusbsbs / matheus-bagliano / commits / b5c9b38bc3
Fork 0

git svn: cleanup t9138-multiple-branches

Using the "svn_cmd" wrapper instead of "svn" alone allows tests to run consistently for users with customized ~/.subversion/configs. Additionally, using subshells via "(cd ...)" allow cleaner and less error-prone tests to be written. [ew: expanded commit message] Signed-off-by: Marc Branchaud <marcnarc@xiplink.com> Acked-by: Eric Wong <normalperson@yhbt.net>

Marc Branchaud committed Jun 26, 2009 at 17:08 UTC b5c9b38bc3f7a1151dc6b1af1f3fabe9d1c4aefa
1 file changed +66 -57
t/t9138-git-svn-multiple-branches.sh
+66 -57
@@ -14,58 +14,58 @@ test_expect_success 'setup svnrepo' '
14 project/tags_A \
15 project/tags_B &&
16 echo 1 > project/trunk/a.file &&
17 - svn import -m "$test_description" project "$svnrepo/project" &&
17 + svn_cmd import -m "$test_description" project "$svnrepo/project" &&
18 rm -rf project &&
19 - svn cp -m "Branch 1" "$svnrepo/project/trunk" \
20 - "$svnrepo/project/b_one/first" &&
21 - svn cp -m "Tag 1" "$svnrepo/project/trunk" \
22 - "$svnrepo/project/tags_A/1.0" &&
23 - svn co "$svnrepo/project" svn_project &&
24 - cd svn_project &&
19 + svn_cmd cp -m "Branch 1" "$svnrepo/project/trunk" \
20 + "$svnrepo/project/b_one/first" &&
21 + svn_cmd cp -m "Tag 1" "$svnrepo/project/trunk" \
22 + "$svnrepo/project/tags_A/1.0" &&
23 + svn_cmd co "$svnrepo/project" svn_project &&
24 + ( cd svn_project &&
25 echo 2 > trunk/a.file &&
26 - svn ci -m "Change 1" trunk/a.file &&
27 - svn cp -m "Branch 2" "$svnrepo/project/trunk" \
28 - "$svnrepo/project/b_one/second" &&
29 - svn cp -m "Tag 2" "$svnrepo/project/trunk" \
30 - "$svnrepo/project/tags_A/2.0" &&
26 + svn_cmd ci -m "Change 1" trunk/a.file &&
27 + svn_cmd cp -m "Branch 2" "$svnrepo/project/trunk" \
28 + "$svnrepo/project/b_one/second" &&
29 + svn_cmd cp -m "Tag 2" "$svnrepo/project/trunk" \
30 + "$svnrepo/project/tags_A/2.0" &&
31 echo 3 > trunk/a.file &&
32 - svn ci -m "Change 2" trunk/a.file &&
33 - svn cp -m "Branch 3" "$svnrepo/project/trunk" \
34 - "$svnrepo/project/b_two/1" &&
35 - svn cp -m "Tag 3" "$svnrepo/project/trunk" \
36 - "$svnrepo/project/tags_A/3.0" &&
32 + svn_cmd ci -m "Change 2" trunk/a.file &&
33 + svn_cmd cp -m "Branch 3" "$svnrepo/project/trunk" \
34 + "$svnrepo/project/b_two/1" &&
35 + svn_cmd cp -m "Tag 3" "$svnrepo/project/trunk" \
36 + "$svnrepo/project/tags_A/3.0" &&
37 echo 4 > trunk/a.file &&
38 - svn ci -m "Change 3" trunk/a.file &&
39 - svn cp -m "Branch 4" "$svnrepo/project/trunk" \
40 - "$svnrepo/project/b_two/2" &&
41 - svn cp -m "Tag 4" "$svnrepo/project/trunk" \
42 - "$svnrepo/project/tags_A/4.0" &&
43 - svn up &&
38 + svn_cmd ci -m "Change 3" trunk/a.file &&
39 + svn_cmd cp -m "Branch 4" "$svnrepo/project/trunk" \
40 + "$svnrepo/project/b_two/2" &&
41 + svn_cmd cp -m "Tag 4" "$svnrepo/project/trunk" \
42 + "$svnrepo/project/tags_A/4.0" &&
43 + svn_cmd up &&
44 echo 5 > b_one/first/a.file &&
45 - svn ci -m "Change 4" b_one/first/a.file &&
46 - svn cp -m "Tag 5" "$svnrepo/project/b_one/first" \
47 - "$svnrepo/project/tags_B/v5" &&
45 + svn_cmd ci -m "Change 4" b_one/first/a.file &&
46 + svn_cmd cp -m "Tag 5" "$svnrepo/project/b_one/first" \
47 + "$svnrepo/project/tags_B/v5" &&
48 echo 6 > b_one/second/a.file &&
49 - svn ci -m "Change 5" b_one/second/a.file &&
50 - svn cp -m "Tag 6" "$svnrepo/project/b_one/second" \
51 - "$svnrepo/project/tags_B/v6" &&
49 + svn_cmd ci -m "Change 5" b_one/second/a.file &&
50 + svn_cmd cp -m "Tag 6" "$svnrepo/project/b_one/second" \
51 + "$svnrepo/project/tags_B/v6" &&
52 echo 7 > b_two/1/a.file &&
53 - svn ci -m "Change 6" b_two/1/a.file &&
54 - svn cp -m "Tag 7" "$svnrepo/project/b_two/1" \
55 - "$svnrepo/project/tags_B/v7" &&
53 + svn_cmd ci -m "Change 6" b_two/1/a.file &&
54 + svn_cmd cp -m "Tag 7" "$svnrepo/project/b_two/1" \
55 + "$svnrepo/project/tags_B/v7" &&
56 echo 8 > b_two/2/a.file &&
57 - svn ci -m "Change 7" b_two/2/a.file &&
58 - svn cp -m "Tag 8" "$svnrepo/project/b_two/2" \
59 - "$svnrepo/project/tags_B/v8" &&
60 - cd ..
61 - '
57 + svn_cmd ci -m "Change 7" b_two/2/a.file &&
58 + svn_cmd cp -m "Tag 8" "$svnrepo/project/b_two/2" \
59 + "$svnrepo/project/tags_B/v8"
60 + )
61 +'
62
63 test_expect_success 'clone multiple branch and tag paths' '
64 git svn clone -T trunk \
65 -b b_one/* --branches b_two/* \
66 -t tags_A/* --tags tags_B \
67 "$svnrepo/project" git_project &&
68 - cd git_project &&
68 + ( cd git_project &&
69 git rev-parse refs/remotes/first &&
70 git rev-parse refs/remotes/second &&
71 git rev-parse refs/remotes/1 &&
@@ -77,37 +77,46 @@ test_expect_success 'clone multiple branch and tag paths' '
77 git rev-parse refs/remotes/tags/v5 &&
78 git rev-parse refs/remotes/tags/v6 &&
79 git rev-parse refs/remotes/tags/v7 &&
80 - git rev-parse refs/remotes/tags/v8 &&
81 - cd ..
82 - '
80 + git rev-parse refs/remotes/tags/v8
81 + )
82 +'
83
84 test_expect_success 'Multiple branch or tag paths require -d' '
85 - cd git_project &&
85 + ( cd git_project &&
86 test_must_fail git svn branch -m "No new branch" Nope &&
87 test_must_fail git svn tag -m "No new tag" Tagless &&
88 test_must_fail git rev-parse refs/remotes/Nope &&
89 - test_must_fail git rev-parse refs/remotes/tags/Tagless &&
90 - cd ../svn_project &&
91 - svn up &&
89 + test_must_fail git rev-parse refs/remotes/tags/Tagless
90 + ) &&
91 + ( cd svn_project &&
92 + svn_cmd up &&
93 test_must_fail test -d b_one/Nope &&
94 test_must_fail test -d b_two/Nope &&
95 test_must_fail test -d tags_A/Tagless &&
95 - test_must_fail test -d tags_B/Tagless &&
96 - cd ..
97 - '
96 + test_must_fail test -d tags_B/Tagless
97 + )
98 +'
99
100 test_expect_success 'create new branches and tags' '
100 - ( cd git_project && git svn branch -m "New branch 1" -d project/b_one New1 ) &&
101 - ( cd svn_project && svn up && test -e b_one/New1/a.file ) &&
101 + ( cd git_project &&
102 + git svn branch -m "New branch 1" -d project/b_one New1 ) &&
103 + ( cd svn_project &&
104 + svn_cmd up && test -e b_one/New1/a.file ) &&
105
103 - ( cd git_project && git svn branch -m "New branch 2" -d project/b_two New2 ) &&
104 - ( cd svn_project && svn up && test -e b_two/New2/a.file ) &&
106 + ( cd git_project &&
107 + git svn branch -m "New branch 2" -d project/b_two New2 ) &&
108 + ( cd svn_project &&
109 + svn_cmd up && test -e b_two/New2/a.file ) &&
110
106 - ( cd git_project && git svn branch -t -m "New tag 1" -d project/tags_A Tag1 ) &&
107 - ( cd svn_project && svn up && test -e tags_A/Tag1/a.file )
111 + ( cd git_project &&
112 + git svn branch -t -m "New tag 1" -d project/tags_A Tag1 ) &&
113 + ( cd svn_project &&
114 + svn_cmd up && test -e tags_A/Tag1/a.file ) &&
115
109 - ( cd git_project && git svn tag -m "New tag 2" -d project/tags_B Tag2 ) &&
110 - ( cd svn_project && svn up && test -e tags_B/Tag2/a.file )
111 - '
116 + ( cd git_project &&
117 + git svn tag -m "New tag 2" -d project/tags_B Tag2 ) &&
118 + ( cd svn_project &&
119 + svn_cmd up && test -e tags_B/Tag2/a.file )
120 +'
121
122 test_done