working with git-svn (was ...)

Derek Atkins derek at
Tue Jul 2 16:01:24 EDT 2013

I just did the following:

( cd ../gnucash.git ; git fetch --all )

and git-update output:

>From /home/warlord/src/gnucash/gnucash
   e7537f8..2655c4a  trunk      -> origin/trunk
warning: refname 'trunk' is ambiguous.
First, rewinding head to replay your work on top of it...
Fast-forwarded trunk to 2655c4aaf0ec1b79a5707809320291aa93482894.

So... what is this warning about?


PS: the git fetch output was:

Unpacking objects: 100% (71/71), done.
>From ssh://
   e7537f8..2655c4a  trunk      -> trunk
   e7537f8..2655c4a  origin/trunk -> origin/trunk

Should I not be using --all?

On Tue, July 2, 2013 1:42 pm, Derek Atkins wrote:
> 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
> update.
> 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
> --
>        Derek Atkins                 617-623-3745
>        derek at   
>        Computer and Internet Security Consultant

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

More information about the gnucash-devel mailing list