Proposal for migration from Subversion to Git.

Tao Wang dancefire at
Fri Aug 6 20:36:47 EDT 2010

Hi, guys,

I tried Git these days for development. It looks great. So, I suggest we
migrate our repository from Subversion to Git.

I prefer move to Git for following reasons:

1) Git is really fast, especially when you want to check annotates, history
log or past modifications.

2) Git is able to do the offline commit, so you don't need to have an
internet connection for development. For Subversion, everytime you do the
'svn commit', 'svn log', you have to be online. It matters if you don't have
internet access currently, and you need several commits for different tasks,
and definitely you don't want to mix them up to make it hard to revert. Git
can do that easily.

3) Git can create local branch very easy, without interacting with online
repository. So, if you have any idea and don't want to interrupt current
branch, just create a local branch, if it's working, then just rebase to the
branch you are working on and push back to online repository later, if it's
not as you thought, just drop it. Local branches will not affect the online

4) Surprisingly, Git repository is smaller than Subversion, even it's hold
entire history of commits locally. So, do a fresh 'git clone' is much faster
than 'svn checkout'.

Something we also need to be noticed is that:

1) There is no revision number in Git, instead, it's a long not very
human-readable SHA1 hash code for each revision.
2) I'm not sure how Git handle new line, it looks no equivalent

Any ideas?


Tao Wang

More information about the gnucash-devel mailing list