I broadened this to gatekeeper, because I'm hoping that one or more 
members of the core team will chime in.

I don't think we want to literally automate the pull, merge, commit, 
recommit cycle.  Anything we do, in that regard, will still be subject 
to repeated collisions.

The need for this cycle stems from the requirement that onnv-gate 
changesets have only one parent.  We can either try to solve this by 
keeping that requirement intact or by relaxing it.

Before we get too far down the road to a solution, what is the general 
gatekeeper reaction to relaxing this requirement, and allowing merge 
changesets under carefully constrained circumstances?

I suspect that such constraints are somewhat obvious: the changegroup to 
be integrated must apply cleanly at the tip.

If we keep our strict requirement, then we're looking at one of two 
different approaches: live with the cycle, and automate it as much as 
possible to ease developer pain; or introduce a queuing mechanism, 
limiting developers to a single trip through the cycle when their 
changes require only trivial merges.

If we relax the requirement, then we're looking at a secondary set of 
questions about policies and tools.

I think the primary argument against allowing merge changesets in 
Mercurial is that, when SCCS merge deltas were allowed in Teamware, they 
resulted in reduced signal to noise in the metadata.  I don't think, if 
merge changesets are limited to trivial/uninteresting cases, that 
concern is particularly valid.  (By definition, an SCCS merge was 
interesting--it only happened with file conflicts.)

Thoughts?

--Mark

Reply via email to