threads / discuss / 24166

git svn relocate [SCRIPT]

Subject: git svn relocate [SCRIPT]

## tl;dr

4 messages between Jun 22, 2010 and Jun 23, 2010.

replies: 3people: 4as markdown or json

Christian Stimming· Jun 22, 2010, 09:40 UTC · lore
Dear all,

I haven't found an easy solution for when a git-svn SVN server changes its address, but I think the attached patch implements a solution useful for others as well.

In plain svn this is the "svn switch --relocate URL1 URL2" command to change the URL of a working copy from URL1 to URL2. In git-svn, there didn't seem to be a suitable command available. What I found were the instructions here http://translate.org.za/blogs/wynand/en/content/changing-your-svn-repository-address-git-svn-setup and some other google hits related to this one. The instructions from the wynand blog uses git-filter-branch, and the instructions were complete enough so that an all-in-one shell script wasn't too difficult to write. So the attached script implements this: Just call "git-svn-relocate URL1 URL2" and all the rest should happen automatically.

Hope this helps.
Regards,
Christian Stimming
Jakub Narebski· Jun 22, 2010, 13:15 UTC · re: Christian Stimming · lore

Re: git svn relocate [SCRIPT]

Christian Stimming <christian@cstimming.de> writes:
Show 17 quoted lines
> Dear all,
> 
> I haven't found an easy solution for when a git-svn SVN server changes
> its address, but I think the attached patch implements a solution
> useful for others as well.
> 
> In plain svn this is the "svn switch --relocate URL1 URL2" command to
> change the URL of a working copy from URL1 to URL2. In git-svn, there
> didn't seem to be a suitable command available. What I found were the
> instructions here
> http://translate.org.za/blogs/wynand/en/content/changing-your-svn-repository-address-git-svn-setup
> and some other google hits related to this one. The instructions from
> the wynand blog uses git-filter-branch, and the instructions were
> complete enough so that an all-in-one shell script wasn't too
> difficult to write. So the attached script implements this: Just call
> "git-svn-relocate URL1 URL2" and all the rest should happen
> automatically.

If you can put this script somewhere (e.g. GitHub, or repo.or.cz), could you please add information about it to InterfacesFriontendsAndTools page on Git Wiki (http://git.wiki.kernel.org)?

Alternatively, perhaps you could send it as a patch adding it to somwehere in the contrib/

-- 
Jakub Narebski
Poland
ShadeHawk on #git
Ævar Arnfjörð Bjarmason· Jun 22, 2010, 15:11 UTC · re: Jakub Narebski · lore

Re: git svn relocate [SCRIPT]

On Tue, Jun 22, 2010 at 13:15, Jakub Narebski <jnareb@gmail.com> wrote:
Show 6 quoted lines
> If you can put this script somewhere (e.g. GitHub, or repo.or.cz), could you
> please add information about it to InterfacesFriontendsAndTools page on Git
> Wiki (http://git.wiki.kernel.org)?
>
> Alternatively, perhaps you could send it as a patch adding it to somwehere
> in the contrib/

This is part of the "Reconstructing git-svn metadata after a git clone"[1] problem for which there's an open thread. You have to rewrite history using git-filter-branch to fix the branch references if you need to change the SVN URL.

It would be nice if you could specify that sed replacement in some git-svn config file if you needed to change e.g. someone's http:// clone to a svn+ssh:// clone without rewriting the whole thing.

Would that sort of thing be possible? Eric?
http://kerneltrap.org/mailarchive/git/2010/5/8/30062
Eric Wong· Jun 23, 2010, 09:53 UTC · re: Ævar Arnfjörð Bjarmason · lore

Re: git svn relocate [SCRIPT]

Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
Show 20 quoted lines
> On Tue, Jun 22, 2010 at 13:15, Jakub Narebski <jnareb@gmail.com> wrote:
> > If you can put this script somewhere (e.g. GitHub, or repo.or.cz), could you
> > please add information about it to InterfacesFriontendsAndTools page on Git
> > Wiki (http://git.wiki.kernel.org)?
> >
> > Alternatively, perhaps you could send it as a patch adding it to somwehere
> > in the contrib/
> 
> This is part of the "Reconstructing git-svn metadata after a git
> clone"[1] problem for which there's an open thread. You have to
> rewrite history using git-filter-branch to fix the branch references
> if you need to change the SVN URL.
> 
> It would be nice if you could specify that sed replacement in some
> git-svn config file if you needed to change e.g. someone's http://
> clone to a svn+ssh:// clone without rewriting the whole thing.
> 
> Would that sort of thing be possible? Eric?
> 
> http://kerneltrap.org/mailarchive/git/2010/5/8/30062

Does the existing rewriteRoot configuration option work for this? (I had almost forgotten about it myself :x)

-- 
Eric Wong

← back to recent threads