Obsolete Terminology

Jason Harris jason at jasonfharris.com
Sat Aug 4 05:41:26 CDT 2012


> 
> Here is a quick demo of editing a middle changeset with evolve:
> 
>  $ hg init repo
>  $ cd repo
>  $ echo a > a
>  $ hg ci -Am adda
>  adding a
>  $ echo b >> a
>  $ hg ci -m appendb
>  $ echo c >> a
>  $ hg ci -m appendc
>  $ hg up 1
>  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
>  $ cat > a <<EOF
>> a
>> d
>> EOF
>  $ hg amend -m fixb
>  1 new unstables changesets
>  $ hg stabilize
>  move: appendc
>  atop: fixb
>  merging a
>  $ cat a
>  a
>  d
>  c
>  $ hg log -G --template '{rev}/{obsolete} {desc|firstline}\n' --hidden
>  @  5/stable appendc
>  |
>  o  4/stable fixb
>  |
>  | x  3/extinct amends dcb5307c155793f5a3b78b2de7c9f7c0a07383f2
>  | |
>  | | x  2/extinct appendc
>  | |/
>  | x  1/extinct appendb
>  |/
>  o  0/stable adda
> 
> Compared to mq, the original 1 changeset still exists, and 2 was merged as 5 instead of being patched.

In this neat demo, we can see the extinct changeset:

    amends dcb5307c155793f5a3b78b2de7c9f7c0a07383f2

I can imagine when users actually want to see extinct changesets to see how the history has evolved (maybe if they have problems stabilizing, etc.) having the extinct history cluttered by implementation artifacts is not the best. Can / will this be fixed / changed when everything is finalized?

Thanks,
   Jas


More information about the Mercurial-devel mailing list