Difference between revisions of "CVS vs SVN"
Jump to navigation
Jump to search
Salty-horse (talk | contribs) |
m (→Pro Subversion) |
||
(13 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
− | On this page, we are trying to collect argument pro and contra both staying with CVS, and switching to | + | On this page, we are trying to collect argument pro and contra both staying with CVS, and switching to SVN. Behind each "argument" is a list of people who agree that this particular argument is valid. We currently have no other realistic choices (since SF.net offers us exactly those two), so I am not comparing more systems here. |
=== Pro Subversion === | === Pro Subversion === | ||
− | * Support for versioned renames/moves (impossible with CVS): Fingolfin | + | * Support for versioned renames/moves (impossible with CVS): Fingolfin, Ender |
+ | * Supports directories natively: It's possible to remove them, and they are versioned: Fingolfin, Ender | ||
+ | * File properties are versioned; no more "executable bit" hell: Fingolfin | ||
+ | * Overall revision number makes build versioning and regression testing much easier: Ender, Fingolfin | ||
* Atomic commits: Fingolfin | * Atomic commits: Fingolfin | ||
− | * Intuitive (directory-based) branching and tagging | + | * Intuitive (directory-based) branching and tagging: Fingolfin |
+ | * Easier hook scripts (pre/post commit, etc): SumthinWicked (I use it for Doxygen after commits) | ||
+ | * Prevents accidental committing of conflicted files: Salty-horse, Fingolfin | ||
+ | * Support for custom 'diff' command: Fingolfin | ||
+ | * Offline diffs, and they're ''instant'': sev | ||
=== Pro CVS === | === Pro CVS === | ||
* Lots of people know how to use it: Fingolfin | * Lots of people know how to use it: Fingolfin | ||
* Lots of documentation available: Fingolfin | * Lots of documentation available: Fingolfin | ||
− | |||
=== Contra Subversion === | === Contra Subversion === | ||
− | * | + | * Takes up twice as much disk space: Fingolfin |
+ | * We need to put efforts into transferring repository to it: sev | ||
+ | ** Strictly spoken, the conversion is easy (it's a one-button click in the admin panel of SF.net), we only make it hard by our wish to manually fix problems in the existing CVS repository (says Fingolfin) | ||
=== Contra CVS === | === Contra CVS === | ||
* No support for versioned renames/moves (CVS repos hackery is not even remotely a replacement): Fingolfin | * No support for versioned renames/moves (CVS repos hackery is not even remotely a replacement): Fingolfin | ||
+ | * No proper support for directories (in particular, deleting them, but also renames/moves): Fingolfin | ||
+ | ** I want to stress that it was a major hassle in history of our project: sev | ||
+ | |||
+ | === See Also === | ||
+ | * [http://svnbook.red-bean.com/en/1.1/apa.html Subversion for CVS Users] - Lists the major differences. Taken from the svn book |
Latest revision as of 07:04, 24 January 2006
On this page, we are trying to collect argument pro and contra both staying with CVS, and switching to SVN. Behind each "argument" is a list of people who agree that this particular argument is valid. We currently have no other realistic choices (since SF.net offers us exactly those two), so I am not comparing more systems here.
Pro Subversion
- Support for versioned renames/moves (impossible with CVS): Fingolfin, Ender
- Supports directories natively: It's possible to remove them, and they are versioned: Fingolfin, Ender
- File properties are versioned; no more "executable bit" hell: Fingolfin
- Overall revision number makes build versioning and regression testing much easier: Ender, Fingolfin
- Atomic commits: Fingolfin
- Intuitive (directory-based) branching and tagging: Fingolfin
- Easier hook scripts (pre/post commit, etc): SumthinWicked (I use it for Doxygen after commits)
- Prevents accidental committing of conflicted files: Salty-horse, Fingolfin
- Support for custom 'diff' command: Fingolfin
- Offline diffs, and they're instant: sev
Pro CVS
- Lots of people know how to use it: Fingolfin
- Lots of documentation available: Fingolfin
Contra Subversion
- Takes up twice as much disk space: Fingolfin
- We need to put efforts into transferring repository to it: sev
- Strictly spoken, the conversion is easy (it's a one-button click in the admin panel of SF.net), we only make it hard by our wish to manually fix problems in the existing CVS repository (says Fingolfin)
Contra CVS
- No support for versioned renames/moves (CVS repos hackery is not even remotely a replacement): Fingolfin
- No proper support for directories (in particular, deleting them, but also renames/moves): Fingolfin
- I want to stress that it was a major hassle in history of our project: sev
See Also
- Subversion for CVS Users - Lists the major differences. Taken from the svn book