Difference between revisions of "Version Control System"

From Freeside
Jump to: navigation, search
Line 5: Line 5:
 
= Systems =
 
= Systems =
  
== Subversion ==
+
== The big three ==
 
 
Choice #1: Move to subversion, it's CVS 2.0 anyway.
 
 
 
* Subversion (+svk?) - CVS 2.0.  Who needs a distributed VCS anyway? (C, svk perl)
 
 
 
== Distributed ==
 
 
 
Choice #2: Move to a distributed VCS.  thinking this is the way to go.
 
 
 
=== The big three ===
 
 
* Git - all the cool kids are using it these days (C)
 
* Git - all the cool kids are using it these days (C)
 
* Mercurial/Hg (python)
 
* Mercurial/Hg (python)
 
* Bazaar - Canoical/Ubuntu/Launchpad  (python)
 
* Bazaar - Canoical/Ubuntu/Launchpad  (python)
  
=== The dark horses ===
+
== The dark horses ==
 
* monotone (C++)
 
* monotone (C++)
 
* Darcs (haskell)
 
* Darcs (haskell)
  
=== Not considering ===
+
== Not considering ==
 +
* Subversion, if we're going to migrate, it might as well be to something better enough to bother
 
* Codeville, its dead jim
 
* Codeville, its dead jim
 
* Vesta, commercial abandonware, not distributed
 
* Vesta, commercial abandonware, not distributed

Revision as of 18:28, 25 March 2010

Synopsis

We need to move off of CVS eventually.

Systems

The big three

  • Git - all the cool kids are using it these days (C)
  • Mercurial/Hg (python)
  • Bazaar - Canoical/Ubuntu/Launchpad (python)

The dark horses

  • monotone (C++)
  • Darcs (haskell)

Not considering

  • Subversion, if we're going to migrate, it might as well be to something better enough to bother
  • Codeville, its dead jim
  • Vesta, commercial abandonware, not distributed
  • Aegis - a strange beast. Probably not for us.

Requirements

  • Import from CVS, preserving history (not just tips of our three branches)
  • Web interface not completely unlike viewvc.cgi
  • Good support for moving/renaming files and whole directories (i.e. preserving history)
  • What else?

References

  • Zooko [1]
  • Version control blog [2]