Game Development Community

Engine Updates

by Howard Dortch · in Torque Game Engine · 06/03/2004 (5:40 am) · 4 replies

If I get any updates using the CVS will they over write my current files? If so and I add a bunch of changes to the engine.cc and h files seems to me all that work goes away. So when there is an update I have to have 2 copies of the engine local then go through all the new code and merge my mods in. If thats the picture sounds like alot of work.

#1
06/03/2004 (5:51 am)
That's the picture. =\

And yes, it is alot of work - but it's worth it if you have 'custom' modded the engine to your liking.

There are some tools out there to help you merge your code - check the resources section. =)
#2
06/03/2004 (6:36 am)
I see alot of "fixes" for things in the forums. Are any of them going to be added to the base engine code or is the code locked and it's every man/woman for themselves?
#3
06/03/2004 (10:08 am)
That's not entirely true.

One of the major advantages of CVS is that it goes to great lengths to avoid clobbering your code. You do probably want to keep a clean copy of Torque around somewhere, just in case, but you can safely do updates into a modified project. Just be aware that all the changes will get merged in possibly giving you weird errors. CVS absolutely will not clobber stuff unless you tell it to, and even then it usually backs up the changed files.

We are pretty conservative about changes to the engine. This is partially due to stability and cleanliness - we don't want to add every feature people write - and also due to time - we're all really busy, so if we can let people do the fix themselves, that's a nice option while we work on more important stuff like TSE. ;)
#4
06/03/2004 (10:15 am)
Howard, that's what CVS is for. If you're just using CVS as a way to grab the latest dump of the code, then yes, you'll have merge errors and such as Ben pointed out.

The RIGHT way to do this, however, is to manage your entire project under CVS. I used to do this with a bulletin board I ran that used vBulletin. I had my own changes to the PHP files as a fork from their main code. Whenever they pushed new code, I'd download and update it as a new version, then merge my fork into the base. The same way you might treat a project like TGE, where your bug fixes in a later version are back-portted to all previous versions.

Of course, today I don't do any of that. I just grab Torque, save off a copy and then do a manual diff between the two. Then go back and hand-apply those changes. I need to setup CVS again and do this right.