Almost like, mercurial had it figured out and got completely ignored because of the dominance of git's monoculture... The unit of work to be captured is the series (of commits), there's no issue having a linear history as long as series' boundaries can be identified. Merges can fit that bill, but doing it right and consistently with git is real work and consequently nobody does it.