Difference between revisions of "VersionControlSystem"
(→Options for the replacement of CVS) |
(→bzr) |
||
Line 25: | Line 25: | ||
== bzr == |
== bzr == |
||
− | Bazzar-ng will be released with etch |
+ | Bazzar-ng 0.11 will be released with etch |
+ | |||
+ | '''Advantages''' |
||
*Has native windows support |
*Has native windows support |
||
*Support for directory renames |
*Support for directory renames |
||
Line 31: | Line 33: | ||
*Fairly extensive documentation |
*Fairly extensive documentation |
||
*Lots of plugins |
*Lots of plugins |
||
+ | *Uncommit |
||
+ | *Stores executable bit |
||
+ | |||
+ | '''Disadvantages''' |
||
*Not quite so fast, but newer versions are better |
*Not quite so fast, but newer versions are better |
||
+ | *Already on version 0.14 - etch already out of date |
||
+ | *Many features are currently only implemented through plugins |
||
== git == |
== git == |
Revision as of 08:51, 27 March 2007
Options for the replacement of CVS
- CVS has a limited authentication model that means we need to fudge permissions every time a file is updated.
- Symlinks are not supported
- CVS is centralised which means that people need to be logged into the cvs pserver in order to use it
- A decentralised repository would reduce the need for branching when commiting medium sized changesets.
- A decentralised repository would mean that people don't have to be logged in to change the code, although they would not then benefit from the public_html facility.
Features Required
- Symlinks
- Good per-module authentication
- Commit-hooks
- File moves
- Faster than cvs
- Easy revert to previous version
Optional Features
- Directory moves
- Web interface
- Read / Write access control
- Decentralised repository
- CVS-link interface
bzr
Bazzar-ng 0.11 will be released with etch
Advantages
- Has native windows support
- Support for directory renames
- Has mode that mimicks cvs
- Fairly extensive documentation
- Lots of plugins
- Uncommit
- Stores executable bit
Disadvantages
- Not quite so fast, but newer versions are better
- Already on version 0.14 - etch already out of date
- Many features are currently only implemented through plugins
git
Git will be released with etch and is a candidate that fixes all the above shortcommings
- Renames are guessed based on the contents of a file as opposed to svn & bzr which use unique-ids
- Strong support for non-linear development (branching).
- Fast
- Limited documentation
- Rapidly moving target (etch will soon be out of date).
svn
SVN is the usual drop-in replacement for CVS.
- SVN fixes most of the CVS shortcommings
- SVN is very similar in operation to CVS
- SVN uses a centralised repository
- Very popular alternative to cvs
- Stable