3 ms·
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 mergin
by arete 19y ago
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.