Mercurial > evolve
view tests/test-issue-5720.t @ 3490:51c0a23b519e
evolve: handle case when newnode can be None while continuing evolve
There can be case when `hg evolve --continue` is run, when working directory is
clean and there is nothing to be included in the new commit. Let's make sure we
handle such cases correctly and obsolete the node which is evolved with parent
of wdir as successor. This is same as what rebase does.
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Mon, 22 Jan 2018 18:52:27 +0530 |
parents | 05bd493d496d |
children | 14cd04ff968e |
line wrap: on
line source
This test file test the #5720 issue Check that `hg evolve --continue` doesn't change changeset phase from secret to draft after a merge conflict. https://bz.mercurial-scm.org/show_bug.cgi?id=5720 Global setup ============ $ . $TESTDIR/testlib/common.sh $ cat >> $HGRCPATH <<EOF > [ui] > interactive = true > [phases] > publish=False > [extensions] > evolve = > EOF Test ==== $ hg init $TESTTMP/issue-5720 $ cd $TESTTMP/issue-5720 Create two drafts commits and one secret $ echo a > a $ hg commit -Am a adding a $ echo b > a $ hg commit -m b $ echo c > a $ hg commit --secret -m c $ hg log -G -T "{rev}: {phase}" @ 2: secret | o 1: draft | o 0: draft Amend the second draft with new content $ hg prev 1 files updated, 0 files merged, 0 files removed, 0 files unresolved [1] b $ echo b2 > a $ hg amend 1 new orphan changesets $ hg log -G -T "{rev}: {phase}" @ 3: draft | | * 2: secret | | | x 1: draft |/ o 0: draft Evolve which triggers a conflict $ hg evolve move:[2] c atop:[3] b merging a warning: conflicts while merging a! (edit, then use 'hg resolve --mark') evolve failed! fix conflict and run 'hg evolve --continue' or use 'hg update -C .' to abort abort: unresolved merge conflicts (see hg help resolve) [255] Fix the conflict $ echo c2 > a $ hg resolve -m (no more unresolved files) continue: hg evolve --continue Continue the evolution $ hg evolve --continue evolving 2:13833940840c "c" Tip should stay in secret phase $ hg log -G -T "{rev}: {phase}" @ 4: secret | o 3: draft | o 0: draft $ hg log -r . -T '{phase}\n' secret