Hi all. I have been a user of cvs for some time. Mostly smaller projects, but now I am faced with the task of setting up a more complex project. I have not used branching to this extent before.
This project involve several problems that are new to me and any hint how to attack this problem is welcomed. The current situation --------------------- I have taken over an optimization project. Firstly the project is depending on a third party. The third party only gives me requested source files + a binary library. Right now the structure of the project is in directories /1998 /1999 /2000 /2001 just because a file is present in v2k does not guarantee that the file is present in v2001. Also filename has changed a bit. so a file XXX in 2000 can be named YYY in 2001. Up to now optimizations have been made in copies of original files named subroutine_10.c in directory subroutine. If other optimizations have been made they are named _11 or _20 depending on how big change. An optimization can also be a combined optimization. If the optimization 11 was successful that may be present in 20 as well. But 20 must also be possible to test without 11. This has in the past resulted in 3 files for 2 optimizations etc. Only the source file with optimization is wanted in the build since the library is favored before possibly old source code of other subroutines. Anyone of the optimizations can be discarded by the third party. My plan ------- Is to start adding 1998 originals to a Vendorbranch.. then add all the different version to that Vendor branch, removing files when needed.. I am not sure what path is best for this kind of highly branched project. I think starting all optimization branches from the latest Vendor branch is a way. Branching only the file that is being optimized (if that is possible) Later merging different branches on demand. If Branch1 & Branch2 were good. How well are they working together.. Or maybe I have misunderstood vendorbranches... Nothing realy has to be kept in a maintrunk exept maybe the best combinations of optimization branches. (this could backfire if an optimization is rejected, or ?) When a new vendor release is made most optimisations are discarded or included so just a few "border cases" will have to be "moved" to the new Vendorbranch. I have read the Fogel book and he gives a couple example of how to handle branching, but not realy this kind of wild branching. Maybe the problem is not as big as it seems but I want to get it right from the begining. Any tips to set up this environment and keep it easy to handle is welcomed (how to be consistent in tagging etc.. ) Thank you /Fredrik _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
