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.

About the author

Technical Product Designer (Mechanical Design) for Boeing for over 25 years working with CAD and PLM systems. I have a Associates Degree in Business and a partial B.S. in Game and Simulation, just couldn't see paying the costs for some of the classes.


#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.