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>
This commit is contained in:

committed by
Junio C Hamano

parent
b47ddefe02
commit
570d35c26d
@ -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/*" &&
|
||||
(
|
||||
|
Reference in New Issue
Block a user