From: Junio C Hamano Date: Wed, 03 Dec 2008 03:55:06 GMT Subject: Re: [PATCH] git-svn: Make branch use correct svn-remote Message-ID: <7vbpvtj4kl.fsf@gitster.siamese.dyndns.org> In-Reply-To: <20081202215157.GB9650@hand.yhbt.net> Eric Wong writes: > Deskin Miller wrote: >> The 'branch' subcommand incorrectly had the svn-remote to use hardcoded >> as 'svn', the default remote name. This meant that branches derived >> from other svn-remotes would try to use the branch and tag configuration >> for the 'svn' remote, potentially copying would-be branches to the wrong >> place in SVN, into the branch namespace for another project. >> >> Fix this by using the remote name extracted from the svn info for the >> specified git ref. Add a testcase for this behaviour. >> >> Signed-off-by: Deskin Miller > > Looks alright to me, thanks Deskin. > > Acked-by: Eric Wong Does not work for me X-<. * expecting success: (svn co "$svnrepo" svn && cd svn && mkdir mirror && svn add mirror && svn copy trunk tags branches mirror/ && svn ci -m "made mirror" ) && rm -rf svn && git svn init -s -R mirror --prefix=mirror/ "$svnrepo"/mirror && git svn fetch -R mirror && git checkout mirror/trunk && base=$(git rev-parse HEAD:) && git svn branch -m "branch in mirror" d && test $base = $(git rev-parse remotes/mirror/d:) && test_must_fail git rev-parse remotes/d A svn/trunk A svn/trunk/foo A svn/branches A svn/branches/a A svn/branches/a/foo A svn/branches/b A svn/branches/b/foo A svn/tags A svn/tags/tag4 A svn/tags/tag4/foo A svn/tags/tag1 A svn/tags/tag1/foo A svn/tags/tag2 A svn/tags/tag2/foo A svn/tags/tag3 A svn/tags/tag3/foo Checked out revision 8. A mirror svn: Client error in parsing arguments * FAIL 4: branch uses correct svn-remote (svn co "$svnrepo" svn && cd svn && mkdir mirror && svn add mirror && svn copy trunk tags branches mirror/ && svn ci -m "made mirror" ) && rm -rf svn && git svn init -s -R mirror --prefix=mirror/ "$svnrepo"/mirror && git svn fetch -R mirror && git checkout mirror/trunk && base=$(git rev-parse HEAD:) && git svn branch -m "branch in mirror" d && test $base = $(git rev-parse remotes/mirror/d:) && test_must_fail git rev-parse remotes/d