diff tests/test-issue-6028.t @ 4297:699e25687cc5 stable

issue-6028: resolves 6028 - return (False, ".") instead of (False, '') Since 4.8, repo[] no longer takes an empty string, so we update to a valid with similar semantic. This value is strange and we should probably use an actual node ID here, however, this is an independent issue.
author James Reynolds <james.glenn.reynolds@gmail.com>
date Thu, 13 Dec 2018 17:41:06 +0100
parents
children ef49e48da074 a2fdbece7ce1 96ce1030d2fb
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-issue-6028.t	Thu Dec 13 17:41:06 2018 +0100
@@ -0,0 +1,123 @@
+This test file test the #6028 issue
+
+evolve fails with mercurial.error.ProgrammingError: unsupported changeid '' of type <type 'str'>
+
+https://bz.mercurial-scm.org/show_bug.cgi?id=6028
+
+Global setup
+============
+
+  $ . $TESTDIR/testlib/common.sh
+  $ cat >> $HGRCPATH <<EOF
+  > [ui]
+  > interactive = true
+  > [phases]
+  > publish=False
+  > [extensions]
+  > evolve =
+  > topic =
+  > EOF
+
+Test
+====
+
+  $ hg init $TESTTMP/issue-6028
+  $ cd $TESTTMP/issue-6028
+
+create initial commit
+  $ echo "0" > 0
+  $ hg ci -Am 0
+  adding 0
+
+
+  $ hg up default
+  0 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg topics a
+  marked working directory as topic: a
+  $ echo "a" > a
+  $ hg ci -Am a
+  adding a
+  active topic 'a' grew its first changeset
+  (see 'hg help topics' for more information)
+
+
+  $ hg up default
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ hg topics b
+  marked working directory as topic: b
+  $ echo "b" > b
+  $ hg ci -Am b
+  adding b
+  active topic 'b' grew its first changeset
+  (see 'hg help topics' for more information)
+
+  $ hg up default
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ hg branch integration
+  marked working directory as branch integration
+
+  $ hg merge a
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ hg ci -m "merged a"
+
+  $ hg merge b
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ hg ci -m "merged b"
+
+  $ hg up a
+  switching to topic a
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ echo "a bad commit" >> a_bad_commit
+  $ hg add a_bad_commit
+  $ hg ci -m "a bad commit"
+  $ hg up integration
+  1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ hg merge a
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ hg ci -m "merged a bad commit"
+
+  $ hg up a
+  switching to topic a
+  0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+  $ echo "aa" >> a
+  $ hg ci -m "aa"
+  $ hg up integration
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg merge a
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ hg ci -m "merged aa"
+
+  $ hg up b
+  switching to topic b
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  $ echo "bb" >> b
+  $ hg ci -m "bb"
+  $ hg up integration
+  3 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  $ hg merge b
+  1 files updated, 0 files merged, 0 files removed, 0 files unresolved
+  (branch merge, don't forget to commit)
+  $ hg ci -m "merged bb"
+
+create instability by pruning two changesets, one in a topic, one in a merge
+  $ hg prune -r 5:6
+  2 changesets pruned
+  3 new orphan changesets
+
+  $ hg up 4
+  2 files updated, 0 files merged, 1 files removed, 0 files unresolved
+
+start the evolve
+  $ hg evolve
+  move:[8] merged aa
+  atop:[4] merged b
+  working directory is now at c920dd828523
+
+evolve creates an obsolete changeset above as 11
+  $ hg evolve -r .
+  cannot solve instability of c920dd828523, skipping
+  cannot solve instability of c920dd828523, skipping