Source Control
by Gary Preston · in Technical Issues · 12/24/2004 (3:05 am) · 35 replies
Those of you who use some form of source control in your projects, how much do you store in cvs? For example, if you've just downloaded and installed the Torque engine, ready for a new project, would you place the engine and mod directories under cvs, or every folder (aside from things like libs/objs/exes etc).
My projects in the past that I've used cvs on have tended to be either source only, or contain so few graphical/model resources that having them in cvs was easier than trying to keep seperate copies.
However, on a larger project, the models/maps etc would quickly waste a lot of disk space since their stored as binary objects, as opposed to the source code.
So how does everyone else do it?
BTW the above refers to a private source control repos just for me.. I know with one programmer there is no need for the concurrent control, but the roll back and review features are irresistable :P
My projects in the past that I've used cvs on have tended to be either source only, or contain so few graphical/model resources that having them in cvs was easier than trying to keep seperate copies.
However, on a larger project, the models/maps etc would quickly waste a lot of disk space since their stored as binary objects, as opposed to the source code.
So how does everyone else do it?
BTW the above refers to a private source control repos just for me.. I know with one programmer there is no need for the concurrent control, but the roll back and review features are irresistable :P
#22
03/25/2005 (2:23 pm)
We use Subversion w/ TortoiseSVN at GarageGames too. The only tool I'd pick over it woul, of course, be Perforce because it has a great UI, really good branching, I LOVE CHANGELISTS, I like seeing other peoples changelists etc, I could go on for a while. The delta in features between P4 and free alternatives is getting smaller though.
#23
I've only heard good things about Perforce too, and its free for 2 users I think. But the difference to SVN is small and SVN + TortoiseSVN is a fantastic combo thats hard to beat
03/25/2005 (2:53 pm)
I'm forced to use CVS on a contract job right now, and I'm pulling out my hairs compared to my SVN.I've only heard good things about Perforce too, and its free for 2 users I think. But the difference to SVN is small and SVN + TortoiseSVN is a fantastic combo thats hard to beat
#24
03/25/2005 (5:04 pm)
Any suggestions before I start up with SVN ? Any "I wish I knew when I started" type things ?
#25
Probably your two most important decisions are:
how do I want to organize my repositories? and
which authentication model do I want to use?
03/25/2005 (5:22 pm)
Version Control with Subversion--use it, live it, love it! Great documentation, just spend the time to get familiar with it. Lots of options, so you'll need to figure out which ones to use.Probably your two most important decisions are:
how do I want to organize my repositories? and
which authentication model do I want to use?
#26
I like SVN better then CVS because Tortoise /w shell seems a much easier way to keep all the folders straight both on my computer and in my head. Then again, I let Tom worry about all that stuff. I just work here.
:)
03/25/2005 (5:53 pm)
I use SVN on a project with Thomas, and it is great. And also the internet backup deal he has saved our butt a few times in the past. Backing it up and then backing it up again is the only way we can gaurauntee we won't get hosed. Kinda a pain when all you have to show for your months of work is data; one accident and *poof* your work is gone.I like SVN better then CVS because Tortoise /w shell seems a much easier way to keep all the folders straight both on my computer and in my head. Then again, I let Tom worry about all that stuff. I just work here.
:)
#27
03/26/2005 (8:12 am)
After going to the svn site, which version of SVN with which version of Tortoise? Is it best to keep updating Tortoise built against a particular version of svn? Which versions is GG using?
#28
I only update SVN on my server when the update contains compelling enough changes and i can afford downtime if the update doesn't go smoothly. Still so far i've updated my SVN server three times and it's always been a breaze.
As for TortoiseSVN none of the clients have to be running the same version and it rarely matters what server version your running. So update it as often as you like. The latest is 1.1.3.2502.
03/26/2005 (9:55 am)
Well use the latest SVN release svn-1.1.3-setup.exe (these are the windows binaries). That goes on your server and you can optionally install it on your clients if you want to use the SVN command line or if you want to have local repositories.I only update SVN on my server when the update contains compelling enough changes and i can afford downtime if the update doesn't go smoothly. Still so far i've updated my SVN server three times and it's always been a breaze.
As for TortoiseSVN none of the clients have to be running the same version and it rarely matters what server version your running. So update it as often as you like. The latest is 1.1.3.2502.
#29
03/28/2005 (7:38 am)
I personally use P4 right now and have for quite a few years. Like Thomas stated it's free for for up to 2 users as well.
#30
They all suck for artists (speaking for them at the moment) and if you have a really large project, say tens of thousands of files and gigabytes of art files you are basically using the SCM for backups and there are better tools for that.
For you smaller developers those SCM's are going to work fine.
But for big projects there isnt really much, usually get pushed into AlienBrain (not an indie type product thats for sure $$$$) but a good example of decent art managment/versioning.
Now if someone made a cheaper one or a free one that would be most useful.
and if you know of one pass it along :)
03/28/2005 (9:09 am)
Perforce/Subversion/CVS are all pretty decent, but they all fall short in one critical area and that is large binary files (basically art files).They all suck for artists (speaking for them at the moment) and if you have a really large project, say tens of thousands of files and gigabytes of art files you are basically using the SCM for backups and there are better tools for that.
For you smaller developers those SCM's are going to work fine.
But for big projects there isnt really much, usually get pushed into AlienBrain (not an indie type product thats for sure $$$$) but a good example of decent art managment/versioning.
Now if someone made a cheaper one or a free one that would be most useful.
and if you know of one pass it along :)
#31
The only thing that i'm aware of that AlienBrain adds is visual diffs for art formats and plugins for different art tools. If i had the inclination i'd write these for SVN and make a buck off of all the studios currently using Subversion.
03/28/2005 (10:11 am)
@TheMartian - In my experience Perforce/Subversion handles large binary files just fine. We had several large 60MB+ Unreal packages we kept in source control and at times had to roll back to older versions. What problem did you see with large binary files in those tools?The only thing that i'm aware of that AlienBrain adds is visual diffs for art formats and plugins for different art tools. If i had the inclination i'd write these for SVN and make a buck off of all the studios currently using Subversion.
#32
CVS handles binary files totally dumb. Stored the entire file, making your repository huge
SVN and Perforce handle binaries using delta files, so you wont have a problem with growing repositories
@Tom - go ahead!!! I challenge you!!! ;-) Just kidding - but my artists would die for such a plugin
03/29/2005 (7:10 am)
@TheMartianCVS handles binary files totally dumb. Stored the entire file, making your repository huge
SVN and Perforce handle binaries using delta files, so you wont have a problem with growing repositories
@Tom - go ahead!!! I challenge you!!! ;-) Just kidding - but my artists would die for such a plugin
#33
At a fraction of the cost of Alienbrain :)
That said, beefing up SVN with that kind of capability would rock.
I concur, I kiddingly challenge you too Tom
03/29/2005 (9:40 am)
Beyond Compare has a plug-in API that allows to write visual tools for just about any type of file you want...At a fraction of the cost of Alienbrain :)
That said, beefing up SVN with that kind of capability would rock.
I concur, I kiddingly challenge you too Tom
#34
BTW I havent met an artist yet that likes to use perforce or cvs, they cant be bothered.
They want something to show them what the last few changes to the art file were, they dont want to worry about checking in or out (needs to be automatic behind the scenes).
cvs/perforce suck for large binary files and suck even more for huge numbers of binary files that are all large. you cant diff them and they have a tendency to store a full copy each time you check it in. (test it with a zip file youll see what i mean)
alienbrain provides, 1) the interface that artists find intuitive, 2) provides the mechanisms that artists like and use, ie diffing art versions, alienbrain understands what a jpg or a gif file is.
im not promoting alienbrain but im saying perforce and cvs seem always frowned upon by artists, and just dont do anything for them but provide some annoying clicking they have to do outside of there tools to manage there art assets.
so maybe in there case they need a better art asset management tool with behind the scenes SCM managing the versioning, checkins/checkouts, backups etc.
03/29/2005 (12:50 pm)
I wasnt complaing that the repositories are get too big i was saying that the those SCM tools do not do what artists need.BTW I havent met an artist yet that likes to use perforce or cvs, they cant be bothered.
They want something to show them what the last few changes to the art file were, they dont want to worry about checking in or out (needs to be automatic behind the scenes).
cvs/perforce suck for large binary files and suck even more for huge numbers of binary files that are all large. you cant diff them and they have a tendency to store a full copy each time you check it in. (test it with a zip file youll see what i mean)
alienbrain provides, 1) the interface that artists find intuitive, 2) provides the mechanisms that artists like and use, ie diffing art versions, alienbrain understands what a jpg or a gif file is.
im not promoting alienbrain but im saying perforce and cvs seem always frowned upon by artists, and just dont do anything for them but provide some annoying clicking they have to do outside of there tools to manage there art assets.
so maybe in there case they need a better art asset management tool with behind the scenes SCM managing the versioning, checkins/checkouts, backups etc.
#35
Checking out isn't necessary with Subversion, but updating to the latest art from the database is something that has to be instigated by the user. Checking in/committing cannot be automatic unless you make assumptions like all art files are independent from each other and do not require atomic commits (words like atomic need to be filtered out for artists too i guess). These sort assumptions are not always true, so the cannot be done automatically.
Frankly artist need to grow up a bit and programmers need to make sane tools for the artists to use. What i've seen of Alienbrain is that it puts a nice interface on SCM with visual history and diffs for image formats. There is no reason why these tools cannot be made available for Subversion or any other SCM backend.
03/29/2005 (1:17 pm)
@TheMartian - I understand the artist point of view, but they have to worry about version control regardless of the SCM used. It won't be automatic, but it also shouldn't be painful... which it can be.Checking out isn't necessary with Subversion, but updating to the latest art from the database is something that has to be instigated by the user. Checking in/committing cannot be automatic unless you make assumptions like all art files are independent from each other and do not require atomic commits (words like atomic need to be filtered out for artists too i guess). These sort assumptions are not always true, so the cannot be done automatically.
Frankly artist need to grow up a bit and programmers need to make sane tools for the artists to use. What i've seen of Alienbrain is that it puts a nice interface on SCM with visual history and diffs for image formats. There is no reason why these tools cannot be made available for Subversion or any other SCM backend.
Torque 3D Owner Matthew Langley
Torque