Source Integrity?
by Chris · in Torque Game Engine · 05/26/2005 (6:32 am) · 12 replies
Being a relative newb to the world of programming, a couple friends and I are mucking around with TGE more for learning than anything else. I do know enough that if we have more than one programmer we'll need some sort of Source Integrity package.
Anyone have any suggestions on a good program that is somewhat simple and easy enough for a newb to setup and maintain? I'd prefer something open source/free, but don't mind spending some money on the right product.
Thanks!
Chris
Anyone have any suggestions on a good program that is somewhat simple and easy enough for a newb to setup and maintain? I'd prefer something open source/free, but don't mind spending some money on the right product.
Thanks!
Chris
About the author
#2
It's free(http://subversion.tigris.org/) and so is the documentation(http://svnbook.red-bean.com ).
It also has a handy integration spin-off for Windows that I also use( http://svnbook.red-bean.com ).
I've checked TGE 1.3 into my subversion server and make my changes off that, when TGE 1.4 comes out, I can just create a branch for it and merge it with my codeline.
Even if you work alone it's a must, there are many advantages, ability to easily rollback, adding comments when you check changes in(for the why did i make that change), etc.. You should train yourself to use source control from the get go. Once you start using it you'll be hooked.
05/26/2005 (5:35 pm)
I highly recommend Subversion, most open source projects that I've worked with have or are in the process of switching over to Subversion from CVS.It's free(http://subversion.tigris.org/) and so is the documentation(http://svnbook.red-bean.com ).
It also has a handy integration spin-off for Windows that I also use( http://svnbook.red-bean.com ).
I've checked TGE 1.3 into my subversion server and make my changes off that, when TGE 1.4 comes out, I can just create a branch for it and merge it with my codeline.
Even if you work alone it's a must, there are many advantages, ability to easily rollback, adding comments when you check changes in(for the why did i make that change), etc.. You should train yourself to use source control from the get go. Once you start using it you'll be hooked.
#3
Tortoise CVS
Tortoise SVN
05/26/2005 (6:50 pm)
I highly recommend the following for their respective purposes:Tortoise CVS
Tortoise SVN
#4
05/26/2005 (6:58 pm)
Http://www.perforce.com/ is free up to 2 seats.
#5
05/27/2005 (4:24 am)
All those look good, I'll dig a bit more into them, but which would have the simplest learning curve for both setup and use?
#6
Another advantage subversion has, there is a active IRC channel you can use.
gl
05/27/2005 (10:43 am)
Again, I would recommend subversion, read the first 3 chapters of the subversion book (link posted), it should be sufficient to introduce you to source control and get you up and running. It's easy enough to creaate a subversion respostory, its a simple one line command.Another advantage subversion has, there is a active IRC channel you can use.
gl
#7
05/29/2005 (7:36 am)
Does any of those programs have any advantage over Visual Sourcesafe (if developing only on Windows machines)?
#8
Even CVS is better than VS. But go with Subversion or Perforce due to binary file support.
05/29/2005 (8:33 am)
Visual Sourcesafe is crap - DONT use it. There are lots of examples of completely destroyed repositories.Even CVS is better than VS. But go with Subversion or Perforce due to binary file support.
#9
TortoriseSVN is a Windows specific version of Subversion that integrates nicely with Windows Explorer.
05/29/2005 (10:57 am)
Man of Ice is correct, stay away from Visual SourcesafeTortoriseSVN is a Windows specific version of Subversion that integrates nicely with Windows Explorer.
#10
05/29/2005 (11:58 am)
I third the 'stay away from VSS sentiment'! Not sure what the deal is with M$ on this, what a piece of crap software compared to the alternatives. Also, always look to open source, supporting and using it will provide secure rock solid software at low to no cost for everyone, SVN (and CVS) are perfect examples of this.
#11
05/29/2005 (12:05 pm)
Subversion
#12
05/30/2005 (1:43 am)
Ok thanks, I'll check out TortoriseSVN.
Torque 3D Owner Jameson Bennett
Research 'test-driven development' by Gamma et al. (google it: most stuff out there is Java based, but the same concepts apply to C, c++, whatever). It is a bit of a spin-off from the extreme programming group (although it has been around in one form or fashion for a long time). Once you get a handle on it, FORCE yourself to write the tests first...you will find after some practice that it comes natural and (counterintuitively) is MUCH faster to develop using it. Writing and performing the tests frequently ensures your source integrity as it prevents introducing bugs previously encoutered or prevented by the developer. It does not prevent bugs unencountered or unthought of, but dramatically speeds up or practically eliminates debugging. Once a bug appears and you write a test for it, you will always catch it afterwards. Getting your brain on track with this dev style will serve you much better than any package that manages the testing (they require test writing anyways).
CVS is the standard (concurrent versioning system), and what GG uses for external version control of the source. Subversion (SVN) is quickly taking over as it provides several features lacking in standard CVS, although I've found CVS to be able to handle most (GG uses it internally). Either is free and available for practically any platform you may be running your version control on. If you used a hosted server (like I do), many have CVS or SVN available. I use CVS with my webhost (dreamhost.com) to backup and version my local work (lately been dev'ing alone), but the CVS server is available anytime I add a team member for them to jump right in.
Put these two together with excellent team COMMUNICATION and you should smooth out any problems you may have. Without a good communication chain (and some standards set up for your team for use: what when where to commit, style guidelines, etc), the versioning system can get ugly and simply serves as another liability.
Best of all these tools can be used for no cost, besides your time.