[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Monotone-devel] How to split a project
From: |
Stephen Leake |
Subject: |
Re: [Monotone-devel] How to split a project |
Date: |
Tue, 23 Feb 2010 03:58:14 -0500 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.2 (windows-nt) |
address@hidden writes:
> Let's say I have some code checked in along some branch. Over the year
> it has evolved so that it has become two separate programs, that don't
> share any code any more, and make sense to develop independently.
>
> Evidently, it makes sense to make two branches, one for each program.
> The obvious way is just start new branch(es) and in each branch delete
> all the files now belonging to the other.
>
> BUT. If years down the line, someone wants to include both these
> programs into another project, I don't want the merge saying, let's
> merge all these changes. Looky here, all the files of each branch have
> been deleted on the other. There's nothing left! And that someone
> mysteriously end up with no files instaed of all the files.
I don't understand the issue. What, exactly, do you mean by "include
both these programs into another project"? In my experience, a
"project" includes code from several different mtn branches. For
example, at work I have the following mtn branches:
makerules
shared sets of common Gnu make stuff
sal
Stephe's Ada library - basic math stuff
opentoken
parser generator
common
mission-independent Goddard Dynamic Simulator stuff
gpm
Global Precipitation Measurement mission
mms
Magnetosphere Multi-Scale mission
sdo
Solar Dynamic Observatory mission
gpm, mms, sdo are the top-level projects; the others are essentially
libraries.
mtn doesn't know about this structure; only the makefiles do.
This means you have to run update, commit, and tag (for example)
several times for each release.
It would be nice if mtn provided facilities for managing this; I've
written some in my Emacs front-end (DVC).
You appear to be implying that "include in project" means "merge into
one branch". You are right that mtn discourages/forbids this.
--
-- Stephe