Subversion Versus CVS

Started by
21 comments, last by Andrew Russell 18 years, 9 months ago
Hi all, At work we are thinking about standardising source control. At the moment Windows only development will stay with SourceSafe at least for the moment. But our unix bods and other parts of the company use either nothing [eek] (archives of milestone builds), or CVS. I'm aware that because Subversion does not take in to account Windows /IIS need for filenames (.svn not being very friendly) for webprojects that special builds are around for tools that use _svn for the svn directories instead - but that's is still a royal pain in the bottom and will not convince any Windows developers around here to switch from Source Safe. The excellent Ankh svn integration for Visual Studio makes it a bit more palitable I think, but still unless you have any decent arguments & solutions (yes we've all lost stuff in source safe) then just leave source safe alone in the replies [wink]. Yes I know about Tortoise explorer tools and the aforementioned Ankh, but they'll be more interested in having something with the same seemless integration with Visual Studio... something because of the webprojects thing doesn't seem very supported. Now I've personally being experimenting with Subversion and apart from the webprojects thing it seems to be pretty good, but I know that CVS has been around for a long time and is well established. What I'm really looking for from you guys is links to web-resources and personal experience of why you chose CVS over Subversion or visa versa, not necessarily from a Windows perspective but also a Unix, Sun, Linux and Mac perspective too. Some useful things I can draw on to make a recommendation.
Anything posted is personal opinion which does not in anyway reflect or represent my employer. Any code and opinion is expressed “as is” and used at your own risk – it does not constitute a legal relationship of any kind.
Advertisement
I have recently changed from CVS to SVN and I'm not thinking about going back. Main reason to switch for me was Subversion being able to move files without losing the file history. (Although I have not used the feature much for now).

Subversion stores a working copy locally (so not only the file dates), which takes up more space on your HDD (disadvantage), but that really speeds up things sometimes (advantage IMO). And I like the revision numbering better: per repository, not per file. Now I use this number to identify my builds, no obscure build numbers anymore.
I use RapidSVN to manage the stuff. I don't like Visual Studio, so I have no need for integration and this tool works good for me on both Windows and Linux (and Mac too I suppose).

For me SVN is CVS and more. I haven't used SourceSafe myself, but from what I've heard it shouldn't be any problem to convice people to stop using it :-).

P.S. Why is a directory named .svn a problem?
Quote:Original post by DaBonoP.S. Why is a directory named .svn a problem?

Try creating it or browsing it with windows explorer ;)
Quote:Original post by mandrav
Quote:Original post by DaBonoP.S. Why is a directory named .svn a problem?

Try creating it or browsing it with windows explorer ;)


Indeed .svn is just an extension to windows, windows likes to have a filename before an extension.
Anything posted is personal opinion which does not in anyway reflect or represent my employer. Any code and opinion is expressed “as is” and used at your own risk – it does not constitute a legal relationship of any kind.
Quote:Original post by paulecoyote
Indeed .svn is just an extension to windows, windows likes to have a filename before an extension.


But that only applies to creating this directory by hand (which you shouldn't need to do anyway).

Browsing the .svn directories is certainly possible using the explorer.

Problems with Windows? Reboot! - Problems with Linux? Be root!
Quote:Original post by Erluk
Quote:Original post by paulecoyote
Indeed .svn is just an extension to windows, windows likes to have a filename before an extension.


But that only applies to creating this directory by hand (which you shouldn't need to do anyway).

Browsing the .svn directories is certainly possible using the explorer.


That does not change the fact that it screws up webprojects because of the nameless .svn thing.

Anyway, rather then concentrating on filenames... CVS versus Subversion, why did you choose one over the other?
Anything posted is personal opinion which does not in anyway reflect or represent my employer. Any code and opinion is expressed “as is” and used at your own risk – it does not constitute a legal relationship of any kind.
I haven't used subversion, but it has version numbers per-commit as opposed to per-file, which I think is way better.

tj963
tj963
Quote:CVS versus Subversion, why did you choose one over the other?


Atomic operations, man. Gotta be atomic.
There is a version of tortoiseSVN (subversion client), that uses _svn instead of .svn, it is made specificly to work around that visual studio bug.
I've been using SVN at work for over a year now, and it is excellent. The single biggest improvement over CVS is that all commits are atomic - that is, they are single, transactional entities. If something goes wrong with your commit, the SVN repository is safe - as opposed to the hours I've spent fixing up a busy, multi-user CVS repository after such errors. Repository-wide version numbers are good for clarity. File moving and copying (with tagging) can be performed within SVN, and it's smart enough when you copy to a new trunk to only duplicate storage space for deltas on the changed file. Binary file handling is far and above better than CVS; CVS has to store the whole file, SVN can often store a binary delta. At work, we use it for VS.NET web projects all the time - with the _svn version of TortoiseSVN. (Incidentally, this is a VS problem, not IIS or Explorer - websites work fine with .svn folders on the webserver).

Finally, I like the command-line controls more - but that's a personal choice. I did find it really easy to write a script that automatically updates various websites from SVN, onto a staging server, and then calls Nant to build them - but I'm sure that CVS could be made to do the same.

This topic is closed to new replies.

Advertisement