On 4/3/13 2:31 PM, Kartikaya Gupta wrote:

Excellent write-up! I think a re-examination of our tree management is long overdue, especially with all the recent closures on inbound.

My suggested process *requires* a tree which allows multiple heads,
which is why I suggest "try" instead of "inbound". It has been suggested
that hg does not deal well with tree with large numbers of heads, which
is why try is reset every so often. In my proposal, we can still reset
try periodically, as long as the changes have been merged to m-c. M-c
itself will always have only one head.

We could consider Mercurial bookmarks for this. (I believe bookmarks weren't ready for prime time when we established our current tree management policy.)

There are some interesting things you could do with bookmarks. e.g. you could have the convention that all pushed bookmarks following a specific naming convention (e.g. autoland/bug123456) are automatically considered for "cherry-picking" to mainline.

While I concede that Mercurial's UI around bookmarks isn't as good as say Git branches (e.g. |hg push| by default pushes all bookmarks and AFAIK there is no config option to disable that - you need to know to specify -r <bookmark>), one of the things that makes Mercurial special is that it is highly extensible. We could consider maintaining a Mercurial extension that forces proper use of our ordained tree policy. Combine this with some push hooks that reject invalid pushes and we should be set!
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to