#ifdef standards

On of the problem is, that I can create modules using WinCVS and/or TortoiseCVS. But as soon as I want to retrieve them, I get the message, that there are no modules lsited in modules file. I don't know what I did, but I mixed somethingup there.

Some if the sources on CVS is more or less something for play+test with CVS, so don't use it.

I'm already prepared to merge my small changes in the source with whatever version.

12m
 
I think I have managed to get a civ4ccp modual created, I have a totaly firaxis virgin CoreDll in their now and am going to try moving the Assets as well. Try checkingout the new modual and making comits.
 
Impaler[WrG] said:
I think I have managed to get a civ4ccp modual created, I have a totaly firaxis virgin CoreDll in their now and am going to try moving the Assets as well. Try checkingout the new modual and making comits.
Why did you appended extra level of civ4ccp to pathname?
( CVSROOT/civ4ccp/civ4ccp/CvGameCoreDLL_v161 instead of CVSROOT/civ4ccp/CvGameCoreDLL_v161 )
Other SF projects normally appended project name to CVSROOT only once.
I think that we should not include python24 and Boost-1.32.0 in CVS sub-tree. It is only dead weight that waste storage and traffic on public distibution.
I think that we should remove all the existing file in Assets tree, too.
We will not distribute whole Assets directory. We will distribute only modified files like CustomAssets file is distributed. This can be done this way.
First put all the original Firaxis Assrets file to CVS Assets folder (version 1.1.1.1),
Then remove all the files in Assets folder and commit it as 1.1.1.2.
If we check-out lastes version(1.1.1.2 version) of Assets folder, no file should be chedked out. When we trys to modify a file in the Assets folder, first check out 1.1.1.1 (Firaxis virgin) and modify it and commit it as latest version (like 1.1.1.3).
By this way, we can distributes only modified assets files. Else, we should always distribute whole assets files. That is not what we want.
PS) And before we start using it offically, let's remove all the gabages left in the CVSROOT and re-init CvS ROOT again to start over again. This may fix current CVS web problems. it can't be done with CVS commend alone. We should request CVS service to SF staff to do it.
PS 2) Binary DLL should be managed and distributed separately from source tree. So it shoule reside in separate folder, not subfolder of source tree.
 
SimCutie said:
Why did you appended extra level of civ4ccp to pathname?
( CVSROOT/civ4ccp/civ4ccp/CvGameCoreDLL_v161 instead of CVSROOT/civ4ccp/CvGameCoreDLL_v161 )
Other SF projects normally appended project name to CVSROOT only once.
I think that we should not include python24 and Boost-1.32.0 in CVS sub-tree. It is only dead weight that waste stroge and traffic on public distibution.
I think that we should not include all the existing file in Assets tree, too.
It should be initially empty directory and we should be added one by one if and only if we modify these files. We will not distribute whole Assets directory. We will distribute only modified files like CustomAssets file is distributed.
So initial state should be clean empty folder. When we modify a file in the Assets folder, first add original Friraxis virgin file and commit it. Then edit it as we modified the file and commit it again.
By this way, we can distributes only modified assets files. Else, we should always distribute whole assets files. That is not what we want.
PS) And before we start using it offically, let's remove all the gabages left in the CVSROOT and re-init CvS ROOT again to start over again. This may fix current CVS web problems. it can't be done with CVS commend alone. We should request CVS service to SF staff to do it.

@SimCutie : if you're online please check what you can see if you retrieve a module list. I did some manually modifications on the CVSROOT modules file and I would like to know the effects on it.

@all : I did clean up several folders on the CVS. They are deleted. I think they all have been created by me, the last days, but I'm not 100% sure, if the one or other has been created by anybody else. You'll probalby still see those deleted fodlerm if you browse the repository with an admin function of WinCVS, but they are not active anylonger. So don't check them out (if this is even possible).

What I tried to do now, is to create ONE module called "civ4ccp_v161". For each Civ patch, we'll create a new module. The "civ4ccp_v161" is located in the root of our repository : "cvs.sourceforge.net/cvsroot/civ4ccp".
There I created two subfolders : CvGameCoreDLL_v161 and Assets_v161. The first one will take the c++ part, the second one the Python and XML part. As SimCutie said, we should fill the Assets folder only with changed files.

If anybody has any suggestions or comments regarding the structure, so please let me know. These are just my thoughts after struggleing several days with this sucking CVS at SF.

BTW : the supprot request for SF is still running, because there is still no chance to view CVS by browser.

12m
 
The first civ4ccp is the Project name, the second is the modual, from what I could tell this is how other projects are structured. Do you think the CoreDll and Assets should be seperate moduals? I personaly think its wiser for them to be grouped together as their are going to be dependencies on the XML created in the code and comits can be made over all these files at once.

As for including all Assets I had had similar thoughts because when we distribute the Dll we will also distribute the updated Schemas and likly leave out the content type files (mod makers would then include what they want). But then I though about the inconvenience of having to do a bunch of pasting of my modified XML files when we test out our new features. Making a distribution is a one time thing, testing happens constantly so we should make that as convenient as possible. With this set up you could update the CVS compile the dll and drop the Assets directly in Custom Assets to see changes someone has made to the game.

As for the CVSROOT I removed the extra stuff that was their, but I dont thing this was the cause of our problems with webviewing.

EDIT: I see 12m has changed the name to civ4ccp_v161 thats a good idea and will be usefull when the game gets patched, as for what assets are included as I said I think getting all of them is wise but I can live with this arangment. I think we are ready to start real commits. Hopefully they will get this webview thing corrected soon, I am 90% shure its not a fault with our project. In the mean time we can checkout/update the CVSROOT modual to actualy view the changelogs.
 
First I thought the same as you, Impaler, but now I think its better to have only the changes files in the Assets folder. Just image the modders, who has scan all files for the comments to identify the changed file. To do a test, its quite simple. Just copy a fresh asset into a test folder and copy our changes files over. Thats it. So I think its better to have only the changes files there.
 
Hmm.. I see civ4ccp_v161.. now..
But why "CvGameCoreDLL_v161/CvGameCoreDLL/*.cpp" ?
I think that once we have version number in module name (civ4ccp_v161)
we don't need "CvGameCoreDLL_v161" folder prefix...
So I suggest to put all the source as "civ4ccp_v161/CvGameCoreDLL/*.cpp"

And Please read my previous posting again, I have revised it after you replied....
I am on-line and will be so for a while.. How about have on-line chat now.?
I will wait on #civfanatics channel until Sunday, May 7, 2006. 22:00 "GMT".
 
Ok! Maintenance completed. Here is the current state.

$CVSROOT : cvs.sourceforge.net/cvsroot/civ4ccp

Module : $CVSROOT/civ4ccp_v161

Subdirectories are :
- civ4ccp_v161/Assets_v161/Python
- civ4ccp_v161/Assets_v161/XML
- civ4ccp_v161/CvGameCoreDLL_v161/CvGameCoreDLL

So far agreed conventions (which are not set in stone):
The Asstes_v161 will only get CHANGED files. The both directories PYTHON and XML are empty execpt a readme.txt, which is needed to prevent empty directory pruneing. If you another subdirectory is needed, they can be created by the developer.

The CvGameCoreDLL contains all files from the SDK but non of its subdirectories. Those are not needed.

I hope this will work now because that CVS really drove me crazy the last days. If anybody has any suggestions or comments please let me know.

As long as we don't have much experiences with the CVS usage, we should keep always a copy of our changes at home, I suggest.

12m
 
SimCutie said:
Hmm.. I see civ4ccp_v161.. now..
But why "CvGameCoreDLL_v161/CvGameCoreDLL/*.cpp" ?
I think that once we have version number in module name (civ4ccp_v161)
we don't need "CvGameCoreDLL_v161" folder prefix...
So I suggest to put all the source as "civ4ccp_v161/CvGameCoreDLL/*.cpp"

And Please read my previous posting again, I have revised it after you replied....
I am on-line and will be so for a while.. How about have on-line chat now.?
I will wait on #civfanatics channel until Sunday, May 7, 2006. 22:00 "GMT".

The "CvGameCoreDLL_v161/CvGameCoreDLL/*.cpp" is because the SDK Zip has that structure. Thats the only reason. And, TBH, I have not much motivation to change that again. So, please, let us go as it is now. I'm really glad to made it so far.
 
SimCutie said:
Why did you appended extra level of civ4ccp to pathname?
( CVSROOT/civ4ccp/civ4ccp/CvGameCoreDLL_v161 instead of CVSROOT/civ4ccp/CvGameCoreDLL_v161 )
Other SF projects normally appended project name to CVSROOT only once.
I think that we should not include python24 and Boost-1.32.0 in CVS sub-tree. It is only dead weight that waste storage and traffic on public distibution.
I think that we should remove all the existing file in Assets tree, too.
We will not distribute whole Assets directory. We will distribute only modified files like CustomAssets file is distributed. This can be done this way.
First put all the original Firaxis Assrets file to CVS Assets folder (version 1.1.1.1),
Then remove all the files in Assets folder and commit it as 1.1.1.2.
If we check-out lastes version(1.1.1.2 version) of Assets folder, no file should be chedked out. When we trys to modify a file in the Assets folder, first check out 1.1.1.1 (Firaxis virgin) and modify it and commit it as latest version (like 1.1.1.3).
By this way, we can distributes only modified assets files. Else, we should always distribute whole assets files. That is not what we want.
PS) And before we start using it offically, let's remove all the gabages left in the CVSROOT and re-init CvS ROOT again to start over again. This may fix current CVS web problems. it can't be done with CVS commend alone. We should request CVS service to SF staff to do it.
PS 2) Binary DLL should be managed and distributed separately from source tree. So it shoule reside in separate folder, not subfolder of source tree.

I'm afraid, we can't count on the version numbers. If anybody accidently change and check in a file (just put in a blank), than you have an increased version number. We can't always revert those changes to get a clean version nubering. So we have to work with tags, releases and branches, I think.

to PS:I also though about to start over, but I think its quite OK now. If we get some trouble again the next days, we still can do this.

to PS2: why?
 
12monkeys said:
I'm afraid, we can't count on the version numbers. If anybody accidently change and check in a file (just put in a blank), than you have an increased version number. We can't always revert those changes to get a clean version nubering. So we have to work with tags, releases and branches, I think.

to PS:I also though about to start over, but I think its quite OK now. If we get some trouble again the next days, we still can do this.

to PS2: why?
Version number is OK. Then put tag named "Firaxis" or "Base" on Firaxis version. When we modify the Assets file, first check out latest version of the file first. If nothing comes out, then it means that the file was not modified from Firaxis version. Then you check out "Base" version. then original firaxis file will come out. then modify it and commit as latest version (minor version number will be increased here).
If a file come out when you check out latest version, it mean the file was modified by someone else. so you should modify that version, not Firaxis original version.
Before we officially release the file, we increase major version number of all release file and put a symbolic name tag like "2006May17" or "Beta-1", then it doesn't matter what the minor verion number is or how many times we have modified/commited it....

I think that binary DLL should not be included in source file package and no C++ source file in DLL package.
Most user will download DLL package only. Only small number of MOD developer will need to download C++ SDK source.
But the Assets file should be included in all DLL package. Because new DLL will not work properly without modified Assets files. i.e. DLL package should include subset of Assets folders tree with modified assets files AND the binary DLL.
 
@12m:
If you finished the CVS setup, then please, try to make a release version of project and check it works as you intended. (kind of dry run) Two complete ZIP (one for binary release, one for source only release) file should be made and made available to general public to download.
Please test and check out our CVS configuartion whether it will be OK throughout upto final release stage before we actually start to use it.
 
SimCutie said:
@12m:
If you finished the CVS setup, then please, try to make a release version of project and check it works as you intended. (kind of dry run) Two complete ZIP (one for binary release, one for source only release) file should be made and made available to general public to download.
Please test and check out our CVS configuartion whether it will be OK throughout upto final release stage before we actually start to use it.

The setup is finished from my side. I'll be able to do your suggestions Tuesday evening earliest, because I'm in the office right now and will leave for a short trip today. If you like you can do that test by your own.

My last action yesterday was to set a tag "Initial_Upload" on all files in the repository. But for any reason I don't see the tag on the files. It may be, that there is still a problem with that CVS.

12m

12m
 
I cheked out civ4ccp_v161\CvGameCoreDLL_v161\CvGameCoreDLL files.
It cheked out OK. Thanks for your effort to set up CVS to work...
But, it seems to have some oddity.. file modification date...
All file date are set to 2006 May 08 (Time when you imported the files to CVS), Not original modification date of SDK source ( Mostly before 2006 Apr. 30) CVS system (including WinCVS) has option to set file modification date as time of check-in date when you imports files to CVS.
I can live with changed date but it would be much better if the unmodified file has same file date as that of virgin SDK file.
And version number.. all version number are set to version 1.1
IMHO, starting version number as version 1.1.1.1 would be better and next version as 1.1.1.2 not 1.2.

About the long file path:
I ask you to reconsider the "CvGameCoreDLL_v161" component of path... it seems that bit long and it does not serve any purpose to have folder in folder.
... My Projects\civ4ccp_v161\CvGameCoreDLL seems to be more reasonable than ... My Projects\civ4ccp_v161\CvGameCoreDLL_v161\CvGameCoreDLL.
 
SimCutie said:
I cheked out civ4ccp_v161\CvGameCoreDLL_v161\CvGameCoreDLL files.
It cheked out OK. Thanks for your effort to set up CVS to work...
But, it seems to have some oddity.. file modification date...
All file date are set to 2006 May 08 (Time when you imported the files to CVS), Not original modification date of SDK source ( Mostly before 2006 Apr. 30) CVS system (including WinCVS) has option to set file modification date as time of check-in date when you imports files to CVS.
I can live with changed date but it would be much better if the unmodified file has same file date as that of virgin SDK file.
And version number.. all version number are set to version 1.1
IMHO, starting version number as version 1.1.1.1 would be better and next version as 1.1.1.2 not 1.2.

About the long file path:
I ask you to reconsider the "CvGameCoreDLL_v161" component of path... it seems that bit long and it does not serve any purpose to have folder in folder.
... My Projects\civ4ccp_v161\CvGameCoreDLL seems to be more reasonable than ... My Projects\civ4ccp_v161\CvGameCoreDLL_v161\CvGameCoreDLL.

I don't lnow why sometimes we have versions 1.1 and why 1.1.1.1. I would prefer 1.1.1.1 as well, but I have no clue where I can set this up.
Regarding the file date, I don't see any problems. Next upload we may change it to the original file date and not the upload date.
The folders doesn't really matter for me. If nobody disagree you can change that. In this case we should change the structure again like this :

- civ4ccp_v161/Assets/Python
- civ4ccp_v161/Assets/XML
- civ4ccp_v161/CvGameCoreDLL

As I said, I can't do it untill tomorrow evening. So if you can put some efforts in it, it would be great.

Did you test the tagging and with what result?

12m
 
12monkeys said:
I don't lnow why sometimes we have versions 1.1 and why 1.1.1.1. I would prefer 1.1.1.1 as well, but I have no clue where I can set this up.
Regarding the file date, I don't see any problems. Next upload we may change it to the original file date and not the upload date.
The folders doesn't really matter for me. If nobody disagree you can change that. In this case we should change the structure again like this :

- civ4ccp_v161/Assets/Python
- civ4ccp_v161/Assets/XML
- civ4ccp_v161/CvGameCoreDLL

As I said, I can't do it untill tomorrow evening. So if you can put some efforts in it, it would be great.

Did you test the tagging and with what result?

12m
In my opinion, this seems better than current one...
But if you insist, I am OK with current one, too.

On tagging:
Your version is tagged as "Initial_Upload", and I see no problem in your tag... I can retrieve the version by the tag name.
 
Did someone change the modual name again?, I cant get anything off the CVS but it may just be a SF problem. If someone has changed the moduals please give us the new modual name/s as you cant check out anything without it.
 
Back
Top Bottom