monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] Re: current multiple heads (was Re: write access to my


From: graydon hoare
Subject: [Monotone-devel] Re: current multiple heads (was Re: write access to my public server)
Date: Sun, 02 May 2004 17:28:46 -0400
User-agent: Mozilla Thunderbird 0.5 (X11/20040208)

Derek Scherger wrote:

I've been wondering how one might achieve a "floating" branch in a clean and easy way. What I mean by floating is that any files that have been changed on the branch would supercede their ancestors, which is essentially how things work now. Changes that are made on some other branch (like the trunk in cvs terms) where the floating branch is "rooted" would appear on (or be carried forward to) the floating branch "automatically". Maybe another way to describe this is that unless a file is changed on the branch I don't really want it to be branched.

Where I'm going with this is ... the current branch certs get created (as I understand it) because the branch is named in MT/options and every change in a working copy gets a cert with this branch name. If there was another type of cert that, once present on some version, would be carried forward to all derived versions until something else (another cert or cert removal?) stops it, a floating branch would seem possible. It also seems that a disapproval might be described with this type of "carry me forward" cert.

if I read correctly, I think you are addressing two notions here:

 - "floating branches"
 - "carry-forward certs"

I think each is possible, and may have a use-case, but we have no mechanism for either. I don't think it's necessary for the former to be implemented in terms of the latter, either.

there is currently no real relationship between branches in monotone; for example there is no sense in which one branch is a "trunk" relative to another; branches are just named subsets of the ancestry graph.

in theory I suppose you could achieve what you're looking for by defining a merge operator which resolved conflicts during propagation by considering branch names. we currently don't do that, but I'd be willing to look at code.

-graydon




reply via email to

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