> 1. We should NOT relax our policies to allow merge changesets. > > 2. We need tools support to allow "trivial" merge/commit/recommit cycles > to happen automatically. > > I believe that the bar on #2 is being set a little bit too low: most > folks seem to think it's sufficient to script/automate this cycle on the > client side (ie inside cdm.py). I think that only addresses part of the > problem: the tedium of typing "hg pull ; hg merge ; hg commit ; hg > recommit" arbitrarily many times. It does nothing to eliminate the need > for the dance in the first place.
Yes, that is my feeling as well. It's true that reducing the time of the dance (e.g., via ssh) reduces the chance that an unrelated push will occur in the meantime, but it does not eliminate it. Also, there is a set of paranoid developers (of which I am one ;-) who can't resist generating "one final" webrev after the dance and taking another look at what's about to be committed. The "reward" for this is an increased chance the push will subsequently fail :-/ > To actually tackle the underlying cause of this problem, I think we need > to update our integration model. Instead of being subject to > arbitrarily many collisions, and theoretically to starvation, we should > be allowing any integration that meets our criteria for "trivial merge." > Which should mean, essentially, "any set of patches that will apply > cleanly at tip." (Where you may read "patches" as "changesets" if you > so desire.) > > This is a hybrid between our current push model, and the pull model > espoused by many smaller-scale, open source projects. We're identifying > a set of conditions under which the gatekeeper ("pull") model devolves > into something that can be reliably scripted. We're still rejecting > anything that fails to meet those criteria. > > Still keeping implementation out of the picture, at least for a little > longer: do folks agree with 1 and 2 above? If so, do they agree with my > casting of the problem statement (ie tackle the underlying problem, > rather than the symptomatic cycle)? I wholeheartedly agree. Further, I think dep's follow-up ideas strike a good balance between safety and convenience, provided they could be implemented without too much difficulty. -- meem