monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] How to deal with shared sub-projects.


From: Jack Cummings
Subject: [Monotone-devel] How to deal with shared sub-projects.
Date: Mon, 27 Aug 2007 07:55:24 -0700
User-agent: Mutt/1.4.1i

Greetings, 

I'm attempting to work out a workflow for a project that has been partitioned
into hierarchical sub-projects:

    project a uses sub-project b
    project a uses sub-project c
    sub-project b uses sub-project d
    sub-project c uses sub-project d

My first plan was to use merge_into_dir and nest the subprojects:

    mtn merge_into_dir d b d
    mtn merge_into_dir d c d
    mtn merge_into_dir b a b
    mtn merge_into_dir c a c

However, this produces a non-content conflict between /c/d and /b/d. I haven't
been able to figure out how to resolve this conflict. I don't want to drop the
shared sub-project, because I'd like some sort of notification when the
versions of the sub-project don't match. 

My second plan was to use a common ancestor (an empty root), and branches with
common ancestry for each sub-project.

    mtn co -r t:root d ; ...  ; mtn commit --branch=d .
    mtn co -r t:root c ; ...  ; mtn commit --branch=c .
    mtn co -r t:root b ; ...  ; mtn commit --branch=b .
    mtn co -r t:root a ; ...  ; mtn commit --branch=a .

    mtn propagate d c
    mtn propagate d b
    mtn propagate c a
    mtn propagate b a

This works, but I'm not sure if I like it as much. If someone adds a
sub-project to their project, then there is no way to reverse the action (maybe
suspend the head, and check out a revision from before the merge?), if two
projects use different versions of a shared sub-project (d in the above case),
then a project that uses both sub-projects (a in the above case) will
automatically pick the newest version (of d). 

I like the idea of nested checkouts, is there a general way to make it work
with shared sub-projects?

Cheers, 

--Jack 

--
Jack (John) Cummings                           http://mudshark.org/
PGP fingerprint: F18B 13A3 6D06 D48A 598D  42EA 3D53 BDC8 7917 F802




reply via email to

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