[PATCH] git-svn: don't blindly append '*' to branch/tags config
- From
- Eric Wong <normalperson@yhbt.net>
- Date
- Mar 14, 2008, 18:01 UTC
- Message-ID
- <20080314180123.GB3107@hand.yhbt.net>
- In-Reply-To
- <20080313112738.GA28589@piper.oerlikon.madduck.net>
Previously, git-svn would blindly append '*' even if it was specified by the user during initialization (for certain SVN setups, it is necessary).
Now, the following command will work correctly:
git svn init -T trunk/docutils \
-t 'tags/*/docutils' \
-b 'branches/*/docutils' \
svn://svn.berlios.de/docutilsThanks to martin f krafft for the bug report:
Show 23 quoted lines
> My git-svn target configuration is > > [svn-remote "svn"] > url = svn://svn.berlios.de/docutils > fetch = trunk/docutils:refs/remotes/trunk > branches = branches/*/docutils:refs/remotes/* > tags = tags/*/docutils:refs/remotes/tags/* > > Unfortunately, when I run > > git-svn init -T trunk/docutils -t 'tags/*/docutils' > -b 'branches/*/docutils' > > then I get (note the two asterisks on the left hand side): > > branches = branches/*/docutils/*:refs/remotes/* > tags = tags/*/docutils/*:refs/remotes/tags/* > > I took a brief stab at the code but I can't even figure out where > the /* is appended, so I defer to you. > > It should be trivial to keep git-svn from appending /* if the left > side already contains an asterisk.
Signed-off-by: Eric Wong <normalperson@yhbt.net> ---
git-svn.perl | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/git-svn.perl b/git-svn.perl index d8b38c9..bba22c1 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -958,9 +958,10 @@ sub complete_url_ls_init { "wanted to set to: $gs->{url}\n"; } command_oneline('config', $k, $gs->{url}) unless $orig_url; - my $remote_path = "$ra->{svn_path}/$repo_path/*"; + my $remote_path = "$ra->{svn_path}/$repo_path"; $remote_path =~ s#/+#/#g; $remote_path =~ s#^/##g; + $remote_path .= "/*" if $remote_path !~ /\*/; my ($n) = ($switch =~ /^--(\w+)/); if (length $pfx && $pfx !~ m#/$#) { die "--prefix='$pfx' must have a trailing slash '/'\n";
-- Eric Wong