Re: Codenames and version numbers
Posted: Fri Apr 03, 2009 8:35 pm
Hmm, how do you want to separate features then? While some features could be excluded by a preprocessor directive or simply by not compiling some files, other features like the game state rewrite would have to be separated via different SVN folders.
Let me make an example: 5 out of 7 people are working on version 0.1 (bugfixes, improvement, features, etc.) and 2 are working on brand new features that will be incorporated in v0.2.
You then create a branch called v0.2 at some time for these two and maybe two more branches fore them individually. So they work on that 0.2 branch all the time.
And now consider the moment where we abandon 0.1: All the revisions from the v0.2 branch are being merged into the trunk (which was v0.1) and live goes on.
Sounds pretty doable, but there are two catches: Maybe too many conflicts resulting in a lot of merge work. And the v0.2 guys might be very interested in getting new features from 0.1 or even more the recent bugfixes.
You end up merging everything from the trunk (0.1) to the v0.2 as you code. And then at a certain point you replace the trunk with the v0.2 branch.
Or like OGRE: The trunk contains all features and bugfixes from all version branches at all the times. But that's not necessary for us.
Let me make an example: 5 out of 7 people are working on version 0.1 (bugfixes, improvement, features, etc.) and 2 are working on brand new features that will be incorporated in v0.2.
You then create a branch called v0.2 at some time for these two and maybe two more branches fore them individually. So they work on that 0.2 branch all the time.
And now consider the moment where we abandon 0.1: All the revisions from the v0.2 branch are being merged into the trunk (which was v0.1) and live goes on.
Sounds pretty doable, but there are two catches: Maybe too many conflicts resulting in a lot of merge work. And the v0.2 guys might be very interested in getting new features from 0.1 or even more the recent bugfixes.
You end up merging everything from the trunk (0.1) to the v0.2 as you code. And then at a certain point you replace the trunk with the v0.2 branch.
Or like OGRE: The trunk contains all features and bugfixes from all version branches at all the times. But that's not necessary for us.