monotone-devel
[Top][All Lists]
Advanced

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

[Monotone-devel] RFC: 'suspend' certs


From: William Uther
Subject: [Monotone-devel] RFC: 'suspend' certs
Date: Sat, 7 Jul 2007 11:53:35 -0700

Hi all,

I'm busy scratching mtn itches. Another on my list is that I tend to refrain from using branches as very lightweight objects because they never go away. Now, the mythical policy branches were touted as a solution to this, but I must admit I don't have a clear idea of how they're supposed to work... (BTW, I'm in the Bay area at the moment. If someone is around who understands policy branches and wants to chat about them, drop me an email.)

Anyway, I have another proposed solution. It is a 'suspend' cert. It looks the same as a 'branch' cert in that it contains the name of a branch. The effect of a 'suspend' cert is to remove that revision from any list of heads for that branch. If all the heads of a branch are suspended, then the branch no longer appears in "mtn ls branches".

The meaning of suspend is not "this is a bad revision": we already have test failure for that. The meaning is "I don't want mtn to bother me with this revision".

We could use other synonyms for suspend: "discontinue", "terminate", "cease", "close", "yield", "shelve", "end", "finish", "conclude", "abandon", "vanish", "obviate", "debar", "inactivate", "desist"... but I'll go with suspend unless there is an outcry. ( http://en.wikipedia.org/wiki/Color_of_the_bikeshed )

  Notes:
- A suspend cert does not stop anyone from making descendants of the revision, and they'll appear on lists of heads just as normal. - A suspend cert does stop merge from trying to merge the revision by default. (I'm looking at putting the filter in project_t::get_branch_list(), project_t::get_branch_heads() and pick_update_candidates()) - A suspend cert and update interact in a somewhat complex manner. If all update candidates are suspended then they're all considered. If some update candidates are not suspended, then all the suspended candidates are removed.

Thoughts, comments?

Will         :-}





reply via email to

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