working with git-svn (was ...)

John Ralls jralls at ceridwen.us
Mon Jul 1 15:03:25 EDT 2013


On Jul 1, 2013, at 10:18 AM, Derek Atkins <derek at ihtfp.com> wrote:

> 
> On Mon, July 1, 2013 1:03 pm, John Ralls wrote:
> 
>>> For my work system, however, there is no intermediate repo so I'll have
>>> a
>>> master git-svn repo and then do local git clones from that for my WCs,
>>> which means I'll need to commit back to my master repo and then dcommit
>>> from there.
>>> 
>>> It kinda sucks that I have to work this way, but I don't want to be able
>>> to have multiple branches checked out at all times, which means I need
>>> some additional repo that I'm willing to constantly change the working
>>> branch in order to dcommit.
> 
> First, this should read "but I *want* to be able to have multiple branches
> checked out at all times".  I'm not sure where that extra "don't" came
> from.
> 
>> Why don't you just set up the intermediate repo?
> 
> What's the point?  It just adds more work for me.  It means I have to run
> the git-svn update, git pull, and then git-update scripts every time I
> want to update a WC repo. 

Consider what you have to do if you don't have an intermediate:
  cd master-repo
  git checkout branch-to-work-on
  git svn rebase //So that you're working on the latest rev
  git checkout some-other-branch // This is so you can push back from the WC; Git won't let you
                                                            // push to a checked out branch
  cd WC
  git pull --rebase
  // do work
  git commit
  git push
  cd master-repo
  git checkout branch-to-work-on
  git svn dcommit

Granted, you can script a lot of that, but it's still more work than having an intermediate maintained with
git-svn-mirror from github.com/Gnucash/helper-scripts on your home network and updated via a commit
hook or a cron job. Then you can git-update; git-svn-dcommit in each WC as needed without having to be 
bouncing between the git-svn-master and the WC for every batch of commits. Your laptop can have a 
mirror clone of the intermediate just as you're planning for Gnucash in order to consolidate fetches.

Regards,
John Ralls






More information about the gnucash-devel mailing list