Managing Local Changes with Mercurial Queues
From gem5
gem5 users typically opt to freeze their repository at a particular changeset when starting a new research project. This is understandable because oftentimes the changes they make for their project aren't likely to be contributed back to the main repository; they are only concerned with getting their project working and managing patches while trying to keep the source tree up-to-date is difficult.