Boost logo

Boost Users :

Subject: Re: [Boost-users] What's happened to Ryppl?
From: Ravi (lists_ravi_at_[hidden])
Date: 2011-01-29 00:43:07


[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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net