Game Development Community

Version Control

by Randy Hearn (Magnum) · in Torque Game Engine · 04/10/2006 (9:15 am) · 12 replies

I have been searching for information on version control and have found some info on CSV and Tortuise(sp). I had tried CSV and it was very complicated for what I needed or at least to high a learning curve. I have downloaded Tortuise(sp) and will give it a try.

Since right now I only need to control my own work, what would be the best process to use? I really do not need a server figured I could simulate a server with a directory.

I want to be able to at least go back 2 or 3 revisions if needed and recover a change.

I have started doing some major changes to the C++ code and I need to start keeping track of that. Right now I need to roll back a version, and my only option is to start from scratch. Which is not bad I am learning how to add everything in:)

Since I am in the learning process, I figured I might as well learn to control versions as well. Something I do at work, but not with software.


Any help or suggestions would be appreciated.

#1
04/10/2006 (3:27 pm)
Well, tortoise is simply a client for a CVS server. You will still need to set up a CVS server in order to use tortoise. I have used CVSNT before. I'm kinda new to version control myself, so I'm sure others here will be able to post better comments.

http://www.march-hare.com/cvsnt/

Be sure to click the "open source" link, and here's the manual -> http://www.cvsnt.org/manual/html/
#2
04/10/2006 (3:36 pm)
If you have linux handy anywhere.
you most likely already have cvs ready to go and need only create a repository.

it is pretty straight forward to create a repository (one command)
then importing a module to get started.

do a checkout and your ready to go.

do you have linux as an option?
#3
04/10/2006 (3:45 pm)
Another option for version control is Subversion (SVN). It may be a better choice for a game project, as it manages binary assets like images, models, etc more efficiently.

Although I've never tried it, there's a handy installer that supposedly sets up the server, repository, client, etc for you automatically. Here.

EDIT: I mean I've never tried the installer. I have a lot of experience with SVN itself, and it works extremely well.
#4
04/10/2006 (4:04 pm)
@Derrick Thanks.. I noticed it said I need CVS, but hadn't had time to read if I needed to install. Guess I need to..:)

@Badguy
Yes/No. I could load Linux, but I really don't want a dedicated Linux server just for CVS. I should had clarified that I needed a windows optin as well. But I do have a computer I can setup if that is the best solution. Thanks!

@Drew
I think Subversion is the one I had read about a few months back but couldn't find a link for it. Before I had to stop for a while I think I had downloaded it and was about to give it a try. Thanks
#5
04/10/2006 (4:59 pm)
Just skimmed this, but here's a few quick things:

CVS = Concurrent Version System
This comes on most *nix boxes. Apparently there is a TortoiseCVS client for it - wish I'd known that years ago, as good CVS/windows clients are few and far between. You still need a CVS server as far as I know.


SVN = SubVersion
This is billed as a "better CVS" which is appropriet since CVS was (AFAIK) the orignal in project-version-conrol and has gotten a little long in the tooth. There is also a TortoiseSVN client which I've been using for a month and is excellent.

I believe the TortoiseSVN client is capable of creating a standalone local SVN-repository but i'm not sure of that. SVN server is usually run as an apache module I believe, but again i'm new to it too..


Also, if you go to Dreamhost (referrel link) as part of their amazing base-package you get SVN server already set-up. The inherient advantage to this is that your project will be reliably backed up "off-site" from wherever you are - and thats worth it's wait in gold.


CVS has been an industry standard for decades, but for me SVN is proving a more succesful path..
#6
04/11/2006 (8:23 pm)
Sory for not responding sooner . I actually have TortiseSVN installed and testing. I just need to move files from my old hard drive to my new one before I get to far ahead.

Thanks for the info. Will see if I can get it to work.
#7
04/11/2006 (11:03 pm)
Blatently useless post since Steven covered the differences, but a little history:

CVS was a "better, MUCH better!" repository system to overcome some of the huge issues with things with the old school versioning systems out there (sccs I think it was, which was a nightmare, as well as rcs). CVS has started to show it's grey hairs, and SVN really is a much better solution, if for only one thing: the ability to have binary diffs--which are critical if you are going to be revisioning artwork of any type (anything other than text basically).
#8
04/12/2006 (7:36 pm)
Well thanks for all the info everyone.

I loaded TortoiseSVN and in less than an hour had compiled Torque made changes, recompiled and checked everything back into a repository using TortoiseSVN. Including the binaries!

This is a very easy tool to use and is going to save me a ton of work..
#9
04/12/2006 (10:56 pm)
Does remembering the good old days of RCS "date" me too much?
#10
04/13/2006 (9:02 am)
@Jon
Not to me since I have no idea what RCS is-:)
#11
04/13/2006 (10:01 am)
Jon - heh yeah, i'd say you couldn't be much younger than 35 to refer to RCS as "the good old days" :D
#12
04/13/2006 (10:04 am)
Hehe, I'm definitely not that old. I'm only 26, but I used RCS heavily when I first started learning programming... all those years ago.