working with git-svn (was ...)

Derek Atkins derek at
Tue Jul 2 13:42:03 EDT 2013

On Tue, July 2, 2013 10:34 am, John Ralls wrote:
> On Jul 1, 2013, at 2:56 PM, Derek Atkins <derek at> wrote:
>> On Mon, July 1, 2013 5:41 pm, John Ralls wrote:
>>>> Why can't I:
>>>> ( cd master-repo && git-svn-mirror )
>>>> git clone --local -b <branch> master-repo branch-wc
>>>> cd branch-wc
>>>> ...
>>>> git-update
>>>> (do work)
>>>> git commit  (do I need to do this? -- I'm guessing I do)
>>>> git svn dcommit
>>> That's what I'm suggesting.
>> It seemed like you were suggesting more than this.  Basically I'm asking
>> if this would work:
>> [SVN REPO] -(git svn)> [GIT SVN (master-repo)] -(git)> [branch wc]
>>    ^                                                      |
>>    +----------------- (git svn dcommit) ------------------+
>> (where I would use either git-svn or git-svn-mirror in the first link,
>> and use git svn dcommit to push back from the branch wc to SVN)
> Yesterday you seemed to be saying that you would push back from the WC to
> master, then dcommit from there.

Ah, right; if I had to do a git svn clone myself on my laptop then I
would've considered it.  However work already effectively provides a
git-svn clone for me that gets updated every minute (or every commit; I'm
not 100% sure which).  So I can theoretically work the same way as we do
with GnuCash.

>>>       Note that git-svn-mirror can push to a
>>> bare repo, but won't if one isn't specified with --git-repo. Git svn
>>> operates on a working repo, and git-svn-mirror uses git svn
>>> (via the perl API that's part of git) to fetch from the SVN repo. As
>>> long
>>> as you always dcommit from your WC and use git-update to keep the refs
>>> pointed
>>> in the right place, it should work fine. The bare repo thing is there
>>> just
>>> to
>>> be able to work with Github or Gitolite. Git-svn-mirror will whine if
>>> there's
>>> nothing to push to, but it will still work OK.
>> In my case there is no reason to have git-svn-mirror push to anything.
>> At
>> least, I don't see any reason to push to anything.
> The only reason you might make a bare repo is that you could then pull
> from that
> to your laptop (with a mirror clone) and use that clone to feed your WCs.
> That
> might save a bit of bandwidth when you're traveling, depending on how much
> your co-workers commit on any given day.

If I had to make the git-svn clone myself that clone would be *on* my
laptop.  There's no point in doing so otherwise, especially considering
there's a VPN necessary to do the 'svn update'..  So I would need to be on
the VPN to run it.  It just adds yet another place where I need to run an

If I have to work myself against an SVN project then yes, I would consider
it as an option.  For work, however, it appears there is already a git-svn
clone from which I can pull.

> Regards,
> John Ralls


       Derek Atkins                 617-623-3745
       derek at   
       Computer and Internet Security Consultant

More information about the gnucash-devel mailing list