Version Control System

From Freeside
Revision as of 04:53, 4 February 2010 by Ivan (talk | contribs)

Jump to: navigation, search

Synopsis

We need to move off of CVS eventually.

Systems

Subversion

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)
  • Mercurial/Hg (python)
  • Bazaar - Canoical/Ubuntu/Launchpad (python)

The dark horses

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

Not considering

  • 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]