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