Difference between revisions of "Version Control System"
From Freeside
Line 1: | Line 1: | ||
+ | = Synopsis = | ||
+ | |||
We need to move off of CVS eventually. | We need to move off of CVS eventually. | ||
+ | |||
+ | = Systems = | ||
+ | |||
+ | == Subversion == | ||
Choice #1: Move to subversion, it's CVS 2.0 anyway. | Choice #1: Move to subversion, it's CVS 2.0 anyway. | ||
Line 5: | Line 11: | ||
* Subversion (+svk?) - CVS 2.0. Who needs a distributed VCS anyway? (C, svk perl) | * 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 === | ||
+ | * monotone (C++) | ||
* Darcs (haskell) | * Darcs (haskell) | ||
− | Not considering | + | === Not considering === |
− | |||
* Codeville, its dead jim | * Codeville, its dead jim | ||
* Vesta, commercial abandonware, not distributed | * 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 | + | = References = |
* Zooko [http://zooko.com/revision_control_quick_ref.html] | * Zooko [http://zooko.com/revision_control_quick_ref.html] |
Revision as of 03:53, 4 February 2010
Contents
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?