The discussion about whether and how we should do patch reviews faster has been brought up for a few years now. Here is the story of how I decided to stop being lazy start to actually review patches faster. It's been working very well from me and from people who ask me for review for more than two years now, and I hope that it helps other reviewers at Mozilla as well.
Ehsan Akhgari is a programmer living in Toronto working for Mozilla. He has over 10 years of experience on browsers and the web platform and Firefox. Learn more about him here.
Tonight I was talking to Josh and he mentioned how he's interested in getting data on people's recent contributions to different parts of the Mozilla code base. He basically wanted to get a list of people who have contributed patches touching a given directory within a time frame. I told him that I can simply get this data out of git, and he took me up on that challenge. So we sat down and figured out how to get to this information.
Today we experienced a new way in which Mercurial can fail you. I'm not talking about performance, twisted workflows, etc. This time we're talking about Mercurial being unable to handle things that you can put into your repository in one platform on others. The TL;DR version is, don't rename directories by just changing the case of their name. For the longer version, read on! What happened was that Randell landed a code update for WebRTC today which included a seemingly innocent rename of a directory.
When the IonMonkey project merged their history to mozilla-central on Tuesday, my scripts responsible for updating the mozilla-central git mirror happily picked up that huge merge of more than 2000 changesets, and started converting them to the git commit. And a few hours later, I was notified that my git mirror is no longer updating. I ssh'ed into the box and tried to do a git push, and saw git complaining about missing commits.
About four years ago, I made a decision to start a blog. I researched the various CMS solutions available back in the day, and I chose to use Drupal. That was a huge mistake, and today I finally fixed it! Drupal is one of the most bloated pieces of software I have ever used. To be fair, it is mostly targeted at large collaborative websites where many authors contribute content under multiple topics and categories, and using it for a single author blog is probably over-kill, but I never managed to get it to work the way I wanted, despite trying really hard.
A while ago I spent some time in order to generate the perfect git mirror of mozilla-central, and it's now up on github. Here's the story behind the repository. If you're not interested in history lessons, scroll down to the “What does this mean for me” section. History Jeff spent quite some time in order to convince me that git is superior to mercurial. He was right. And I'm glad I listened to him.