The Flow of Changes: Big Picture Versus Little Picture

To return to the outline I sketched at the beginning of the chapter, let’s think about a project that has multiple concurrent pieces of work under development at once.

There might be a push for a new main release; a new minor bug fix release to the last main release; and an unexpected hot fix to an old release that is now in maintenance mode.

The usual way people refer to these different concurrent directions of development is as branches. However, we’ve already seen numerous times that Mercurial treats all of history as a series of branches and merges. Really, what we have here are two ideas that are peripherally related, but which happen to share a name.

  • Big picture branches represent the sweep of a project’s evolution; people give them names, and talk about them in conversation.

  • Little picture branches are artefacts of the day-to-day activity of developing and merging changes. They expose the narrative of how the code was developed.

Get Mercurial: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.