

What does News.YC think of distributed version control? - sbraford
http://www.madstop.com/development/distributed_version_control.html

======
arete
I rank distributed version control as one of the most significant advancements
in software development in the past decade. Why?

1\. Ease of branching and merging.

Branch as often as you want, merge as often as you want, from as many
different branches as necessary. The importance of isolating stable releases,
bug fixes, experimental features, etc can't be overstated and DVCS makes doing
so very easy.

2\. Offline use.

All of the popular DCVS provide full functionality within each local
repository/branch/whatever. Being disconnected won't keep you from branching
or merging, which gets back to #1. It's also very easy to share branches
between two laptops for instant mobile collaboration.

3\. Ease of sharing changes.

Most DVCS support easy sending of local changes to a project maintainer. This
really does make it much more likely that a user will grab a copy of the
source, make some improvements, and submit those back to the community. No
more messing with diff formats, finding the maintainer's email address, etc.

\--

Of all the DVCS, I recommend mercurial (hg) for the best blend of ease of use,
performance, portability, etc. Darcs is my real favorite, but currently has
issues with conflicts. Bazaar-NG (bzr) looks promising as well. I avoid git
like the plague... far too complex and unwieldy for my taste.

------
tmm1
I'd recommend darcs or git. Check out Linus' talk on git, he basically spends
70 minutes talking about why a distributed VCS is vastly superior to any
centralized system.

<http://www.youtube.com/watch?v=4XpnKHJAok8>

~~~
jsnx
Do you use either one?

------
davidw
Sounds good, but I'll take a wait and see attitude, let the dust settle, and
see what has emerged. The benefits to me of using one aren't enough to justify
being on the "cutting edge", so I'll just stick to subversion for now.

------
jsnx
I'm working with a client whose chosen Mercurial. I like being able to group
relevant changes into one commit, comment it and then move on to the next
commit, without interfering with the trunk.

Mercurial leaves much to be desired in the efficiency of it's copies -- it's
file backed, not db backed, using copy on write for copies; whereas Subversion
delta encodes everything. While cheap storage is not such a big deal for
managing source code, it does matter when using version control for art
assets.

------
jey
I use mercurial and am very happy with it. All you need to use it is a python
implementation.

I haven't checked out the other distributed revision control systems.

------
jsnx
The MQ extension for Mercurial lets you manipulate and version control the
_patches_ as well as the actual code. It's kinda weird -- "higher-order
version control".

------
inklesspen
I've been wanting to try Mercurial for a while now, but I've not gotten around
to it.

~~~
inklesspen
Why the mod-down?

------
yrashk
I am happy git user

~~~
jsnx
Why was this post down-modded?

