I'm evaluating various options for getting our team away from CVS. We have another large team on another site using Subversion, and some of our developers work with the Subversion server. Therefore, Subversion is an obvious choice for our team. However:
git-svn looks interesting but what I'd like to know is how much of the power of a DVCS such as git is lost by having a handful of centralised branches in Subversion. In particular, I'd still like to be able to keep the kind of workflow we have with Mercurial, such as:
Many of us are used to the idea of a main fairly stable shared branch with a simple linear history which everyone can push to, and so they merge to the tip regularly. It isn't clear to me how to support this work flow well with git (or Mercurial or Bazaar).
You do lose a lot, and it feels kind of second class, but you do gain all the wonderful branching stuff.
I learned git by using it to work on a project that was hosted in subversion. git allowed me to do all my local development and make quite a bit of progress on the project while still tracking the mainstream branch and even sharing my work with others.
In the end, we ended up pushing the whole project to git because of all of the information that was lost when going to subversion.
What you lose:
I say "sort of" WRT #1 because if you keep one tree together, it'll track the merges and stuff that you did with git and applied to subversion, but once you try to clone that repo, or someone else does a git-svn clone, you lose that and merges get really painful again.
The authorship stuff matters a lot to me, because I find it very important to make sure people get credit for the work they do.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With