Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.
Hello, I'm using CVS-NT to archive a set of related applications. Although each application has got its own pool of source files, there are many files used commonly. Hence, I put the common source files into an own module while keeping the other files together in application specific modules. Introducing alias modules, I'm able to combine the files from the common module with the files from the application specific modules. That's working pretty fine. However, I'm now running into the situation that when developing a certain application I had to change common files. These modifications, however lead to inconsistencies with the other applications to that those could no longer compile with the head of the common files. To solve that problem I introduced application specific branches like e.g. "B-Application1", "B-Application2", etc. With that approach I'm able to go ahead change common files for Application1 while still allowing Application2 and all others to use the old files. However, the drawback of that solution is that revision differences in the archives are stored multiple times. Example: Application1 causes a modification to CommonFile1.h -> The archive CommonFile1.h,v stores the differences caused by Application1 After I while, I'm going to use the newest set of common files for the remaining applicatios, too. Hence, I have to merge them into the various branches. Using the new common file may cause inconsistencies and I need to adapt the application's files to compile again before I can commit everything. When committing CommonFile1.h to "B-Application2", CVS detects modifications which actually have been caused by Application1 a while ago. -> The archive CommonFile1.h,v now contains the differences caused by Application1 a second time When committing CommonFile1.h to "B-Application3", CVS again detects the same modifications. -> The archive CommonFile1.h,v now contains the differences caused by Application1 a third time .... Although CVS still works, it was not my intention to "split" source files in a lot of branches which in most cases have identical heads. Is there a way to check out a consistent set of files from several modules which are not the head? I know that tags can be used to keep consistent files together. But checking out a tag leads to a sticky project (a problem branches don't have). Thanks for comments. Best regards, Dieter Rapp