Branching and Merging
by Vijay · in Technical Issues · 01/01/2005 (1:06 pm) · 1 replies
Inspired by the discussions from the Source Control thread, I thought I'd get some feedback/suggestions from the community on how people handle the branching and merging of the sources. How do you handle changes that are happening on GG? Does it take a lot of time to merges changes into your working branch? How do you handle conflicts?
The community here is really great with literally hundreds of useful resources for doing all sorts of advanced things. Almost all of them involve custom changes to sources both at the C++ and at the script level. Almost none of these resources seem to make into the main source tree, conflicts are inevitable and might probably end up being a maintenance nightmare?
Any insights into this process would be greatly appreciated.
The community here is really great with literally hundreds of useful resources for doing all sorts of advanced things. Almost all of them involve custom changes to sources both at the C++ and at the script level. Almost none of these resources seem to make into the main source tree, conflicts are inevitable and might probably end up being a maintenance nightmare?
Any insights into this process would be greatly appreciated.
Torque Owner David Dougher
Pariah Games
The best 3 column merge utility I have found. Works with subdirectories and individual files. Has saved me HUNDREDS of hours of work in identifying changes and fixes.
Typical use. Take Synapse Lighting Pack - apply new code and new patches to a standard 1.3 version. Verify it all works under 1.3 as advertised. Now, take the original 1.3 code in one column, your newly patched code in a second, and your own most recent code version in the third. Compare all three at a subdirectory and then at a file level
You can see every change the patch made - in every file. You can compare all the code changes the patched code would make to your own code. You can see any conflicts that would arise. And you can cross reference both to the 1.3 version. You never have to wonder if you missed a change or changed something that was a fix for something else.
It is miles beyond what you can do with a two column compare (although Araxis can do those as well.) If you have multiple people working on a project, if you have multiple streams of fixes and features coming in, this is the single most important tool you can have. No two column merge tool can hold a candle to it.
My two cents.