Difference between revisions of "CVS vs SVN"

From ScummVM :: Wiki
Jump to navigation Jump to search
 
(10 intermediate revisions by 4 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 CVS. 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.
+
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
* Overall revision number makes build versioning and regression testing much easier: 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)
 
* Easier hook scripts (pre/post commit, etc): SumthinWicked (I use it for Doxygen after commits)
* Prevents accidental committing of conflicted files.
+
* 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