Game Development Community

CVS/Subversion: Which do you use? What's best?

by __.___._ · in General Discussion · 08/06/2003 (7:57 am) · 48 replies

Hello all. First off this is not a question about how to use CVS but rather how *you* use CVS. I am currently in the process of conducting research into what version systems game developers use and in order for my research to be effective I need as much feedback from you guys as possible. So if you could help me I would be most appreciative. Anyway to continue.


I would like to know what versioning system you are using; CVS, Subversion, or something else? What do you like about the one you use? What do you hate about the one you use? Do you use it to version and store binary files (i.e. 3D models)? How do you feel about the branching and merging features of your chosen system?


Also If you have any comments then please lets hear them.
Page «Previous 1 2 3 Last »
#1
08/06/2003 (8:09 am)
CVS
1.) its Free.
2.) it Works.

the branching and merging is always painless.

all content is stored on the CVS server with the project.

as well a special access account is setup for the content developers so they dont need to check out the code.
#2
08/06/2003 (8:31 am)
I like clearcase.

It's expensive, but you just can't beat version control built right into a custom filesystem.
#3
08/06/2003 (9:17 am)
I have one more question to ask. What platform are you all running CVS/Perforce/etc. on? Thanks for the replies so far folks.
#4
08/06/2003 (9:42 am)
If I had real choice I'd pick Perforce. I use Perforce to manage my personal projects (free for 2 clients is sweet), I really really like changelists. CVS I seem to have nothing but problems with.
#5
08/06/2003 (10:14 am)
I Use CVS on Linux and operate it via Windows.


Pat:
what problems?
surely must be user related?
as the software is Very stable.
#6
08/06/2003 (10:34 am)
I like CVS, once you get past the configuration issues. I use WinCVS as a client, CVS running on a BSD server in our datacenter. We manage our scripts in one project, the C++ in another.

We also manage our art there, but that is very disk hungry.

We do outsourced CVS, if you are interested in avoiding the pain of setting up the server.

http://www.garagegames.com/index.php?sec=mg&mod=resource&page=view&qid=657

That resource is a good one for CVS. If you can find the book, and intend to have anything to do with CVS, get it.

Good luck.
#7
08/06/2003 (10:56 am)
I doubt they are user related. For example, I couldn't pull down the latest version of Marble Blast CVS when I was trying to fix something because the zip compression was messed up. I would get to different places in the checkout before it started spewing zip-compressed source code all over my screen depending on the -z argument.

It seems like I can never get it to do what I want. I want to have a competent GUI front end. WinCVS is the best I've found and it is plagued with very irritating UI 'features' like when I check out a file, if I want to change repositories I have to enter text into the 'checkout' field before changing to another tab in that dialog. I can't get a list of what other people are working on. Perforce will let me browse by user and check out what they have in their changelists and such. Then there's the lovely "locked" file issue. Somehow, random files get locked, and I'll turn around and say "Ok who locked whatever.h" and everyone says "huh?" and so I have to go in and delete the locks file in the repository because nobody locked the file. (That could be WinCVS messing things up) Many times a file will be marked as 'changed' when in fact there are no diff changes, I can't commit changes because it will say there's no difference, but it won't go back to being "unchanged" so when I do the recursive view of all files that are changed it still shows up. Deleting files from the repository is a pain in the ass. Deleting directories is a pain in the ass.

CVS is a pain in the ass. It's good because it is free, and that's it.
#8
08/06/2003 (11:03 am)
Crazy issues there Pat..
I've not seen one of them.
cept maybe the filelock..
which turned out to be fact that a file Failed to add.
and then I tried to check it out.
(file was to big out of disk space)

as for the compression features..
I just set mine and use it .. its like 6 or something..

I dont really like the idea of being able to view other's project information (updates n such)
I mean sure if im the admin...
I can do that with cvs .. just not wincvs


Im curious tho are you using a windows box to server the cvs?
#9
08/06/2003 (11:13 am)
We are, and that's probably the issue.

I've been using a (*nix) CVS box for the past two years or so for my development, and it's worked great. Several workplaces I've been at have also used CVS to manage _many_ repositories, all without a hitch.

A properly set up and maintained CVS repository is a joy to work with.

SVN and others look nice, but they're not at 1.00 yet, so although I might use them for "toy" projects, I wouldn't want to put money on them.
#10
08/06/2003 (11:39 am)
Now as far as my use I have run into issues when using CVS but it was primarily due to the WinCVS client, which can be quite a pain to use, imho. However command line CVS was easier for me, which i often found somewhat odd since gui tools are *supposed* to be easier to use. But I digress. From these replies so far it seems that either people really like CVS or they hate it and find it difficult. So no one is using SVN or others due to the fact that they aren't at 1.0? And please let me know about you other developers what you are using etc. Refer to the first post please.

What about previewing of art files? I guess that's all done manually. The only system I know of that has a preview, diff and merge for visual files is Alienbrain. But I am not going to bring that app further into the discussion beyond it's reference here.
#11
08/06/2003 (11:44 am)
Just because subversion isn't 1.00 yet doens't mean it isn't mature, they just don't have all the features in. It is very stable and secure. If you have any questions you can go to #svn on irc.freenode.net and there are some developers plus a lot of users there. Subversion is programmed by 4 (i think 4) full-time paid developers nad have been working on it for over 2 years so it's definentally had a lot of development on it.

Subversion is great and for the past 6 months I've been using that instead of CVS. It handles binaries a LOT better (i.e. art!!) meaning that it detects a binary file (unlike cvs where you have to manually tell it what file is binary). It also saves the changes of the binary files (instead of CVS which includes the WHOLE binary file for each revision, even if you only change one byte). It has a lot of other advantages here. the ONLY reason I stopped using it is that my campus gave me an internal ip, thus it's useless for me to run a server of any type anymore :(.

Don't knock it because it's not tagged as version 1.00, version numbers are irrelevant. It is stable as well as working well and like I said, go into irc if you have any questions. Don't knock something before you try it. Just because everyone uses CVS doens't mean it is the best. There is also a great cross-platform gui tool for subversion called rapidsvn (rapidsvn.tigris.org). Works for windows and linux.

also you don't need to leanr any new commands or anything. Subversion was built off of cvs when it started, the only difference is instead of modules you just point to the repository url.

the url is subversion.tigris.org if anyone wants to check it out.

Perforce I beleive isnt' free for commercial projects so that isn't a great option.
#12
08/06/2003 (11:53 am)
I'll also vouch for Subversion. Also, a couple people were kind enough to port TortoiseCVS to Subversion, so there's a TortoiseSVN client that seamlessly integrates with Explorer for easy file management.
#13
08/06/2003 (12:39 pm)
Well it is good to hear people are using Subversion. I must take a moment to defend myself and say that I never intended to knock it. Actually I went so far as to convince our lead programer on one of our projects to use Subversion, including TortoiseSVN. But I digress. Let's continue with this is good info folks. Please let's hear more.
#14
08/06/2003 (12:48 pm)
Sorry ahmaud it took me a while to think of what to write and whatnot and it wasn't directed at you :) it was more at Ben Garney saying that because it isn't at 1.0 yet he wouldn't put any money on it. Your post wasn't up by the time I was starting to type my reply

*edit* bah forgot the y in sorry ;) *
#15
08/06/2003 (1:11 pm)
Pat I feel your pain.

The way to deal with "changed" files that are not really changed is to do a "status" on them and they get corrected.

WinCVS is the best GUI front end and it has tonnes of "bugs". Command line CVS on a project of any size is not an option. TortiousCVS is an interesting alternative for non-technical folk but it is severly limited in many areas.

Version Control is only one part of a change management system.

CVS is a lowest common denomenator, there are much better and worse options available. CVS works, WinCVS worts with caveats.

Subversion is getting there, but the features that really make it stand above CVS and other commercial systems still are not there.

PVCS is more usefriendly than WinCVS/cvs or Subversion.

Stay away from Visual Source Safe like the plague. It is FREE with Visual Studio and worth what you paid - nothing. MS doesn't even use it.

I don't like ClearCase, but then again I don't like any of the Rational products.

Another "free" version control system is SourceJammer available from SourceForge.

Personally I like StarTeam, it is EXTEMELY expensive but it is the most complete and easy to use Change Management system on the market. It goes so far beyond simple version control that it is probably overkill if you don't have a big team but it is awesome.

For game developers NXN is trying to address that market directly and it is pricy but aimed directly at game development.

My personal take is ANYTHING is better than NOTHING.

WinCVS and cvs are usable if you can put up with the bugs. But it is the min I would allow on a project.
#16
08/06/2003 (1:17 pm)
So far what I see is that CVS is the primary choice because its *free*. So I guess that means that the only game development tool being purchased is 3D Max and maybe Maya? If you are using Torque that is. I understand that money must be saved where it can in an indie production. But what has priority when it comes to purchasing software for the project? And also I am still interested in hearing what revision tools you all are using, so please don't forget to include information about that as per the initial post.
#17
08/07/2003 (4:53 am)
Err subversion is also free.. however

like a debate Ben Garney and I had yesterday online CVS has been shown reliable for decades. It has been around much longer then Source SAfe, subversion, alienbrain, and whatnot. Even tho others are still reliable and stable this has shown it through decades of use. I think that is why a lot of people still use it.
#18
08/07/2003 (5:20 am)
I use subversion. :-)
#19
08/07/2003 (7:18 am)
With the exception of Visual SourceSafe, reliablity is not the issue, it is usually comes down to a money issue since most managers see production tools as strickly money spent, instead of an investment.

If you leave Visual SourceSafe out of the running, all the version control tools do pretty much the same thing, pretty much the same way, and all very reliably. But they all "cost" varying amounts of money, time and effort.

CVS is free licences but does have a definate COST associated with it in terms of learning curve, administration, maintaince and useability. The lack of a commercial level GUI is one of its biggest dectractions. The complete lack of modern features such as something as simple as ENFORCING tag names, means that everything is managed by "CONVENTION" instead of by "CONVIENENCE".

Also the lack of version sets, change notification all takes more time to set up scripts to do these things that just about everyone one of the other tools does out of the box, this is just the tip of the iceberg for what cvs WON'T do.

So it gets down to features and how much your time is worth. If your time is cheap and futzing around with trying to write log parsers to generate change notification emails then cvs might be for you. If you have a moderate to large team that is being paid, their hours could be better spent being paid to actually work on advancing your game rather than hacking around to get cvs to do what you want.

The real problem is Version Control software is the black and white nature of the license pricing. Free vs what most self funded ( I don't use the term indie, it is not a good term most people mean it means no money which is incorrect ) think is outrageously priced.

PVCS is a much better alternative than CVS as would be Perforce or any of the other mid-priced commercial alternatives, just stay away from Visual SourceSafe no matter what!!!!!
#20
08/07/2003 (9:21 pm)
If I may be so bold as to conclude what may be the *closest* fit fit for indie developers. Would it contain the following:

- Easy initial configuration
- Highly configurable
- Works well over the web
- Previewing of art files
- If commercial good price to performance ratio - low cost

Does this about sum it up? Also what about bugtracking? What's in place within your projects to handle that?
Page «Previous 1 2 3 Last »