Evolution effect flag

Boris Feld boris.feld at octobus.net
Mon Jul 3 13:15:10 UTC 2017


Hi everyone,

I've been working on tracking what changed between two evolutions of a
changeset. The obsolescence history now record the types of changes
introduced by the successors: description, diff, parent (rebase), etc.


You can currently see that data with the 'hg obslog' command. eg the
"(description)" bit in:

    $ hg obslog .
   @  8e9045855628 (3133) A better commit message!
   |
   x  7863a5bb5763 (3132) WIP
        rewritten(description) by Boris Feld <boris.feld at octobus.net>
(Fri Jun 02 12:00:24 2017 +0200) as 8e9045855628

The feature is enabled by default since the latest release, so your
recent work should have that information.

This come pretty handy when trying to quickly locate some specific
older version of a changesets. Before this, you had to manually inspect
previous evolution or fallback to `hg journal`. Journal is helpful in
some situation, but local only and often not precise enough. The most
notable aspect of this feature is that being stored in the obsmarkers
it can cross repository boundary. When you push and pull between
repository, you can still inspect what happened on remote sides,
something useful when collaborating between multiple people.

`hg help -e "evolve.Effect Flag Experiment"` for details

I'm working on having that data visible in more place like `hg log`. In
the meantime, we are interested in feedback about the tracked data :-)


More information about the Evolve-testers mailing list