Public Git repo
Jeff Kletsky
gnucash at allycomm.com
Wed Jan 5 15:30:40 EST 2011
I maintain my own, local git repository and have a mixed love/hare
relationship with git.
For me, I like the lightweight branching and merge capabilities. I like
the built-in bisection to locate introduced changes in result (generally
bugs, but sometimes enhancements as well). For local development, it is
now my VC of choice (over svn, but I haven't recently looked at git's
"competitors").
I don't like that history is a pretty flexible thing and that "branches"
are just pointers to specific commits, rather than the kind of
"followable path" that svn provides.
I understand, but detest oh-great-dictator-Linus' decision to
intentionally lose all information related to file-modification times
and dates.
I personally don't care what the "master" repository format is, within
reason. The huge upside of svn is that it works and there isn't a
transition cost associated with staying with it.
In case it is of some use to someone here, these are some of my notes on
how I cloned the master svn for my own use:
$ git svn init --stdlayout http://svn.gnucash.org/repo/gnucash gnucash
$ cd gnucash
$ git svn fetch
(about 5 hours later on 18 Mbps line)
That's it...
$ git branch local
$ git checkout local
Where did the branches and tags go?
$ git branch -a
$ git svn rebase
$ git repack -a -d -f --window=100
and some notes of inserting tags and .gitignore
Update tags on git-svn clone
$ git for-each-ref refs/remotes/tags | cut -d / -f 4- | xargs -n 1 -I %
git tag -f % tags/%
-f since tags can move in svn
Create .gitignore to correspond with svn:ignore
$ git svn create-ignore
More information about the gnucash-devel
mailing list