Mercurial > evolve
view tests/test-evolve-issue6097.t @ 4935:3874bc10d4a7 stable
docs: add two more amend commits to simulate temporary amend commits
sharing.rst made reference to temporary amend commits and used them to
demonstrate that hidden commits are not exchanged. Nowadays, evolve doesn't
create such commits, but it still makes sense to show how they are handled
during the exchange process. So let's add two more amend commits, one for each
repo. This way the guide doesn't have to be updated too much, but doesn't lose
this important detail of working with evolve.
Unfortunately, this means that tons of hashes change, but it's better than to
have figure 4 demonstrate absolutely nothing.
Temporary amend commits were removed from test-sharing.t in 06844693bb21,
but sharing.rst continued using them for demonstration purposes. It might've
been better to replace at least some of the temporary amend commits by extra
amends back then, but oh well.
author | Anton Shestakov <av6@dwimlabs.net> |
---|---|
date | Mon, 11 Nov 2019 02:42:37 +0700 |
parents | 9af212b8565a |
children | 900668a93629 |
line wrap: on
line source
Orphan changeset and trying to relocate a node on top of itself (issue6097) https://bz.mercurial-scm.org/show_bug.cgi?id=6097 $ . $TESTDIR/testlib/common.sh $ cat << EOF >> $HGRCPATH > [extensions] > rebase = > evolve = > EOF $ hg init issue6097 $ cd issue6097 $ echo apricot > a $ hg ci -qAm apricot $ echo banana > b $ hg ci -qAm banana Let's go back to amend 0 and make an orphan out of 1 $ hg up -q 0 $ echo coconut > c $ hg add -q c $ hg ci --amend -m 'apricot and coconut' 1 new orphan changesets Now rebase the successor of 0 on top of 1 $ hg rebase -r . -d 1 rebasing 2:32acf8fb1b23 "apricot and coconut" (tip) 1 new orphan changesets Pruning 1 just to get it out of the way $ hg prune -q 1 Note how both the regular DAG and the obsolescence graph are linear, but the paths from 3 to 0 are different: 3-1-0 and 3-2-0 $ hg log -G @ changeset: 3:2868fe6df617 | tag: tip | parent: 1:e0486f65907d | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | instability: orphan | summary: apricot and coconut | x changeset: 1:e0486f65907d | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | obsolete: pruned using prune | summary: banana | x changeset: 0:692cc7b6212c user: test date: Thu Jan 01 00:00:00 1970 +0000 obsolete: rewritten using amend, rebase as 3:2868fe6df617 summary: apricot $ hg obslog @ 2868fe6df617 (3) apricot and coconut | x 32acf8fb1b23 (2) apricot and coconut | rewritten(parent, content) as 2868fe6df617 using rebase by test (Thu Jan 01 00:00:00 1970 +0000) | x 692cc7b6212c (0) apricot rewritten(description, content) as 32acf8fb1b23 using amend by test (Thu Jan 01 00:00:00 1970 +0000) $ hg evolve -r . move:[3] apricot and coconut atop:[-1] working directory is now at bb847d1d3a5f $ hg log -G @ changeset: 4:bb847d1d3a5f tag: tip parent: -1:000000000000 user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: apricot and coconut $ hg obslog @ bb847d1d3a5f (4) apricot and coconut | x 2868fe6df617 (3) apricot and coconut | rewritten(parent) as bb847d1d3a5f using evolve by test (Thu Jan 01 00:00:00 1970 +0000) | x 32acf8fb1b23 (2) apricot and coconut | rewritten(parent, content) as 2868fe6df617 using rebase by test (Thu Jan 01 00:00:00 1970 +0000) | x 692cc7b6212c (0) apricot rewritten(description, content) as 32acf8fb1b23 using amend by test (Thu Jan 01 00:00:00 1970 +0000)