summaryrefslogtreecommitdiff
path: root/t/t9108-git-svn-glob.sh
diff options
context:
space:
mode:
authorMarcus Griep <marcus@griep.us>2008-08-08 08:41:57 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-08-08 23:29:56 (GMT)
commit570d35c26dfbc40757da6032cdc96afb58cc0037 (patch)
treef4214bb8e0404fffde9ae521381d28c4a343adfb /t/t9108-git-svn-glob.sh
parentb47ddefe02945f8746c642219450245cf83ed130 (diff)
downloadgit-570d35c26dfbc40757da6032cdc96afb58cc0037.zip
git-570d35c26dfbc40757da6032cdc96afb58cc0037.tar.gz
git-570d35c26dfbc40757da6032cdc96afb58cc0037.tar.bz2
git-svn: Allow deep branch names by supporting multi-globs
Some repositories use a deep branching strategy, such as: branches/1.0/1.0.rc1 branches/1.0/1.0.rc2 branches/1.0/1.0.rtm branches/1.0/1.0.gold Only allowing a single glob stiffles this. This change allows for a single glob 'set' to accept this deep branching strategy. The ref glob depth must match the branch glob depth. When using the -b or -t options for init or clone, this is automatically done. For example, using the above branches: svn-remote.svn.branches = branches/*/*:refs/remote/*/* gives the following branch names: 1.0/1.0.rc1 1.0/1.0.rc2 1.0/1.0.rtm 1.0/1.0.gold [ew: * removed unrelated line-wrapping changes * fixed line-wrapping in a few more places * removed trailing whitespace * fixed bashism in test * removed unnecessary httpd startup in test * changed copyright on tests to 2008 Marcus Griep * added executable permissions to new tests ] Signed-off-by: Marcus Griep <marcus@griep.us> Acked-by: Eric Wong <normalperson@yhbt.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t9108-git-svn-glob.sh')
-rwxr-xr-xt/t9108-git-svn-glob.sh9
1 files changed, 5 insertions, 4 deletions
diff --git a/t/t9108-git-svn-glob.sh b/t/t9108-git-svn-glob.sh
index 69e9687..8b792a1 100755
--- a/t/t9108-git-svn-glob.sh
+++ b/t/t9108-git-svn-glob.sh
@@ -53,7 +53,8 @@ test_expect_success 'test refspec globbing' '
test "`git rev-parse refs/remotes/tags/end~1`" = \
"`git rev-parse refs/remotes/branches/start`" &&
test "`git rev-parse refs/remotes/branches/start~2`" = \
- "`git rev-parse refs/remotes/trunk`"
+ "`git rev-parse refs/remotes/trunk`" &&
+ test_must_fail git rev-parse refs/remotes/tags/end@3
'
echo try to try > expect.two
@@ -85,8 +86,8 @@ test_expect_success 'test left-hand-side only globbing' '
test_cmp expect.two output.two
'
-echo "Only one '*' wildcard expansion is supported (got 2): 'branches/*/*'" \
- > expect.three
+echo "Only one set of wildcard directories" \
+ "(e.g. '*' or '*/*/*') is supported: 'branches/*/t/*'" > expect.three
echo "" >> expect.three
test_expect_success 'test disallow multi-globs' '
@@ -94,7 +95,7 @@ test_expect_success 'test disallow multi-globs' '
git config --add svn-remote.three.fetch \
trunk:refs/remotes/three/trunk &&
git config --add svn-remote.three.branches \
- "branches/*/*:refs/remotes/three/branches/*" &&
+ "branches/*/t/*:refs/remotes/three/branches/*" &&
git config --add svn-remote.three.tags \
"tags/*/*:refs/remotes/three/tags/*" &&
(