# git-svn: pulling from local mirror but committing via svn+ssh

4 messages from 2007-12-20 to 2007-12-22. Participants: Mike Frysinger, Eric Wong, Sam Vilain.
Thread: https://gitlist.dev/t/11372

## Mike Frysinger, 2007-12-20 16:21

Subject: git-svn: pulling from local mirror but committing via svn+ssh
Message-ID: <8bd0f97a0712200821j778c12a9g9d42bf02482d953c@mail.gmail.com>
URL: https://gitlist.dev/e/8bd0f97a0712200821j778c12a9g9d42bf02482d953c%40mail.gmail.com

```
i have local (fast) mirrors of the svn trees i use, so i normally keep
everything pointing at those.  when i need to commit, i use `svn
switch --relocate ...` to flip to the svn+ssh master, and then flop
back to the local mirror.  it actually works out nicely.

my reading of git-svn(1) seems to indicate that git-svn cant really
handle switching of repository URLs on the fly ?
http://www.kernel.org/pub/software/scm/git/docs/git-svn.html

i tried tweaking my .git/config and changing the url to my svn+ssh,
but it seems any modification in the URL just causes errors ...
vapier@G5[ppc] git $ git-svn dcommit
Use of uninitialized value in concatenation (.) or string at
/usr/bin/git-svn line 384.
Committing to  ...
Unable to determine upstream SVN information from HEAD history

guess i'll have to bite the bullet and just clone the svn+ssh repo :/

(i'm using 1.5.3.7 over here)
-mike

```

## Eric Wong, 2007-12-22 04:35

Subject: Re: git-svn: pulling from local mirror but committing via svn+ssh
Message-ID: <20071222043528.GB18812@soma>
URL: https://gitlist.dev/e/20071222043528.GB18812%40soma
In-Reply-To: <8bd0f97a0712200821j778c12a9g9d42bf02482d953c@mail.gmail.com>

```
Mike Frysinger <vapier.adi@gmail.com> wrote:
> i have local (fast) mirrors of the svn trees i use, so i normally keep
> everything pointing at those.  when i need to commit, i use `svn
> switch --relocate ...` to flip to the svn+ssh master, and then flop
> back to the local mirror.  it actually works out nicely.
> 
> my reading of git-svn(1) seems to indicate that git-svn cant really
> handle switching of repository URLs on the fly ?
> http://www.kernel.org/pub/software/scm/git/docs/git-svn.html
> 
> i tried tweaking my .git/config and changing the url to my svn+ssh,
> but it seems any modification in the URL just causes errors ...
> vapier@G5[ppc] git $ git-svn dcommit
> Use of uninitialized value in concatenation (.) or string at
> /usr/bin/git-svn line 384.
> Committing to  ...
> Unable to determine upstream SVN information from HEAD history
> 
> guess i'll have to bite the bullet and just clone the svn+ssh repo :/
> 
> (i'm using 1.5.3.7 over here)

Sam:

Can useSvmProps handle this?  I honestly forgot how that stuff
was supposed to work with SVK/svn-mirror.


Mike:

On the other hand, there's little point in keeping local mirrors around
when using git-svn since git already does that for you :)

-- 
Eric Wong

```

## Sam Vilain, 2007-12-22 09:16

Subject: Re: git-svn: pulling from local mirror but committing via svn+ssh
Message-ID: <476CD5E1.9020204@vilain.net>
URL: https://gitlist.dev/e/476CD5E1.9020204%40vilain.net
In-Reply-To: <20071222043528.GB18812@soma>

```
Eric Wong wrote:
>> i have local (fast) mirrors of the svn trees i use, so i normally keep
>> everything pointing at those.  when i need to commit, i use `svn
>> switch --relocate ...` to flip to the svn+ssh master, and then flop
>> back to the local mirror.  it actually works out nicely.
> Can useSvmProps handle this?  I honestly forgot how that stuff
> was supposed to work with SVK/svn-mirror.

It's precisely this use case.  If you are syncing with SVN::Mirror, part
of SVK, or via svnsync, these tools leave breadcrumbs as svn properties
that point to where the repository was copied from.  So, in your commit
log the message will be the URL of the immediately[*] upstream
repository.  SVN didn't ever really support clone per se, what did you
use to copy the repository?

One thing that isn't documented to my knowledge is that you can use 'git
commit --amend' to alter the URL in the 'git-svn-id:' in the commit
message of the top commit as a crude form of grafting.  If the master
repository changes URL or UUID that's probably what you'd have to do.
But in your case, you probably want to figure out which switches you're
missing.

Sam.

* - Usually these tools don't allow for more than one level of indirection

> 
> 
> Mike:
> 
> On the other hand, there's little point in keeping local mirrors around
> when using git-svn since git already does that for you :)
> 

```

## Mike Frysinger, 2007-12-22 09:32

Subject: Re: git-svn: pulling from local mirror but committing via svn+ssh
Message-ID: <8bd0f97a0712220132w6fdfd7ddud96811d4af8b431f@mail.gmail.com>
URL: https://gitlist.dev/e/8bd0f97a0712220132w6fdfd7ddud96811d4af8b431f%40mail.gmail.com
In-Reply-To: <476CD5E1.9020204@vilain.net>

```
On Dec 22, 2007 4:16 AM, Sam Vilain <sam@vilain.net> wrote:
> Eric Wong wrote:
> > > i have local (fast) mirrors of the svn trees i use, so i normally keep
> > > everything pointing at those.  when i need to commit, i use `svn
> > > switch --relocate ...` to flip to the svn+ssh master, and then flop
> > > back to the local mirror.  it actually works out nicely.
> >
> > Can useSvmProps handle this?  I honestly forgot how that stuff
> > was supposed to work with SVK/svn-mirror.
>
> It's precisely this use case.  If you are syncing with SVN::Mirror, part
> of SVK, or via svnsync, these tools leave breadcrumbs as svn properties
> that point to where the repository was copied from.  So, in your commit
> log the message will be the URL of the immediately[*] upstream
> repository.  SVN didn't ever really support clone per se, what did you
> use to copy the repository?

we publish the raw svn tree via rsync so people can create their own svn mirrors

sounds like it's just easier to mirror the original and since this
isnt a terribly large repo (~50 meg w/out any scm stuff), that's ok
-mike

```
