
[This reply does not advocate moving boost to git.] On Friday 28 January 2011 10:46:17 John Maddock wrote:
I still haven't heard from the git proponents, what's wrong with using git-svn to manage a local - i.e. distributed - git repository, and then periodically pushing changes to SVN. In other words working with git just as you normally would, except for having to type "git svn" from time to time? This isn't a rhetorical question BTW, I've never used either git or git-svn, so I clearly don't know what I'm missing ;-)
The strength of git (and other DVCSs) comes from the ability to create essentially unlimited local branches and share/merge said branches with local branches of other parties. git-svn does not work with this model if you want the ability to push changes into SVN. The fundamental problem with git-svn ------------------------------------ One cannot clone a git repository (created with git-svn) and then use the resulting repository to contribute to the original SVN repository without the use of hacks. Two points from the git-svn manual: 1. git clone does not clone branches under the refs/remotes/ hierarchy or any git svn metadata, or config. So repositories created and managed with using git svn should use rsync for cloning, if cloning is to be done at all. 2. For the sake of simplicity and interoperating with a less-capable system (SVN), it is recommended that all git svn users clone, fetch and dcommit directly from the SVN server, and avoid all git clone/pull/merge/push operations between git repositories and branches. The two points above essentially make git-svn worthless for use as a *distributed* VCS since cloned repositories are neither equally capable nor can they be used to follow the develop/push/pull methodology of DVCSs. The strength of DVCSs is directly related to (a somewhat convoluted, but very useful definition of) zero-barrier to entry: any changes you make in your clone are equal in terms of publishability with those in anyone else's clone; git-svn cannot handle this model because SVN cannot handle it. Hope this helps. Regards, Ravi