I'd like to hear from people who are using distributed version control (aka distributed revision control, decentralized version control) and how they are finding it. What are you using, Mercurial, Darcs, Git, Bazaar? Are you still using it? If you've used client/server rcs in the past, are you finding it better, worse or just different? What could you tell me that would get me to jump on the bandwagon? Or jump off for that matter, I'd be interested to hear from people with negative experiences as well.
I'm currently looking at replacing our current source control system (Subversion) which is the impetus for this question.
I'd be especially interested in anyone who's used it with co-workers in other countries, where your machines may not be on at the same time, and your connection is very slow.
If you're not sure what distributed version control is, here are a couple articles:
Intro to Distributed Version Control
Wikipedia Entry
Here is what many cite as distributed source control system advantages compared to other systems like centralized version control: Branching and merging can happen automatically and quickly. Developers have the ability to work offline. Multiple copies of the software eliminate reliance on a single backup.
and they can be classified into two classes: Distributed VCS: Git, Mercurial. Centralized VCS: CVS, Perforce, SVN.
Unlike a centralized VCS, a distributed version control system enables every user to have a local copy of the running history on their machine, so if there's an outage, every local copy becomes a backup copy and team members can continue to development offline.
Downsides of Distributed Version Control Systems:DVCS enables you to clone the repository – this could mean a security issue. Managing non-mergeable files is contrary to the DVCS concept. Working with a lot of binary files requires a huge amount of space, and developers can't do diffs.
I've been using Mercurial both at work and in my own personal projects, and I am really happy with it. The advantages I see are:
Of course, like any new system, there was some pain during the transition. You have to think about version control differently than you did when you were using SVN, but overall I think it's very much worth it.
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