CVS issues

Yep Its all cleaned out, better late then never.

Now I sugjest we be very carfull this time around, SimCutie can set up a nice file structure and we might also consider using a version of Spoiled Fruits individual folders for uploading of incomplete Code, I realy like this idea because it will improve our peer review ability tremendously.

I recomend each user folder have a structure that parralels the main trunk, a directory that servers as a ready to play Mod "NAME_MOD" containing binary and any other assets nessary to activate the mods effects. This alows us to keep a copy of each other changes under our Mod folders and fire them up on a moments notice. Another seperate directory containing your hopefully ready to compile code which again can be checked out to help each other resolve compile problems.

I hope we can get this set up later today/night as I am still unable to get into SpoiledFruits server (despite using FileZilla) and I realy need a place to get my code up for peer-review and intigration. Now having said that I remind everyone to hold your horses and not try to set it up themsevles, let Sim our designated CVS master set up the directory structure so we dont end up with another mess like lasttime.
 
I see Sim has uploaded 1.61 blank to the CVS, I could try making a commit to it but I think its a nice idea to use the individual folders as well. Perhaps a system with individual folders and testing/unstable stuff at SpoilFruits server an our "should be working properly" stuff on the CVS. Lets discuss. In any event I will be Pasting on the Forum tonight.
 
I will post steps for doing experimental version branching tonight.
Individual developer will have his/her own branch for development in CVS.
Each branch will be merged periodically on agreed date on Integration_test branch,.
On final release, all branch vesion will be meged and tested,
Then, it will be finally meged as new version into main (HEAD) branch for release.
After release, all developer will have experimental branch again from the released version.
This process will be repeated for each release.
 
Step for expermental branch and integration.

Now all original Firaxis version sources are uploaded in CVS. as 1.1.1.1. But please don't check-in your version into CVS HEAD(=main) branch, yet.

I have create a special branch named "dev".
First, all individual develoeper should create individual developer's branch from the "dev" branch. You should create individual developer branch from this "dev" tagged branch. Use yor login name as new branch name. I will use "yourname" as example. First letter of name should be alphabet.

I put few other tag for easier refernce of the files. Currently, we have three existing tag other than default "HEAD" tag.
"Firaxis_161"/"Base_161" is original virgin version with SDK and all file "Assets" files.
"Start" is tag is put on the version with all "Assets" files removed.

Then check out the "yourname". When you check out, you shoud specify the tag "yourname" as barch tag to check out. If you don't not specify the tag, main branch will be checkout which is not what we want. If checked out correctly, You will have a civ4ccp directory. In WinCVS or in Tortoise CVS, you can see that each file and directories are all marked as having "yourname" tag.

Next, you start to edit the file, and when all editing on the sources are finished, commit the files to "yourname" branch. Then it will have version number 1.1.1.2 and have "yourname" tag (sticky). If You finished all you experiment in 1.1.1.8 version, now it is time to start merge. You can start merge anytime when you feel it time to show your result to other developer. You are recommended to do merge periodically to show your current work-in-progress.
Specify source branch as "yourname" and destination branch as "dev" and start merge.
If there is source line modified by two developer (conflict), You have to manually edit and resolve the conflict. If you finished merging process then "dev" branch will have version number 1.2. It will be tested. We repeat such process few times until merging all develper's branchs are merged into single "dev" branch.

Now "dev" branch has good copy of fully tested source to be released in public.
Then I will merge the finished "dev" branch into main "HEAD" branch. I will put tag "release" on the finished version in HEAD branch. Then we announce the release to public and all other Civ player/moder will start to download the "release" version.

This is full cycle of a relase version. After the public release, another cycle will begain.
Again, each developer will create individual "yourname" from main "release" or "dev" version, and start develpe next version based on the previous release version. This process will be repeated for each new release.
If Firaxis announce new release of the SDK, then the version also merged into the "vendor" branchand labeled as "Firaxis_XXX" for our reference.

If you have question on this matter, don't hesitate to ask question.
 
SpoiledFruit said:
Sorry but its not you. The power went out here and I had to reset all my servers. It should be up now but with a different IP. The IP is <IP Removed>
You can probably remove this IP now, else you'll forget it's here...
 
Source version commited by Impaler 2days ago is moved to "dev" branch.
To checkout the version, specify "dev" as version tag to check out.
And please do futher work on the "dev" branch.
If it is finished it will be merged into HEAD branch.
Please, don't commit modifiied source in MAIN branch before it is ready to release in public.
 
Top Bottom