Project name

Nightinggale

Deity
Joined
Feb 2, 2009
Messages
5,281
I'm planning a major redesign of how we store our files.

I'm planning a design like this:

Each mod will get a submodule of it's own. This mean each mod has a master and can make branches from it. Also if you pull a mod, you don't have to pull other mod files as well.

The DLL source code will have a submodule of it's own. It will only contain C++ and project files meaning it is intended to be quite small.

Each mod will then include the source submodule. This mean whenever you finish pulling a mod, it will automatically pull the latest source code and place it inside a directory in what you just pulled. This will make it feel like there is a source code in each mod while in reality it still pulls from just one and changes to it will affect all mods. If we do this right, the game can figure out which mod to compile for just by looking at the mod, which was pulled first meaning Makefile.settings will not longer be needed (though I have no plan for removing this ability).

The problem
Medieval Conquest will end up as a submodule just like all the other mods. This mean it would be fitting to find a new name for the overall project, which contains all the mods and the source code.

I'm thinking of finding some rather generic name like "Colonization mods" or something like that. However I haven't come up with a name that I like. Can any of you come up with a fitting name?
 
The problem with that name is that it will mean nothing to outsiders and be a candidate to be the worst name possible when it comes to attracting new people.

Heh, thats a good one orlanth:) But I'd agree with Night.

If we want it to represent what we are doing, perhaps we could just call it Colonization Mod Source or Civ4Col Mod Source for short.
 
Don't give me permission!!!!

Just put the goodies in my bag and no one gets hurt!
I plan on making a world history submodule and give you write permission to that one alone (if I can figure out how to do that). This will allow you to write to assets only (python excepted). World history will then likely NOT use branches. Odds are that you figure out how to use that one and if not, then only world history will be damaged. The only exception is if you upload pirated files and get the whole project closed, but that goes for everybody.
 
Don't give me permission!!!!

Just put the goodies in my bag and no one gets hurt!

Avast Mateys! Give me ya codey toys or I'll blast ye whole Project down to the locker of davey jones!!

Lib man, you trip me out. Laughing out loud for reals:lol:


The name ended up as Colonization Mod Collection, or CMC for short.

https://sourceforge.net/projects/colonizationmodcollection/

Now I "just" need to add our data to the project and add people with permission to write to those data.

This sounds great Night, see you guys at the CMC ;)
 
I managed to m add a git module and push the DLL source code, hence preserving history of who did what while splitting out non-source data. Checking out the code here is just a 3 MB download, not 250 like from github.
https://sourceforge.net/p/colonizationmodcollection/sourceDLL/ci/master/tree/

Now I just need to add the rest and then join all of it together.

EDIT: arrghh... now I received a notification email with the log for every single "new" revision. That's quite a big mail :eek:
 
Now I have DLL source, M:C and python on sourceforge and we can continue working with those as it is now. Right now I'm the only one with write access, but that can easily be changed.

I want to make it so what when M:C is pulled, it automatically pulls python and sourceDLL. It looked simple in theory, but to gain write access, my SF username is in the URL and it will be useless for other people. I wonder if I can make some pull hook to insert username when pulling and though that generate the needed list of URLs locally for each user rather than some global fixed one.

I found the pull solution. First of all git can actually handle relative paths meaning now it looks for submodules on the same server. As a result it will reuse the first part of the URL as was used when pulling M:C. and the whole username issue is avoided.

Automatically pulling submodule was added in git 1.7.5
You just have to open cmd.exe and write
Code:
git.exe config --global fetch.recurseSubmodules true
After doing this once, it will always remember this setting and always pull submodules when pulling git. As it is global it is set right away for each new clone you make.
 
Now I have DLL source, M:C and python on sourceforge and we can continue working with those as it is now. Right now I'm the only one with write access, but that can easily be changed.

I want to make it so what when M:C is pulled, it automatically pulls python and sourceDLL. It looked simple in theory, but to gain write access, my SF username is in the URL and it will be useless for other people. I wonder if I can make some pull hook to insert username when pulling and though that generate the needed list of URLs locally for each user rather than some global fixed one.

I found the pull solution. First of all git can actually handle relative paths meaning now it looks for submodules on the same server. As a result it will reuse the first part of the URL as was used when pulling M:C. and the whole username issue is avoided.

Automatically pulling submodule was added in git 1.7.5
You just have to open cmd.exe and write
Code:
git.exe config --global fetch.recurseSubmodules true
After doing this once, it will always remember this setting and always pull submodules when pulling git. As it is global it is set right away for each new clone you make.

Edit: Ok, I found it. Windows 8 search from the charm menu turned up negative. I went to were git was installed and found it. These windows never do what you want them too.

Ok, I appears to have done something different. It pulled the MOD_Yield_Check, MOD_Yields, and MOD_Yields_Python but that is it. Still no source files or python...

Is there any other way to do this. Search does not find any git.exe and cmd.exe says it don't recognize it either. I always have trouble with working with the cmd.exe.
 
Ok, I appears to have done something different. It pulled the MOD_Yield_Check, MOD_Yields, and MOD_Yields_Python but that is it. Still no source files or python...
Those 3 files are mod specific and part of Medieval_Conquest. It would be really surprising if you didn't get those. The source will use those to figure out which mod to compile for. In other words it should be able to compile for all mods without manual configuration in Makefile.settings.

Regarding lack of submodules:
Try using this GIT GUI: http://www.syntevo.com/smartgithg/download
Not because the one you are using is broken, but if you use the same as I do, then I can tell how to use it ;)
With smartGIT, you clone again and in the menu you make sure you select that you want all heads and submodules. That should do it.
 
Top Bottom