On 2011.1.28 12:13 AM, Peter Corlett wrote:
> Of course, when the only tool you have is CVS, any other version control
> system lookslike a good idea. I suspect CVS was the result of a drunken bet
> that it wasn't possible to make RCS worse.
I give a lightning a talk called "Subversion Lifetime Achievement Award", the
premise of which is that if Subversion hadn't fixed the superficial flaws in
CVS we never would have seen the fundamental flaws in the model. Distributed
version control would not have taken off like it had if we were still
struggling to make a branch. I propose it benefited from all the folks who
happily and easily used "svn cp" and then found no sane way to merge back.
What I discovered during my history was this timeline of Open Source version
control tools:
1972 SCCS The first version control system
1982 RCS The first vaguely sensible version control system
1986 CVS Now people can work on multiple files AT THE SAME TIME
1990 CVS adds branching
1995 CVS adds anonymous network access. Open Source development as
we know it is now possible
2001 SVN A "better" CVS
At this point, CVS has been the only real choice for an Open Source version
control system for 15 years. Its basic model is one from 1982. TWO
generations of programmers grew up all thinking about version control in
exactly the same way.
Before distributed version control, we did not think or talk about version
control. We talked and thought and argued about CVS. We did not know any
other way to think about version control. Everything was geared towards this
one style of version control. All our tools. All our processes. Of course
DVCS isn't going to fit in. Everything has to change.
Of course you don't need branching, merging is hard so you've never branched.
Of course you don't revert, reversions are hard so you don't revert. Of
course you don't make tiny commits, every commit is inflicted on the whole
project, so you make enormous commits when it's totally ready. This is all
twisting your brain to fit you version control system
CVS has fucked your brain. Here is the best deprogramming I know.
http://hginit.com/00.html
After SVN revealed the problem, the DVCSes march forward.
2001 Arch The first mildly popular distributed version control system.
Unfortunately, it's bat shit insane.
2002 Darcs
2003 Monotone
2003 SVK
2005 hg
2005 git
2007 bzr
Nobody is making a CVS-style version control system any more because the model
sucks, it constrains how you run your project, and we finally realize that.
Even the original Subversion developers have bailed on it.
--
91. I am not authorized to initiate Jihad.
-- The 213 Things Skippy Is No Longer Allowed To Do In The U.S. Army
http://skippyslist.com/list/