Re: [BUG REPORT] git-svn fails to create branches if ssh+svn gets used as protocol.
- From
- Eric Wong <normalperson@yhbt.net>
- Date
- Dec 23, 2009, 07:25 UTC
- Message-ID
- <20091223072500.GB4323@dcvr.yhbt.net>
- In-Reply-To
- <4B309730.5070509@fkoeberle.de>
Florian Köberle <florian@fkoeberle.de> wrote:
> Hello > > I haven't seen a link to a bug tracker so I am sending this bug report > to the mailing list, I hope it's okay.
Hi Florian,
The mailing list is the bug tracker here :)
Show 14 quoted lines
> If you try to run > $ git svn branch foo > in a project using a svn+ssh url, you get the following error log: > > Copying svn+ssh://example.org/svn/project/trunk at r1000 to > svn+ssh://me@example.org/svn/project/branches/foo... > Trying to use an unsupported feature: Source and dest appear not to be > in the same repository (src: 'svn+ssh://example.org/svn/project/trunk'; > dst: 'svn+ssh://me@example.org/svn/project/branches/foo') at > /home/florian/libexec/git-core/git-svn line 722 > > It fails as the username is missing in the source url. If you modify the > git-svn script and add the username it works. The bug can be reproduced > with git-svn version 1.6.5.7 (svn 1.5.1).
Thanks for the info, the following patch should help.
I rarely get around to testing against svn+ssh servers myself (and they don't appear too common compared to http/https).
Let us know how it goes, thanks!
From b2bc7e330209659c20d02ee0ba3785f9f59fd0b2 Mon Sep 17 00:00:00 2001 From: Eric Wong <normalperson@yhbt.net> Date: Tue, 22 Dec 2009 22:40:18 -0800 Subject: [PATCH] git svn: branch/tag commands detect username in URLs
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 dba0d12..650c9e5 100755 --- a/git-svn.perl +++ b/git-svn.perl @@ -663,7 +663,8 @@ sub cmd_branch { } $head ||= 'HEAD'; - my ($src, $rev, undef, $gs) = working_head_info($head); + my (undef, $rev, undef, $gs) = working_head_info($head); + my $src = $gs->full_url; my $remote = Git::SVN::read_all_remotes()->{$gs->{repo_id}}; my $allglobs = $remote->{ $_tag ? 'tags' : 'branches' };
-- Eric Wong