> Hi, > > I am fairly new to CVS, I've been using it in a basic form for a few > weeks now, that's about it. > Here is my problem: > > I have software which is used for a number of different countries, they > are very similar maybe a few different features and functions for each > country. For example: I will have software for UK, Europe and > Australia. > The European and Australian software will be based on the latest UK code > with a few additions to some files. > > > ---CVSROOT---| UKSoft_1.0 |---| UKSoft_1.1 |---| > | * > | * (MERGE FROM UK) > > ---| AUSSoft_1.0 |---| AUSSoft_1.1 |---| > | > | *(MERGED FROM LATEST > UK) > ---| EURSoft_1.0 |---| EURSofy_1.1 |---| > This is not the sort of thing CVS handles very well. Every change from the trunk will have to be merged to every branch, and that's easy to overlook. (You can automate it with a commitinfo or loginfo hook, but it's awkward to handle conflicts that way, and you want to make sure you don't slow normal commits down to a crawl.) Branches in CVS are useful for forking development paths off temporarily, such as creating a release branch so you can continue to fix bugs on it or a development branch so you can try building something new.
Another thing to consider is that CVS can run into performance problems with permanent branching. In order to the the latest European revision in the above tree, it will start with the latest UK version and remove all changes until it has the original UKSoft_1_1 (can't use periods in a tag name), and then apply all changes until it gets to the latest European revision. At one time, my company was having significant problems with that (coupled with large things under version control that simply didn't belong there, but I never managed to get anything done about that). So, while there are SCM systems that will do what you're talking about (or at least there was one; I do know of Voodoo on the Macintosh), CVS won't. As already suggested, use conditional code or altered directories. In any case, it's good practice to try to consolidate the country changes into a small number of places. Otherwise, developers will keep missing them. -- Now building a CVS reference site at http://www.thornleyware.com [EMAIL PROTECTED] _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs