On Sat, 2007-06-23 at 02:23 -0400, Carsten Schaudel wrote: > Hello together ! > [cut] > One lack found there was that it seems that it is only possible to share > whole folders among multiple projects, but not single files. Does CVS > support this ? (It is hard to believe that VSS supports something which CVS > and SVN don't). >
Carsten, CVS can do this via module aliases. This is best explained with an example: say you are starting work on 'big_project', which consists of two modules: big_project_client and big_project_server. You wish to include a couple of useful Perl modules from the in-house utilites module. Here's one approach: First, checkout your repository's 'modules' file: cvs co CVSROOT/modules Create some aliases in this file for 'big_project': # Create a module alias for the perl modules we need # Alias name module to use files to extract perl_modules utilities/perl/lib Module1.pm Module2.pm # # Create an alias for big_project, using "ampersand aliases" big_project &big_project_client &big_project_server &perl_modules Commit this back to your repository. Now when we checkout big_project, we get the following directory structure: big_project/big_project_client big_project/big_project_server big_project/perl_modules and big_project/perl_modules will contain big_project/perl_modules/utilities/perl/lib/Module1.pm big_project/perl_modules/utilities/perl/lib/Module2.pm The Cederqvist manual has more on module aliases at: http://www.network-theory.co.uk/docs/cvsmanual/Aliasmodules.html Cheers, Steve
