Subject: Re: How to prefix existing svn remotes?

From: Michael J Gruber <[email-masked]>
Date: Fri, 23 Jan 2009 12:13:18 +0100

Sébastien Mazy venit, vidit, dixit 22.01.2009 18:32:
> Hi all,
> 
> 
> I created a few months ago a git-svn repository using:
> git svn clone -s https://my_svn_repo .
> 
> wich also created the following remotes:
> git branch -r
>   branch0
>   tags/tag0
>   trunk
> 
> I would like to prefix theses remotes, so that it shows:
> git branch -r
>   prefix/branch0
>   prefix/tags/tag0
>   prefix/trunk
> 
> Of course I should have used the -prefix back when creating the repo but
> it's too late. 'git help svn' doesn't explain how to achieve that and
> simply editing .git/config to add the missing prefix will cause the next
> 'git svn fetch' to download again the whole history (which in my case is
> huge).
> 
> 
> Is it possible? Did I miss something obvious?

Yes! Depends!

The following works for me:

0) fetch to make sure you're current (optional)
1) edit .git/config and add the prefix (right hand side of the
refpsecs), or really rename in any way you want
2) rename the existing remote branches in the same way

The next git svn fetch will rebuild the map file (which is fast) but not
refetch any svn revisions you already have.

Regarding the renaming: Either I'm dumb or current git branch can't
rename git svn branches. I guess it's because they are remotes but not
really. I had to resort to git update-ref. I'll look into that.

Michael