How I broke mozilla-central history…

… And why the tree is CLOSED.

Late Friday the 4’th, of June; I was looking to checkin a series of patches that I had previously pushed to the try server and got it to pass all tests. This series was a large block of the checkin-needed work in Bugzilla.

Now being a person who hates (within reason) merge’s in the history of m-c I went ahead with a |hg pull --rebase| for my MQ Queue full of all those patches. This to move everything up to tip, help stave off any .rej files from failed (trivial) hunks, etc.

So, here I am doing all this, and I break stuff! In particular during the landing of Bug 542222 (on Changeset d8dc49d5bd60). Sadly it took until the next day for a few people to notice. The correct patch includes all the rename information I was supposed to push.

So What Went Wrong?

It turns out there is an existing bug in Mercurial, which has been fixed in Mercurial Version 1.3 and newer. Of course this particular bug was Footnoted on MDC as well.

This problem is compounded by the fact that MozillaBuild version 1.4 (which is the latest as of this writing) ships with Mercurial 1.2, a version which still contains this bug!

I advise anyone who has push access, or even better who USES hg rebase to upgrade their Mercurial Version TODAY. [Note, MozillaBuild will not pickup the install directory by default, you’ll need to change the PATH yourself, I did it for myself in my .bash_login]

The way forward?

As far as the solution to fixing what I broke… The mozilla-central tree was closed today to avoid added problems, and smarter minds than me are working on potential solution(s) to the problem in a thread in the Newsgroup mozilla.dev.tree-management.

For MozillaBuild, my hope is that Bug 557210 can be fixed sooner than later, and that we can release a newer MozillaBuild package to fix this. Within the next 24 hours, I will look into getting that bug fixed, as repentance to making this error myself.

The End?

Boy do I hope so! I hope this is the END of any all errors or mistakes relating to this type of history snafu. Not only does this hurt Hg Annotate (significant for this directory), but it would hurt the electrolysis landing as well (as there are non-trivial changes to netwerk/ that if this was fixed right would make it relatively trivial to merge in). so long story short I AM SORRY TO EVERYONE.

http://hg.mozilla.org/mozilla-central/rev/d8dc49d5bd60
This entry was posted in Mozilla. Bookmark the permalink.

2 Responses to How I broke mozilla-central history…

  1. Thanks for the reminder to update from Mercurial 1.5 to 1.5.4 🙂

    MozillaBuild is great, really, but somebody should take the time and do occasional updates. Already because current Mercurial versions have seen tons of improvements (mostly concerning usability rather than the very critical stuff but still).

  2. Maybe we can use a mercurial hook to send a warning back to clients if they’re using an out of date mercurial. Presumably the client version is sent to the server, and if not, it should be.

Comments are closed.