What is the best way to set up debugging for older versions. Like we released 2.0g but then I started programming new things into the Git version. I have a separate Medieval Tech 2.0 version that I have been using with the saved games people post but when I build a new DLL to test fixes it also has my current changes. Sometimes my changes want be save game compatible, so far I haven't made that type of change yet. So, what is the easiest way to debug older versions?
Right click->git->log
In here you can do more than just read the log. You can get the diff for each commit and more importantly you can set master to whatever version you want. Select the commit, which was the 2.0g one and set it to master and you will test on that one.
Those commits will be easier to find if we add changelog.txt (or whatever we call it) and update that one with a commit message telling that this commit is 2.0g or whatever. That will make it much easier to find later on.
There is also the option to make branches. You work on the branch "master", but we could make a branch called 2.0g or whatever. That one would then basically be a pointer to a specific commit meaning even though it has all the files to begin with, it doesn't really use server space. You can then commit new code to a branch just like you can to master. However any future commits makes it different from master meaning you basically have two different projects.
Common usage for branches would be to branch a stable release and then commit all bugfixes to that branch. This allows increasing stability without hurting stability with new buggy features.
The other major usage of branches is to make a branch for a specific task, often really big tasks. Say we want to change square plots to hexagon plots like Civ5. We estimate that 5 people should work on that for 5 months and every commit will break gameplay. That would be an ideal setup for a branch. Once it's done the branch can remerge into master and at all time the master is playable.
I have no plans for branches in M:C. Their usefulness increases as the number of developer increases. If we some day have 10 C++ coders, then it's another story.
And also, in Visual C++ Express 2010 is there a way to start Colonization from it's menu so that you can run debug right from the very start of the game as I have been just "attaching to process"?
I tried to get this working. The problem is that VC lacks the knowledge of what it should start. After all the info on what it compiles is in the makefile and not the project file. Also even if the project file knew which file it compiled, it would know the dll, but it should start the exe. This mean that inside the project setup it should be told to start colonization.exe with the argument mod="Medieval_Tech".
So far I haven't had any luck getting it to work. Somehow incorrect settings freezes the entire system, which makes me hesitate a bit when it comes to experimenting with settings

Don't ask me why it freezes. It makes very little sense to me that it does that.