Session

Painless maintenance of local changes to fast-moving software

Bryan O'Sullivan, Chief Shill, Mercurial

Track: Programming
Date: Wednesday, July 26
Time: 2:35pm - 3:20pm
Location: F150

Whether you're deploying a web app, configuring a new server, or contributing to an open source project, you often need to make local changes to a third-party software package. The list of painful challenges includes:

  • How do you manage your local changes?
  • What do you do when you want to get the latest and greatest version from upstream?
  • How do you feed self-contained changes back?
  • What do you do with patches other people have developed that are not yet upstream?

This talk describes a new approach to managing software changes. Initially developed for managing hundreds of experimental changes to the Linux kernel, these techniques are immensely useful for software and web development and system administration.

Built on top of the Mercurial revision control system, Mercurial Queues lets you manage local changes to projects ranging from small (a few config files for a single server) to huge (the tens of thousands of patches necessary to bring a complete Linux distribution to enterprise strength).