[Top][All Lists]
[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
- [Monotone-devel] How to deal with shared sub-projects.,
Jack Cummings <=