threads / discuss / 11372

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

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

## tl;dr

4 messages between Dec 20, 2007 and Dec 22, 2007.

replies: 3people: 3as markdown or json

Mike Frysinger· Dec 20, 2007, 16:21 UTC · lore

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· Dec 22, 2007, 04:35 UTC · re: Mike Frysinger · lore

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

Mike Frysinger <vapier.adi@gmail.com> wrote:
Show 20 quoted lines
> 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· Dec 22, 2007, 09:16 UTC · re: Eric Wong · lore

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

Eric Wong wrote:
Show 6 quoted lines
>> 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
Show 7 quoted lines
> 
> 
> 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· Dec 22, 2007, 09:32 UTC · re: Sam Vilain · lore

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

On Dec 22, 2007 4:16 AM, Sam Vilain <sam@vilain.net> wrote:
Show 15 quoted lines
> 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

← back to recent threads