info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: cvs add <directory>


From: Remi Gurski
Subject: Re: cvs add <directory>
Date: Fri, 23 May 2003 16:20:41 -0700

We have a similar setup, except in our case the module-directories may also need to be shared with other projects - and bugfixes from those should get reflected in the other projects (project-specific changes are branched).

Ultimately we decided the only way to all of this is make all the modules separate projects. The src/ project contains only the src dir and support files. We have a checkout script for each project that issues several checkout commands to create the proper source tree:

In CVS repository:
projectA/src
    build-support-file1,v
    build-support-file2,v
modules/module1
modules/module2
...

Checkout script:
cvs checkout projectA
cvs checkout -d projectA/src/module-directory1 modules/module1
.. etc. Some projects may require a particular branch of a module, and the script contains the -r options.

The local directory structure then looks like what you've described. "cvs update" in the top-level does exactly the right thing, recursing into the subdirectories. Checkins to projectA/module1 get reflected in projectB/module1, etc.

This is basically the same as a checkout of multiple modules as the same level, the hierarchical layout is just for convenience. And keeping any optional modules in separate CVS projects avoids fighting with its "proper" behavior.

- Remi


At 03:34 PM 5/23/2003, Max Bowsher wrote:
[snip]
In the scenario I present, "module" != "directory". Rather, "module" = "a
defined subset of subdirectories to check out", and all modules include
certain core build support files, which live alongside the subdirectories.
This leads to a structure like this:

src/
    build-support-file1
    build-support-file2
    build-support-file3
    module-directory1/
    module-directory2/
    module-directory3/

Where src/ actually contains more module-directorys, which are not checked
out.

Granted, slightly unconventional, but it works.

I'm not sure why you say "you should never have the option...". You should
have the option to lay the repository out however makes most sense for the
situation.


Max.




_______________________________________________
Info-cvs mailing list
address@hidden
http://mail.gnu.org/mailman/listinfo/info-cvs






reply via email to

[Prev in Thread] Current Thread [Next in Thread]