monotone-devel
[Top][All Lists]
Advanced

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

Re: [Monotone-devel] Nested projects in workspace


From: Richard Levitte - VMS Whacker
Subject: Re: [Monotone-devel] Nested projects in workspace
Date: Fri, 04 Aug 2006 22:33:00 +0200 (CEST)

In message <address@hidden> on Fri, 04 Aug 2006 14:10:40 -0400, "Jonathan S. 
Shapiro" <address@hidden> said:

shap> ISSUE
shap> 
shap> What we need is to be able to set up projects in subdirectories within
shap> the workspace. For example, we need to be able to do:
shap> 
shap>    proj1-dir/dir1
shap>             /dir2
shap>             /proj2-dir

[...]

shap> USE CASE:
shap> 
shap> The use case that I know best is the one for the EROS tree. Our
shap> workspace tree has a basic directory structure, and within that there
shap> are places where users can introduce their own "projects" but still live
shap> within the EROS master build system. The issue is that their projects
shap> are independent of ours for configuration management purposes, but must
shap> live within the common tree.

I see a problem with your approach, and it's that anyone who wants to
build the common tree MUST know what sub-projects must live where.

There is another approach built into monotone.  If you consider having
each sub-project in their own branches (let's call them A, B, C and so
on for the sake of simplicity), and then a branch called COMMON for
the common tree.  With such a construct, each sub-project can be
introduced into COMMON as follows:

        mtn merge_into_dir A COMMON proj-A-dir
        mtn merge_into_dir B COMMON proj-B-dir
        mtn merge_into_dir C COMMON proj-C-dir

Of course, the COMMON branch is a project of its own, and can have
it's own files and so on alongside the sub-project directories.

To apply changes made later on in the sub-project's own branch, a
propagate does the trick:

        mtn propagate A COMMON

The result is that anyone that checks out the COMMON project will
automatically get all required sub-projects along with it.  There's no
need to keep track of special instructions to create the common tree.

Cheers,
Richard

-----
Please consider sponsoring my work on free software.
See http://www.free.lp.se/sponsoring.html for details.

-- 
Richard Levitte                         address@hidden
                                        http://richard.levitte.org/

"When I became a man I put away childish things, including
 the fear of childishness and the desire to be very grown up."
                                                -- C.S. Lewis




reply via email to

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