Thursday, March 22, 2012

Try repo head limits

Each time someone uploads code to our try repo (, another Mercurial ‘head’ is added.  Once the number of heads reaches around 2500, we start having trouble cloning the repo for builds.

In the past, when this happens we’ve had to reset the repo back to a fresh copy of mozilla-central.  This requires tree downtime and coordination with IT.

Another approach which I’ve run twice now is to periodically clone the try repo, *merge* all the older heads, and push those merges back in.  This requires no tree downtime or coordination and does not trigger any builds.  The only negative side effect I’m aware of is that displays those 1000-1500 merge changes until they scroll off-screen when developers check in new changes.

Bug 734225 proposes that we run this automated head merge at some interval (daily or weekly).  Are there any objections to this proposal?  Please comment here or in the bug.  Thanks.


  1. Good question. I suspect this may cause an issue when pushing back to the main repository, but I will investigate.