--- a/tests/test-discovery-obshashrange.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-discovery-obshashrange.t Wed Mar 21 16:35:18 2018 +0100
@@ -33,8 +33,7 @@
$ hg blackbox
* @0000000000000000000000000000000000000000 (*)> serve --stdio (glob)
* @0000000000000000000000000000000000000000 (*)> -R server serve --stdio exited 0 after *.?? seconds (glob)
- * @0000000000000000000000000000000000000000 (*)> debugbuilddag .+7 (glob) (no-windows !)
- * @0000000000000000000000000000000000000000 (*)> debugbuilddag ".+7" (glob) (windows !)
+ * @0000000000000000000000000000000000000000 (*)> debugbuilddag .+7 (glob)
* @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> wrote served branch cache with 1 labels and 1 nodes (glob)
* @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
@@ -52,8 +51,7 @@
* @0000000000000000000000000000000000000000 (*)> updated served branch cache in *.???? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> wrote served branch cache with 1 labels and 1 nodes (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-obscache in *.???? seconds (8r, 0o) (glob)
- * @0000000000000000000000000000000000000000 (*)> debugbuilddag .+7 exited 0 after *.?? seconds (glob) (no-windows !)
- * @0000000000000000000000000000000000000000 (*)> debugbuilddag ".+7" exited 0 after *.?? seconds (glob) (windows !)
+ * @0000000000000000000000000000000000000000 (*)> debugbuilddag .+7 exited 0 after *.?? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> blackbox (glob)
$ rm .hg/blackbox.log
$ hg log -G
@@ -97,7 +95,7 @@
* @0000000000000000000000000000000000000000 (*)> debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 01241442b3c2bf3211e593b549c655ea65b295e3 (glob)
* @0000000000000000000000000000000000000000 (*)> alias 'debugobsolete' expands to 'debugobsolete -d '0 0'' (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-obscache in *.???? seconds (0r, 1o) (glob)
- * @0000000000000000000000000000000000000000 (*)> debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 01241442b3c2bf3211e593b549c655ea65b295e3 --config *experimental.obshashrange.max-revs=1* exited 0 after *.?? seconds (glob)
+ * @0000000000000000000000000000000000000000 (*)> debugobsolete bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 01241442b3c2bf3211e593b549c655ea65b295e3 --config experimental.obshashrange.max-revs=1 exited 0 after *.?? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> debugobsolete cccccccccccccccccccccccccccccccccccccccc bebd167eb94d257ace0e814aeb98e6972ed2970d (glob)
* @0000000000000000000000000000000000000000 (*)> alias 'debugobsolete' expands to 'debugobsolete -d '0 0'' (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-obscache in *.???? seconds (0r, 1o) (glob)
@@ -105,7 +103,7 @@
* @0000000000000000000000000000000000000000 (*)> debugobsolete dddddddddddddddddddddddddddddddddddddddd c8d03c1b5e94af74b772900c58259d2e08917735 (glob)
* @0000000000000000000000000000000000000000 (*)> alias 'debugobsolete' expands to 'debugobsolete -d '0 0'' (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-obscache in *.???? seconds (0r, 1o) (glob)
- * @0000000000000000000000000000000000000000 (*)> debugobsolete dddddddddddddddddddddddddddddddddddddddd c8d03c1b5e94af74b772900c58259d2e08917735 --config *experimental.obshashrange.warm-cache=0* exited 0 after *.?? seconds (glob)
+ * @0000000000000000000000000000000000000000 (*)> debugobsolete dddddddddddddddddddddddddddddddddddddddd c8d03c1b5e94af74b772900c58259d2e08917735 --config experimental.obshashrange.warm-cache=0 exited 0 after *.?? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> debugobsolete eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee 4de32a90b66cd083ebf3c00b41277aa7abca51dd (glob)
* @0000000000000000000000000000000000000000 (*)> alias 'debugobsolete' expands to 'debugobsolete -d '0 0'' (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-obscache in *.???? seconds (0r, 1o) (glob)
@@ -188,7 +186,7 @@
$ hg debugobsolete ffffffffffffffffffffffffffffffffffffffff `getid '.'`
$ hg push -f --debug
pushing to ssh://user@dummy/server
- running python "*/dummyssh" *user@dummy* *hg -R server serve --stdio* (glob)
+ running python "*/dummyssh" user@dummy 'hg -R server serve --stdio' (glob)
sending hello command
sending between command
remote: * (glob)
@@ -391,10 +389,10 @@
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg -R ../server blackbox
- * @0000000000000000000000000000000000000000 (*)> debugobsolete --rev '::tip' (glob)
+ * @0000000000000000000000000000000000000000 (*)> debugobsolete --rev ::tip (glob)
* @0000000000000000000000000000000000000000 (*)> alias 'debugobsolete' expands to 'debugobsolete -d '0 0'' (glob)
* @0000000000000000000000000000000000000000 (*)> writing .hg/cache/tags2-visible with 0 tags (glob)
- * @0000000000000000000000000000000000000000 (*)> -R ../server/ debugobsolete --rev '::tip' exited 0 after *.?? seconds (glob)
+ * @0000000000000000000000000000000000000000 (*)> -R ../server/ debugobsolete --rev ::tip exited 0 after *.?? seconds (glob)
* @0000000000000000000000000000000000000000 (*)> debugobsolete aaaaaaa11111111aaaaaaaaa1111111111111111 66f7d451a68b85ed82ff5fcc254daf50c74144bd (glob)
* @0000000000000000000000000000000000000000 (*)> alias 'debugobsolete' expands to 'debugobsolete -d '0 0'' (glob)
* @0000000000000000000000000000000000000000 (*)> updated evo-ext-obscache in *.???? seconds (0r, 1o) (glob)
@@ -499,22 +497,18 @@
3 2dc09a01254d 3 1 4 26f996446ecb
1 66f7d451a68b 1 1 2 327c7dd73d29
$ hg blackbox
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobsolete --rev '::6' (glob) (no-windows !)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobsolete --rev ::6 (glob) (windows !)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobsolete --rev ::6 (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> alias 'debugobsolete' expands to 'debugobsolete -d '0 0'' (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> writing .hg/cache/tags2-visible with 0 tags (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobsolete --rev '::6' exited 0 after *.?? seconds (glob) (no-windows !)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobsolete --rev ::6 exited 0 after *.?? seconds (glob) (windows !)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' (glob) (no-windows !)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev "heads(all())" (glob) (windows !)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobsolete --rev ::6 exited 0 after *.?? seconds (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev heads(all()) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obshashcache clean - new markers affect 2 changeset and cached ranges (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (2r, 3o) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob) (no-windows !)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev "heads(all())" exited 0 after *.?? seconds (glob) (windows !)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev heads(all()) exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull -r f69452c5b1af6cbaaa56ef50cf94fff5bcc6ca23 (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
@@ -523,16 +517,14 @@
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obsdiscovery, 2/7 mismatch - 1 obshashrange queries in *.???? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obscache in *.???? seconds (0r, 2o) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull -r f69452c5b1af6cbaaa56ef50cf94fff5bcc6ca23 exited 0 after *.?? seconds (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'desc("r3")' (glob) (no-windows !)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev "desc(\"r3\")" (glob) (windows !)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev desc("r3") (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obshashcache clean - new markers affect 2 changeset and cached ranges (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (0r, 2o) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'desc("r3")' exited 0 after *.?? seconds (glob) (no-windows !)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev "desc(\"r3\")" exited 0 after *.?? seconds (glob) (windows !)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev desc("r3") exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> blackbox (glob)
$ rm .hg/blackbox.log
@@ -591,16 +583,14 @@
$ hg rollback
repository tip rolled back to revision 7 (undo pull)
$ hg blackbox
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' (glob) (no-windows !)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev "heads(all())" (glob) (windows !)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev heads(all()) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> obshashcache clean - new markers affect 1 changeset and cached ranges (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (0r, 1o) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob) (no-windows !)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev "heads(all())" exited 0 after *.?? seconds (glob) (windows !)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev heads(all()) exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
@@ -648,12 +638,12 @@
1 new obsolescence markers
(run 'hg update' to get a working copy)
$ hg blackbox
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev heads(all()) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (8r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (8r) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev heads(all()) exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> pull (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
@@ -761,19 +751,17 @@
o 0 1ea73414a91b r0
$ hg blackbox
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' (glob) (no-windows !)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev "heads(all())" (glob) (windows !)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev heads(all()) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> writing .hg/cache/tags2-visible with 0 tags (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-stablerange-mergepoint cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip detected, evo-ext-depthcache cache reset (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-depthcache in *.???? seconds (9r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-stablerange-mergepoint in *.???? seconds (9r) (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> updated evo-ext-obshashrange in *.???? seconds (1r, 1o) (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev 'heads(all())' exited 0 after *.?? seconds (glob) (no-windows !)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev "heads(all())" exited 0 after *.?? seconds (glob) (windows !)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> debugobshashrange --subranges --rev heads(all()) exited 0 after *.?? seconds (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> log -G (glob)
* @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> log -G exited 0 after *.?? seconds (glob)
- * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip -r 'desc("foo")' (glob)
+ * @45f8b879de922f6a6e620ba04205730335b6fc7e (*)> strip -r desc("foo") (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> saved backup bundle to $TESTTMP/client/.hg/strip-backup/45f8b879de92-94c82517-backup.hg (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> strip detected, evo-ext-obscache cache reset (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated evo-ext-obscache in *.???? seconds (5r, 13o) (glob)
@@ -781,8 +769,7 @@
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> updated base branch cache in *.???? seconds (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> wrote base branch cache with 1 labels and 1 nodes (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> 3 incoming changes - new heads: 4de32a90b66c (glob)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> --config 'extensions.strip=' strip -r 'desc("foo")' exited 0 after *.?? seconds (glob) (no-windows !)
- * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> --config "extensions.strip=" strip -r "desc(\"foo\")" exited 0 after *.?? seconds (glob) (windows !)
+ * @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> --config extensions.strip= strip -r desc("foo") exited 0 after *.?? seconds (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> log -G (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> writing .hg/cache/tags2-visible with 0 tags (glob)
* @bebd167eb94d257ace0e814aeb98e6972ed2970d (*)> log -G exited 0 after *.?? seconds (glob)
--- a/tests/test-evolve-continue.t Wed Mar 21 16:32:54 2018 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,375 +0,0 @@
-Testing the continue functionality of `hg evolve`
-
- $ cat >> $HGRCPATH <<EOF
- > [ui]
- > interactive = True
- > [alias]
- > glog = log -GT "{rev}:{node|short} {desc}\n ({bookmarks}) {phase}"
- > [extensions]
- > rebase =
- > EOF
- $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
-
-Setting up the repo
-
- $ hg init repo
- $ cd repo
- $ echo ".*\.orig" > .hgignore
- $ hg add .hgignore
- $ hg ci -m "added hgignore"
- $ for ch in a b c d; do echo foo>$ch; hg add $ch; hg ci -qm "added "$ch; done
-
- $ hg glog
- @ 4:c41c793e0ef1 added d
- | () draft
- o 3:ca1b80f7960a added c
- | () draft
- o 2:b1661037fa25 added b
- | () draft
- o 1:c7586e2a9264 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-Simple case of evolve --continue
-
- $ hg up ca1b80f7960a
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ echo bar > d
- $ hg add d
- $ hg amend
- 1 new unstable changesets
- $ hg glog
- @ 6:cb6a2ab625bb added c
- | () draft
- | o 4:c41c793e0ef1 added d
- | | () draft
- | x 3:ca1b80f7960a added c
- |/ () draft
- o 2:b1661037fa25 added b
- | () draft
- o 1:c7586e2a9264 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg evolve --all
- move:[4] added d
- atop:[6] added c
- merging d
- warning: conflicts while merging d! (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]
-
- $ echo foo > d
- $ hg resolve -m
- (no more unresolved files)
- continue: hg evolve --continue
-
- $ hg evolve --continue
- evolving 4:c41c793e0ef1 "added d"
- working directory is now at 2a4e03d422e2
-
- $ hg glog
- @ 7:2a4e03d422e2 added d
- | () draft
- o 6:cb6a2ab625bb added c
- | () draft
- o 2:b1661037fa25 added b
- | () draft
- o 1:c7586e2a9264 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-Case when conflicts resolution lead to empty wdir in evolve --continue
-
- $ echo foo > e
- $ hg ci -Aqm "added e"
- $ hg prev
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- [7] added d
- $ echo bar > e
- $ hg add e
- $ hg amend
- 1 new unstable changesets
-
- $ hg glog
- @ 10:00a5c774cc37 added d
- | () draft
- | o 8:ad0a59d83efe added e
- | | () draft
- | x 7:2a4e03d422e2 added d
- |/ () draft
- o 6:cb6a2ab625bb added c
- | () draft
- o 2:b1661037fa25 added b
- | () draft
- o 1:c7586e2a9264 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg evolve
- move:[8] added e
- atop:[10] added d
- merging e
- warning: conflicts while merging e! (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]
-
- $ echo bar > e
- $ hg resolve -m
- (no more unresolved files)
- continue: hg evolve --continue
- $ hg diff
-
-XXX: maybe we should add a message here about evolve resulting in no commit
- $ hg evolve --continue
- evolving 8:ad0a59d83efe "added e"
-
- $ hg glog
- @ 10:00a5c774cc37 added d
- | () draft
- o 6:cb6a2ab625bb added c
- | () draft
- o 2:b1661037fa25 added b
- | () draft
- o 1:c7586e2a9264 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-Case when there are a lot of revision to continue
-
- $ hg up c7586e2a9264
- 0 files updated, 0 files merged, 4 files removed, 0 files unresolved
- $ echo bar > b
- $ hg add b
- $ hg amend
- 3 new unstable changesets
-
- $ hg evolve --all
- move:[2] added b
- atop:[12] added a
- merging b
- warning: conflicts while merging b! (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]
-
- $ echo foo > b
- $ hg resolve -m
- (no more unresolved files)
- continue: hg evolve --continue
- $ hg evolve --continue
- evolving 2:b1661037fa25 "added b"
- move:[6] added c
- atop:[13] added b
- move:[10] added d
- atop:[14] added c
- working directory is now at 6642d2c9176e
-
- $ hg glog
- @ 15:6642d2c9176e added d
- | () draft
- o 14:95665a2de664 added c
- | () draft
- o 13:87f748868183 added b
- | () draft
- o 12:53b632d203d8 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-Conlicts -> resolve -> continue -> conflicts -> resolve -> continue
-Test multiple conflicts in one evolve
-
- $ for ch in f g h; do echo foo > $ch; hg add $ch; hg ci -m "added "$ch; done;
-
- $ hg glog
- @ 18:09becba8f97d added h
- | () draft
- o 17:5aa7b2bbd944 added g
- | () draft
- o 16:be88f889b6dc added f
- | () draft
- o 15:6642d2c9176e added d
- | () draft
- o 14:95665a2de664 added c
- | () draft
- o 13:87f748868183 added b
- | () draft
- o 12:53b632d203d8 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg up 95665a2de664
- 1 files updated, 0 files merged, 4 files removed, 0 files unresolved
-
- $ echo bar > f
- $ echo bar > h
- $ hg add f h
- $ hg amend
- 4 new unstable changesets
-
- $ hg glog
- @ 20:645135c5caa4 added c
- | () draft
- | o 18:09becba8f97d added h
- | | () draft
- | o 17:5aa7b2bbd944 added g
- | | () draft
- | o 16:be88f889b6dc added f
- | | () draft
- | o 15:6642d2c9176e added d
- | | () draft
- | x 14:95665a2de664 added c
- |/ () draft
- o 13:87f748868183 added b
- | () draft
- o 12:53b632d203d8 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg evolve --all
- move:[15] added d
- atop:[20] added c
- move:[16] added f
- atop:[21] added d
- merging f
- warning: conflicts while merging f! (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]
-
- $ echo foo > f
- $ hg resolve -m
- (no more unresolved files)
- continue: hg evolve --continue
- $ hg evolve --continue
- evolving 16:be88f889b6dc "added f"
- move:[17] added g
- atop:[22] added f
- move:[18] added h
- atop:[23] added g
- merging h
- warning: conflicts while merging h! (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]
-
- $ echo foo > h
- $ hg resolve -m
- (no more unresolved files)
- continue: hg evolve --continue
- $ hg evolve --continue
- evolving 18:09becba8f97d "added h"
- working directory is now at 3ba9d3d1b089
-
-Make sure, confirmopt is respected while continue
-
- $ hg glog
- @ 24:3ba9d3d1b089 added h
- | () draft
- o 23:981e615b14ca added g
- | () draft
- o 22:5794f1a3cbb2 added f
- | () draft
- o 21:e47537da02b3 added d
- | () draft
- o 20:645135c5caa4 added c
- | () draft
- o 13:87f748868183 added b
- | () draft
- o 12:53b632d203d8 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg up 5794f1a3cbb2
- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ echo bar > g
- $ hg add g
- $ hg amend
- 2 new unstable changesets
-
- $ hg evolve --all --confirm<<EOF
- > y
- > EOF
- move:[23] added g
- atop:[26] added f
- perform evolve? [Ny] y
- merging g
- warning: conflicts while merging g! (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]
-
- $ echo foo > g
- $ hg resolve -m
- (no more unresolved files)
- continue: hg evolve --continue
-
-XXX: this should have asked for confirmation
-
- $ hg evolve --continue<<EOF
- > y
- > EOF
- evolving 23:981e615b14ca "added g"
- move:[24] added h
- atop:[27] added g
- perform evolve? [Ny] y
- working directory is now at af6bd002a48d
-
- $ hg glog
- @ 28:af6bd002a48d added h
- | () draft
- o 27:d2c94a8f44bd added g
- | () draft
- o 26:9849fa96c885 added f
- | () draft
- o 21:e47537da02b3 added d
- | () draft
- o 20:645135c5caa4 added c
- | () draft
- o 13:87f748868183 added b
- | () draft
- o 12:53b632d203d8 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-Testing `evolve --continue` after `hg next --evolve`
-
- $ hg up .^^
- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
- $ echo foobar > g
- $ hg amend
- 2 new unstable changesets
-
- $ hg next --evolve
- move:[27] added g
- atop:[30] added f
- merging g
- warning: conflicts while merging g! (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]
- $ echo foo > g
- $ hg resolve -m
- (no more unresolved files)
- continue: hg evolve --continue
- $ hg evolve --continue
- evolving 27:d2c94a8f44bd "added g"
--- a/tests/test-evolve-cycles.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-evolve-cycles.t Wed Mar 21 16:35:18 2018 +0100
@@ -292,8 +292,8 @@
0
],
"effect": [
- *, (glob)
- *, (glob)
+ "description",
+ "parent",
"content"
],
"succnodes": [
@@ -315,8 +315,8 @@
0
],
"effect": [
- *, (glob)
- *, (glob)
+ "description",
+ "parent",
"content"
],
"succnodes": [
--- a/tests/test-evolve-obshistory.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-evolve-obshistory.t Wed Mar 21 16:35:18 2018 +0100
@@ -12,6 +12,7 @@
> publish=False
> [extensions]
> evolve =
+ > color =
> [experimental]
> evolution.effect-flags = yes
> EOF
@@ -204,7 +205,7 @@
]
$ hg update 471f378eab4c
abort: hidden revision '471f378eab4c'!
- (use --hidden to access hidden revisions; successor: 4ae3a4151de9)
+ (use --hidden to access hidden revisions)
[255]
$ hg update --hidden "desc(A0)"
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -303,7 +304,7 @@
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg up 0dec01379d3b
abort: hidden revision '0dec01379d3b'!
- (use --hidden to access hidden revisions; pruned)
+ (use --hidden to access hidden revisions)
[255]
$ hg up --hidden -r 'desc(B0)'
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -499,7 +500,7 @@
$ hg update 471597cad322
abort: hidden revision '471597cad322'!
- (use --hidden to access hidden revisions; successors: 337fec4d2edc, f257fde29c7a)
+ (use --hidden to access hidden revisions)
[255]
$ hg update --hidden 'min(desc(A0))'
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -775,7 +776,7 @@
$ hg update de7290d8b885
abort: hidden revision 'de7290d8b885'!
- (use --hidden to access hidden revisions; successors: 337fec4d2edc, f257fde29c7a and 2 more)
+ (use --hidden to access hidden revisions)
[255]
$ hg update --hidden 'min(desc(A0))'
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -994,7 +995,7 @@
]
$ hg update 471f378eab4c
abort: hidden revision '471f378eab4c'!
- (use --hidden to access hidden revisions; successor: eb5a0daa2192)
+ (use --hidden to access hidden revisions)
[255]
$ hg update --hidden 'desc(A0)'
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
@@ -1002,7 +1003,7 @@
(use 'hg evolve' to update to its successor: eb5a0daa2192)
$ hg update 0dec01379d3b
abort: hidden revision '0dec01379d3b'!
- (use --hidden to access hidden revisions; successor: eb5a0daa2192)
+ (use --hidden to access hidden revisions)
[255]
$ hg update --hidden 'desc(B0)'
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -1328,7 +1329,7 @@
]
$ hg update 471f378eab4c
abort: hidden revision '471f378eab4c'!
- (use --hidden to access hidden revisions; diverged)
+ (use --hidden to access hidden revisions)
[255]
$ hg update --hidden 'desc(A0)'
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -1550,7 +1551,7 @@
]
$ hg update 471f378eab4c
abort: hidden revision '471f378eab4c'!
- (use --hidden to access hidden revisions; successor: eb5a0daa2192)
+ (use --hidden to access hidden revisions)
[255]
$ hg update --hidden 'desc(A0)'
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
--- a/tests/test-evolve-orphan-merge.t Wed Mar 21 16:32:54 2018 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,606 +0,0 @@
-** Testing resolution of orphans by `hg evolve` when merges are involved **
-
- $ cat >> $HGRCPATH <<EOF
- > [ui]
- > interactive = True
- > [alias]
- > glog = log -GT "{rev}:{node|short} {desc}\n ({bookmarks}) {phase}"
- > [extensions]
- > rebase =
- > EOF
- $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
-
-Repo Setup
-
- $ hg init repo
- $ cd repo
- $ echo ".*\.orig" > .hgignore
- $ hg add .hgignore
- $ hg ci -m "added hgignore"
-
-An orphan merge changeset with one of the parent obsoleted
-==========================================================
-
-1) When merging both the parents does not result in conflicts
--------------------------------------------------------------
-
- $ echo foo > a
- $ hg ci -Aqm "added a"
- $ hg up .^
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ echo foo > b
- $ hg ci -Aqm "added b"
- $ hg merge
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
- $ hg ci -m "merging a and b"
-
- $ hg glog
- @ 3:3b2b6f4652ee merging a and b
- |\ () draft
- | o 2:d76850646258 added b
- | | () draft
- o | 1:c7586e2a9264 added a
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-Testing with obsoleting the second parent
-
- $ hg up d76850646258
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ echo bar > b
- $ hg amend
- 1 new unstable changesets
-
- $ hg glog
- @ 5:64370c9805e7 added b
- | () draft
- | o 3:3b2b6f4652ee merging a and b
- | |\ () draft
- +---x 2:d76850646258 added b
- | | () draft
- | o 1:c7586e2a9264 added a
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg evolve --all
- move:[3] merging a and b
- atop:[5] added b
- working directory is now at 91fd62122a4b
-
- $ hg glog
- @ 6:91fd62122a4b merging a and b
- |\ () draft
- | o 5:64370c9805e7 added b
- | | () draft
- o | 1:c7586e2a9264 added a
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg parents
- changeset: 6:91fd62122a4b
- tag: tip
- parent: 5:64370c9805e7
- parent: 1:c7586e2a9264
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: merging a and b
-
-
-Testing with obsoleting the first parent
-
- $ hg up c7586e2a9264
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ echo bar > a
- $ hg amend
- 1 new unstable changesets
-
- $ hg glog
- @ 8:3d41537b44ca added a
- | () draft
- | o 6:91fd62122a4b merging a and b
- | |\ () draft
- +---o 5:64370c9805e7 added b
- | | () draft
- | x 1:c7586e2a9264 added a
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg evolve --all
- move:[6] merging a and b
- atop:[8] added a
- working directory is now at 968d205ba4d8
-
- $ hg glog
- @ 9:968d205ba4d8 merging a and b
- |\ () draft
- | o 8:3d41537b44ca added a
- | | () draft
- o | 5:64370c9805e7 added b
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg parents
- changeset: 9:968d205ba4d8
- tag: tip
- parent: 8:3d41537b44ca
- parent: 5:64370c9805e7
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: merging a and b
-
-2) When merging both the parents resulted in conflicts
-------------------------------------------------------
-
- $ hg up 8fa14d15e168
- 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
- $ echo foo > c
- $ hg ci -Aqm "foo to c"
- $ hg prev
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- [0] added hgignore
- $ echo bar > c
- $ hg ci -Aqm "bar to c"
-
- $ hg glog
- @ 11:d0f84b25d4e3 bar to c
- | () draft
- | o 10:1c165c673853 foo to c
- |/ () draft
- | o 9:968d205ba4d8 merging a and b
- | |\ () draft
- +---o 8:3d41537b44ca added a
- | | () draft
- | o 5:64370c9805e7 added b
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-Prune old test changesets to have clear graph view
- $ hg prune -r 64370c9805e7 -r 3d41537b44ca -r 968d205ba4d8
- 3 changesets pruned
-
- $ hg glog
- @ 11:d0f84b25d4e3 bar to c
- | () draft
- | o 10:1c165c673853 foo to c
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg merge
- merging c
- warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
- 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
- use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
- [1]
- $ echo foobar > c
- $ hg resolve -m
- (no more unresolved files)
- $ hg ci -m "foobar to c"
-
- $ hg glog
- @ 12:fd41d25a3e90 foobar to c
- |\ () draft
- | o 11:d0f84b25d4e3 bar to c
- | | () draft
- o | 10:1c165c673853 foo to c
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-Testing with first parent obsoleted
-
- $ hg up 1c165c673853
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
- $ echo FOO > c
- $ hg amend
- 1 new unstable changesets
-
- $ hg glog
- @ 14:31c317b7bdb1 foo to c
- | () draft
- | o 12:fd41d25a3e90 foobar to c
- | |\ () draft
- +---o 11:d0f84b25d4e3 bar to c
- | | () draft
- | x 10:1c165c673853 foo to c
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg evolve --all
- move:[12] foobar to c
- atop:[14] foo to c
- merging c
- warning: conflicts while merging c! (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]
-
- $ echo FOObar > c
- $ hg resolve -m
- (no more unresolved files)
- continue: hg evolve --continue
- $ hg evolve --continue
- evolving 12:fd41d25a3e90 "foobar to c"
- working directory is now at c5405d2da7a1
-
- $ hg glog
- @ 15:c5405d2da7a1 foobar to c
- |\ () draft
- | o 14:31c317b7bdb1 foo to c
- | | () draft
- o | 11:d0f84b25d4e3 bar to c
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg parents
- changeset: 15:c5405d2da7a1
- tag: tip
- parent: 11:d0f84b25d4e3
- parent: 14:31c317b7bdb1
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: foobar to c
-
-Testing a conlficting merge with second parent obsoleted
-
- $ hg up 31c317b7bdb1
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
- $ echo foo > c
- $ hg amend
- 1 new unstable changesets
-
- $ hg glog
- @ 17:928097d0b5b5 foo to c
- | () draft
- | o 15:c5405d2da7a1 foobar to c
- | |\ () draft
- +---x 14:31c317b7bdb1 foo to c
- | | () draft
- | o 11:d0f84b25d4e3 bar to c
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg evolve --all
- move:[15] foobar to c
- atop:[17] foo to c
- merging c
- warning: conflicts while merging c! (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]
-
- $ echo foobar > c
- $ hg resolve -m
- (no more unresolved files)
- continue: hg evolve --continue
-
- $ hg evolve --continue
- evolving 15:c5405d2da7a1 "foobar to c"
- working directory is now at dc1948a6eeab
-
- $ hg glog
- @ 18:dc1948a6eeab foobar to c
- |\ () draft
- | o 17:928097d0b5b5 foo to c
- | | () draft
- o | 11:d0f84b25d4e3 bar to c
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-3) When stabilizing other changesets resulted in orphan merge changeset
------------------------------------------------------------------------
-
- $ hg prune -r d0f84b25d4e3 -r 928097d0b5b5 -r dc1948a6eeab
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- working directory now at 8fa14d15e168
- 3 changesets pruned
-
- $ for ch in l m; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
- $ hg up 8fa14d15e168
- 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
- $ for ch in x y; do echo foo > $ch; hg ci -Aqm "added "$ch; done;
- $ hg glog
- @ 22:863d11043c67 added y
- | () draft
- o 21:3f2247835c1d added x
- | () draft
- | o 20:e44dc179e7f5 added m
- | | () draft
- | o 19:8634bee7bf1e added l
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg merge
- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
- $ hg ci -m "merge commit"
-
- $ hg up 8634bee7bf1e
- 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
- $ echo bar > l
- $ hg amend
- 2 new unstable changesets
-
- $ hg glog
- @ 25:fccc9de66799 added l
- | () draft
- | o 23:190763373d8b merge commit
- | |\ () draft
- | | o 22:863d11043c67 added y
- | | | () draft
- +---o 21:3f2247835c1d added x
- | | () draft
- | o 20:e44dc179e7f5 added m
- | | () draft
- | x 19:8634bee7bf1e added l
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
- $ hg evolve --all
- move:[20] added m
- atop:[25] added l
- move:[23] merge commit
- atop:[26] added m
- working directory is now at a446ad3e6700
-
- $ hg glog
- @ 27:a446ad3e6700 merge commit
- |\ () draft
- | o 26:495d2039f8f1 added m
- | | () draft
- | o 25:fccc9de66799 added l
- | | () draft
- o | 22:863d11043c67 added y
- | | () draft
- o | 21:3f2247835c1d added x
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-4) When both the parents of the merge changeset are obsolete with a succ
-------------------------------------------------------------------------
-
- $ hg prune -r a446ad3e6700 -r 495d2039f8f1 -r 863d11043c67
- 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
- working directory now at fccc9de66799
- 3 changesets pruned
-
- $ hg glog
- @ 25:fccc9de66799 added l
- | () draft
- | o 21:3f2247835c1d added x
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg merge
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
- $ hg ci -m "merged l and x"
-
- $ hg up fccc9de66799
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ echo foobar > l
- $ hg amend
- 1 new unstable changesets
- $ hg up 3f2247835c1d
- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ echo bar > x
- $ hg amend
- $ hg glog
- @ 32:cdf6547da25f added x
- | () draft
- | o 30:3f371171d767 added l
- |/ () draft
- | o 28:7b78a9784f3e merged l and x
- | |\ () draft
- +---x 25:fccc9de66799 added l
- | | () draft
- | x 21:3f2247835c1d added x
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-XXX: We should handle this case too
- $ hg evolve --all
- move:[28] merged l and x
- atop:[32] added x
- move:[33] merged l and x
- atop:[30] added l
- working directory is now at adb665a78e08
-
- $ hg glog
- @ 34:adb665a78e08 merged l and x
- |\ () draft
- | o 32:cdf6547da25f added x
- | | () draft
- o | 30:3f371171d767 added l
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg exp
- # HG changeset patch
- # User test
- # Date 0 0
- # Thu Jan 01 00:00:00 1970 +0000
- # Node ID adb665a78e08b962cff415301058d782086c0f33
- # Parent 3f371171d767ef79cf85d156cf46d4035960fcf0
- # Parent cdf6547da25f1ca5d01102302ad713f444547b48
- merged l and x
-
- diff -r 3f371171d767 -r adb665a78e08 x
- --- /dev/null Thu Jan 01 00:00:00 1970 +0000
- +++ b/x Thu Jan 01 00:00:00 1970 +0000
- @@ -0,0 +1,1 @@
- +bar
-
- $ hg parents
- changeset: 34:adb665a78e08
- tag: tip
- parent: 30:3f371171d767
- parent: 32:cdf6547da25f
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: merged l and x
-
-
-5) When one of the merge parent is pruned without a successor
--------------------------------------------------------------
-
- $ hg prune -r cdf6547da25f
- 1 changesets pruned
- 1 new unstable changesets
- $ hg glog
- @ 34:adb665a78e08 merged l and x
- |\ () draft
- | x 32:cdf6547da25f added x
- | | () draft
- o | 30:3f371171d767 added l
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg evolve --rev .
- move:[34] merged l and x
- atop:[0] added hgignore
- working directory is now at fb8fe870ae7d
-
- $ hg glog
- @ 35:fb8fe870ae7d merged l and x
- |\ () draft
- | o 30:3f371171d767 added l
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-6) When one parent is pruned without successor and the other parent of merge is
-the parent of the pruned commit
---------------------------------------------------------------------------------
-
- $ hg glog
- @ 35:fb8fe870ae7d merged l and x
- |\ () draft
- | o 30:3f371171d767 added l
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg prune -r 3f371171d767
- 1 changesets pruned
- 1 new unstable changesets
-
- $ hg glog
- @ 35:fb8fe870ae7d merged l and x
- |\ () draft
- | x 30:3f371171d767 added l
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-This is the right thing to do here. When you have a merge changeset, and one
-parent is pruned and parent of that pruned parent is same as another parent of
-the merge changeset, that should lead to merge changeset being a non-merge
-changeset and non-pruned changeset as its only parent
-
-If you look at the above graph, the side part:
-
-\
- x
-/
-
-is redundant now as the changeset is pruned and we should remove this chain
-while evolving.
-
-This case can occur a lot of times in workflows where people make branches and
-merge them again. After getting their work done, they may want to get rid of
-that branch and they prune all their changeset, which will result in this
-case where merge commit becomes orphan with its ancestors pruned up until a
-point where the other parent of merge is the first non-pruned ancestor.
-
- $ hg evolve -r .
- move:[35] merged l and x
- atop:[0] added hgignore
- working directory is now at b61ba77b924a
-
- $ hg glog
- @ 36:b61ba77b924a merged l and x
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-7) When one parent is pruned without successor and has no parent
-----------------------------------------------------------------
-
- $ hg prune -r .
- 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
- working directory now at 8fa14d15e168
- 1 changesets pruned
- $ hg up null
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
-
- $ echo foo > foo
- $ hg add foo
- $ hg ci -m "added foo"
- created new head
-
- $ hg merge
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
- (branch merge, don't forget to commit)
- $ hg ci -m "merge commit"
- $ hg glog
- @ 38:32beb84b9dbc merge commit
- |\ () draft
- | o 37:f3ba8b99bb6f added foo
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg prune -r f3ba8b99bb6f
- 1 changesets pruned
- 1 new unstable changesets
-
- $ hg glog
- @ 38:32beb84b9dbc merge commit
- |\ () draft
- | x 37:f3ba8b99bb6f added foo
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-The current behavior seems to be the correct behavior in the above case. This is
-also another case which can arise flow merge workflow where people start a
-branch from null changeset and merge it and then prune it or get rid of it.
-
-Also if you look at the above graph, the side part:
-
-\
- x
-
-becomes redundant as the changeset is pruned without successor and we should
-just remove that chain.
-
- $ hg evolve -r .
- move:[38] merge commit
- atop:[-1]
- working directory is now at d2a03dd8c951
-
- $ hg glog
- @ 39:d2a03dd8c951 merge commit
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
--- a/tests/test-evolve-orphan-split.t Wed Mar 21 16:32:54 2018 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,276 +0,0 @@
-** Testing resolution of orphans by `hg evolve` where an obsolete changeset has
-multiple successors **
-
- $ cat >> $HGRCPATH <<EOF
- > [defaults]
- > amend=-d "0 0"
- > fold=-d "0 0"
- > split=-d "0 0"
- > amend=-d "0 0"
- > [ui]
- > interactive = True
- > [alias]
- > glog = log -GT "{rev}:{node|short} {desc}\n ({bookmarks}) {phase}"
- > [extensions]
- > rebase =
- > EOF
- $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
-
-Repo Setup
-
- $ hg init repo
- $ cd repo
- $ echo ".*\.orig" > .hgignore
- $ hg add .hgignore
- $ hg ci -m "added hgignore"
-
-An orphan changeset with parent got splitted
---------------------------------------------
-
- $ for ch in a b c; do echo foo > $ch; done;
-
- $ hg add a b
- $ hg ci -m "added a and b"
- $ hg add c
- $ hg ci -m "added c"
-
- $ hg glog
- @ 2:86e1ebf1ca61 added c
- | () draft
- o 1:d0ddb614efbd added a and b
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg split -r 1 <<EOF
- > y
- > y
- > n
- > y
- > EOF
- 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
- adding a
- adding b
- diff --git a/a b/a
- new file mode 100644
- examine changes to 'a'? [Ynesfdaq?] y
-
- @@ -0,0 +1,1 @@
- +foo
- record change 1/2 to 'a'? [Ynesfdaq?] y
-
- diff --git a/b b/b
- new file mode 100644
- examine changes to 'b'? [Ynesfdaq?] n
-
- created new head
- Done splitting? [yN] y
-
- $ hg glog
- @ 4:8b179cffc81c added a and b
- | () draft
- o 3:bd3735d4dab0 added a and b
- | () draft
- | o 2:86e1ebf1ca61 added c
- | | () draft
- | x 1:d0ddb614efbd added a and b
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg evolve
- move:[2] added c
- atop:[4] added a and b
- working directory is now at af13f0560b31
-
- $ hg glog
- @ 5:af13f0560b31 added c
- | () draft
- o 4:8b179cffc81c added a and b
- | () draft
- o 3:bd3735d4dab0 added a and b
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-When the successors does not form a linear chain and are multiple heads
------------------------------------------------------------------------
-
- $ hg fold -r .^^::. --exact -m "added a b c"
- 3 changesets folded
- 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
- $ hg glog
- @ 6:f89e4764f2ed added a b c
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
- $ echo foo > d
- $ hg ci -Aqm "added d"
-
- $ hg glog
- @ 7:d48a30875f01 added d
- | () draft
- o 6:f89e4764f2ed added a b c
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
- $ hg prev
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- [6] added a b c
- $ hg split -r . <<EOF
- > y
- > n
- > y
- > y
- > y
- > y
- > y
- > EOF
- 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
- adding a
- adding b
- adding c
- diff --git a/a b/a
- new file mode 100644
- examine changes to 'a'? [Ynesfdaq?] y
-
- @@ -0,0 +1,1 @@
- +foo
- record change 1/3 to 'a'? [Ynesfdaq?] n
-
- diff --git a/b b/b
- new file mode 100644
- examine changes to 'b'? [Ynesfdaq?] y
-
- @@ -0,0 +1,1 @@
- +foo
- record change 2/3 to 'b'? [Ynesfdaq?] y
-
- diff --git a/c b/c
- new file mode 100644
- examine changes to 'c'? [Ynesfdaq?] y
-
- @@ -0,0 +1,1 @@
- +foo
- record change 3/3 to 'c'? [Ynesfdaq?] y
-
- created new head
- Done splitting? [yN] y
-
- $ hg glog
- @ 9:c0fbf8aaf6c4 added a b c
- | () draft
- o 8:f2632392aefe added a b c
- | () draft
- | o 7:d48a30875f01 added d
- | | () draft
- | x 6:f89e4764f2ed added a b c
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg rebase -r . -d 8fa14d15e168
- rebasing 9:c0fbf8aaf6c4 "added a b c" (tip)
- $ hg glog
- @ 10:7f87764e5b64 added a b c
- | () draft
- | o 8:f2632392aefe added a b c
- |/ () draft
- | o 7:d48a30875f01 added d
- | | () draft
- | x 6:f89e4764f2ed added a b c
- |/ () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg evolve --dry-run <<EOF
- > 0
- > EOF
- ancestor 'd48a30875f01' split over multiple topological branches.
- choose an evolve destination:
- 0: [f2632392aefe] added a b c
- 1: [7f87764e5b64] added a b c
- q: quit the prompt
- enter the index of the revision you want to select: 0
- move:[7] added d
- atop:[8] added a b c
- hg rebase -r d48a30875f01 -d f2632392aefe
-
- $ hg evolve --dry-run <<EOF
- > 1
- > EOF
- ancestor 'd48a30875f01' split over multiple topological branches.
- choose an evolve destination:
- 0: [f2632392aefe] added a b c
- 1: [7f87764e5b64] added a b c
- q: quit the prompt
- enter the index of the revision you want to select: 1
- move:[7] added d
- atop:[10] added a b c
- hg rebase -r d48a30875f01 -d 7f87764e5b64
-
-Testing the interactive prompt with invalid values first
-(this should move its own test file when we use it at multiple places)
-
- $ hg evolve --all <<EOF
- > foo
- > EOF
- ancestor 'd48a30875f01' split over multiple topological branches.
- choose an evolve destination:
- 0: [f2632392aefe] added a b c
- 1: [7f87764e5b64] added a b c
- q: quit the prompt
- enter the index of the revision you want to select: foo
- invalid value 'foo' entered for index
- could not solve instability, ambiguous destination: parent split across two branches
-
- $ hg evolve --all <<EOF
- > 4
- > EOF
- ancestor 'd48a30875f01' split over multiple topological branches.
- choose an evolve destination:
- 0: [f2632392aefe] added a b c
- 1: [7f87764e5b64] added a b c
- q: quit the prompt
- enter the index of the revision you want to select: 4
- invalid value '4' entered for index
- could not solve instability, ambiguous destination: parent split across two branches
-
- $ hg evolve --all <<EOF
- > -1
- > EOF
- ancestor 'd48a30875f01' split over multiple topological branches.
- choose an evolve destination:
- 0: [f2632392aefe] added a b c
- 1: [7f87764e5b64] added a b c
- q: quit the prompt
- enter the index of the revision you want to select: -1
- invalid value '-1' entered for index
- could not solve instability, ambiguous destination: parent split across two branches
-
- $ hg evolve --all <<EOF
- > q
- > EOF
- ancestor 'd48a30875f01' split over multiple topological branches.
- choose an evolve destination:
- 0: [f2632392aefe] added a b c
- 1: [7f87764e5b64] added a b c
- q: quit the prompt
- enter the index of the revision you want to select: q
- could not solve instability, ambiguous destination: parent split across two branches
-
-Doing the evolve with the interactive prompt
-
- $ hg evolve --all <<EOF
- > 1
- > EOF
- ancestor 'd48a30875f01' split over multiple topological branches.
- choose an evolve destination:
- 0: [f2632392aefe] added a b c
- 1: [7f87764e5b64] added a b c
- q: quit the prompt
- enter the index of the revision you want to select: 1
- move:[7] added d
- atop:[10] added a b c
- working directory is now at 1c6caa7c902a
--- a/tests/test-evolve-serveronly-bundle2.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-evolve-serveronly-bundle2.t Wed Mar 21 16:35:18 2018 +0100
@@ -127,7 +127,7 @@
adding file changes
added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
2 new obsolescence markers
- (run 'hg heads' to see heads)
+ (run 'hg heads' to see heads, 'hg merge' to merge)
$ cat ../errors.log
$ hg -R ../other pull
pulling from http://localhost:$HGPORT/
--- a/tests/test-evolve-stop.t Wed Mar 21 16:32:54 2018 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,382 +0,0 @@
-Tests for the --stop flag for `hg evolve` command
-=================================================
-
-The `--stop` flag stops the interrupted evolution and delete the state file so
-user can do other things and comeback and do evolution later on
-
-Setup
-=====
-
- $ cat >> $HGRCPATH <<EOF
- > [alias]
- > glog = log -GT "{rev}:{node|short} {desc}\n ({bookmarks}) {phase}"
- > [extensions]
- > EOF
- $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
-
- $ hg init stoprepo
- $ cd stoprepo
- $ echo ".*\.orig" > .hgignore
- $ hg add .hgignore
- $ hg ci -m "added hgignore"
- $ for ch in a b c d; do echo foo > $ch; hg add $ch; hg ci -qm "added "$ch; done;
-
- $ hg glog
- @ 4:c41c793e0ef1 added d
- | () draft
- o 3:ca1b80f7960a added c
- | () draft
- o 2:b1661037fa25 added b
- | () draft
- o 1:c7586e2a9264 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-Testing `--stop` when no evolve is interrupted
-==============================================
-
- $ hg evolve --stop
- abort: no interrupted evolve to stop
- [255]
-
-Testing with wrong combinations of flags
-========================================
-
- $ hg evolve --stop --rev 1
- abort: cannot specify both "--rev" and "--stop"
- [255]
-
- $ hg evolve --stop --continue
- abort: cannot specify both "--stop" and "--continue"
- [255]
-
- $ hg evolve --stop --all
- abort: cannot specify both "--all" and "--stop"
- [255]
-
- $ hg evolve --stop --any
- abort: cannot specify both "--any" and "--stop"
- [255]
-
-Testing when only one revision is to evolve
-===========================================
-
- $ hg prev
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- [3] added c
- $ echo bar > d
- $ hg add d
- $ hg amend
- 1 new unstable changesets
- $ hg glog
- @ 6:cb6a2ab625bb added c
- | () draft
- | o 4:c41c793e0ef1 added d
- | | () draft
- | x 3:ca1b80f7960a added c
- |/ () draft
- o 2:b1661037fa25 added b
- | () draft
- o 1:c7586e2a9264 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg evolve
- move:[4] added d
- atop:[6] added c
- merging d
- warning: conflicts while merging d! (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]
-
- $ hg evolve --stop
- stopped the interrupted evolve
- working directory is now at cb6a2ab625bb
-
-Checking whether evolvestate file exists or not
- $ cat .hg/evolvestate
- cat: .hg/evolvestate: No such file or directory
- [1]
-
-Checking where we are
- $ hg id
- cb6a2ab625bb tip
-
-Checking working dir
- $ hg status
-Checking for incomplete mergestate
- $ ls .hg/merge
- ls: cannot access .?\.hg/merge.?: No such file or directory (re)
- [2]
-
-Checking graph
- $ hg glog
- @ 6:cb6a2ab625bb added c
- | () draft
- | o 4:c41c793e0ef1 added d
- | | () draft
- | x 3:ca1b80f7960a added c
- |/ () draft
- o 2:b1661037fa25 added b
- | () draft
- o 1:c7586e2a9264 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
-Testing the stop flag in case conflicts are caused by `hg next --evolve`
-========================================================================
-
- $ hg next --evolve
- move:[4] added d
- atop:[6] added c
- merging d
- warning: conflicts while merging d! (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]
-
- $ hg diff
- diff -r cb6a2ab625bb d
- --- a/d Thu Jan 01 00:00:00 1970 +0000
- +++ b/d * (glob)
- @@ -1,1 +1,5 @@
- +<<<<<<< destination: cb6a2ab625bb - test: added c
- bar
- +=======
- +foo
- +>>>>>>> evolving: c41c793e0ef1 - test: added d
-
- $ hg evolve --stop
- stopped the interrupted evolve
- working directory is now at cb6a2ab625bb
-
- $ hg glog
- @ 6:cb6a2ab625bb added c
- | () draft
- | o 4:c41c793e0ef1 added d
- | | () draft
- | x 3:ca1b80f7960a added c
- |/ () draft
- o 2:b1661037fa25 added b
- | () draft
- o 1:c7586e2a9264 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg status
-
-Checking when multiple revs need to be evolved, some revs evolve without
-conflicts
-=========================================================================
-
-Making sure obsmarkers should be on evolved changeset and not rest of them once
-we do `evolve --stop`
---------------------------------------------------------------------------------
-
- $ hg evolve
- move:[4] added d
- atop:[6] added c
- merging d
- warning: conflicts while merging d! (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]
- $ echo foo > d
- $ hg resolve -m
- (no more unresolved files)
- continue: hg evolve --continue
- $ hg evolve --continue
- evolving 4:c41c793e0ef1 "added d"
- working directory is now at 2a4e03d422e2
- $ hg glog
- @ 7:2a4e03d422e2 added d
- | () draft
- o 6:cb6a2ab625bb added c
- | () draft
- o 2:b1661037fa25 added b
- | () draft
- o 1:c7586e2a9264 added a
- | () draft
- o 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg up .^^^^
- 0 files updated, 0 files merged, 4 files removed, 0 files unresolved
- $ echo bar > c
- $ hg add c
- $ hg amend
- 4 new unstable changesets
-
- $ hg glog
- @ 9:21817cd42526 added hgignore
- () draft
- o 7:2a4e03d422e2 added d
- | () draft
- o 6:cb6a2ab625bb added c
- | () draft
- o 2:b1661037fa25 added b
- | () draft
- o 1:c7586e2a9264 added a
- | () draft
- x 0:8fa14d15e168 added hgignore
- () draft
-
- $ hg evolve --all
- move:[1] added a
- atop:[9] added hgignore
- move:[2] added b
- atop:[10] added a
- move:[6] added c
- atop:[11] added b
- merging c
- warning: conflicts while merging c! (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]
-
- $ hg status
- M c
- A d
-
- $ hg evolve --stop
- stopped the interrupted evolve
- working directory is now at aec285328e90
-
-Only changeset which has a successor now are obsoleted
- $ hg glog
- @ 11:aec285328e90 added b
- | () draft
- o 10:fd00db71edca added a
- | () draft
- o 9:21817cd42526 added hgignore
- () draft
- o 7:2a4e03d422e2 added d
- | () draft
- o 6:cb6a2ab625bb added c
- | () draft
- x 2:b1661037fa25 added b
- | () draft
- x 1:c7586e2a9264 added a
- | () draft
- x 0:8fa14d15e168 added hgignore
- () draft
-
-Making sure doing evolve again resumes from right place and does the right thing
-
- $ hg evolve --all
- move:[6] added c
- atop:[11] added b
- merging c
- warning: conflicts while merging c! (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]
-
- $ echo foobar > c
- $ hg resolve -m
- (no more unresolved files)
- continue: hg evolve --continue
- $ hg evolve --continue
- evolving 6:cb6a2ab625bb "added c"
- move:[7] added d
- atop:[12] added c
- working directory is now at cd0909a30222
- $ hg glog
- @ 13:cd0909a30222 added d
- | () draft
- o 12:cb1dd1086ef6 added c
- | () draft
- o 11:aec285328e90 added b
- | () draft
- o 10:fd00db71edca added a
- | () draft
- o 9:21817cd42526 added hgignore
- () draft
-
-Bookmarks should only be moved of the changesets which have been evolved,
-bookmarks of rest of them should stay where they are are
--------------------------------------------------------------------------
-
- $ hg up .^
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
- $ hg bookmark b1
- $ hg up .^
- 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
- (leaving bookmark b1)
- $ hg bookmark b2
-
- $ hg glog
- o 13:cd0909a30222 added d
- | () draft
- o 12:cb1dd1086ef6 added c
- | (b1) draft
- @ 11:aec285328e90 added b
- | (b2) draft
- o 10:fd00db71edca added a
- | () draft
- o 9:21817cd42526 added hgignore
- () draft
-
- $ hg prev
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- [10] added a
- $ echo tom > c
- $ hg amend
- 3 new unstable changesets
-
- $ hg glog
- @ 15:a3cc2042492f added a
- | () draft
- | o 13:cd0909a30222 added d
- | | () draft
- | o 12:cb1dd1086ef6 added c
- | | (b1) draft
- | o 11:aec285328e90 added b
- | | (b2) draft
- | x 10:fd00db71edca added a
- |/ () draft
- o 9:21817cd42526 added hgignore
- () draft
-
- $ hg evolve --all
- move:[11] added b
- atop:[15] added a
- move:[12] added c
- atop:[16] added b
- merging c
- warning: conflicts while merging c! (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]
-
- $ hg evolve --stop
- stopped the interrupted evolve
- working directory is now at a3f4b95da934
-
-Bookmarks of only the changeset which are evolved is moved
- $ hg glog
- @ 16:a3f4b95da934 added b
- | (b2) draft
- o 15:a3cc2042492f added a
- | () draft
- | o 13:cd0909a30222 added d
- | | () draft
- | o 12:cb1dd1086ef6 added c
- | | (b1) draft
- | x 11:aec285328e90 added b
- | | () draft
- | x 10:fd00db71edca added a
- |/ () draft
- o 9:21817cd42526 added hgignore
- () draft
--- a/tests/test-evolve-templates.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-evolve-templates.t Wed Mar 21 16:35:18 2018 +0100
@@ -16,10 +16,7 @@
> {if(precursors, "\n Precursors: {precursors}")}\
> {if(precursors, "\n semi-colon: {join(precursors, "; ")}")}\
> {if(successors, "\n Successors: {successors}")}\
- > {if(successors, "\n semi-colon: {join(successors, "; ")}")}\
- > {if(obsfate, "\n Fate: {join(obsfate, "\n Fate: ")}\n")}\n'
- > fatelog = log -G -T '{node|short}\n{if(obsfate, " Obsfate: {join(obsfate, "; ")}\n\n")}'
- > fatelogjson = log -G -T '{node|short} {obsfate|json}\n'
+ > {if(successors, "\n semi-colon: {join(successors, "; ")}")}\n'
> EOF
Test templates on amended commit
@@ -88,74 +85,8 @@
| @ 471f378eab4c
|/ Successors: [d004c8f274b9]
| semi-colon: [d004c8f274b9]
- | Fate: rewritten as d004c8f274b9 by test, test2
- |
- o ea207398892e
-
-
- $ hg log -G
- o changeset: 4:d004c8f274b9
- | tag: tip
- | parent: 0:ea207398892e
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: A2
- |
- | @ changeset: 1:471f378eab4c
- |/ user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: A0
- |
- o changeset: 0:ea207398892e
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: ROOT
-
-
- $ hg fatelog -q
- o d004c8f274b9
- |
- | @ 471f378eab4c
- |/ Obsfate: rewritten as d004c8f274b9
- |
o ea207398892e
-
- $ hg fatelog
- o d004c8f274b9
- |
- | @ 471f378eab4c
- |/ Obsfate: rewritten as d004c8f274b9 by test, test2
- |
- o ea207398892e
-
- $ hg fatelog -v
- o d004c8f274b9
- |
- | @ 471f378eab4c
- |/ Obsfate: rewritten as d004c8f274b9 by test, test2 (*) (glob)
- |
- o ea207398892e
-
-
-(check json)
-
- $ hg log -GT '{precursors|json}\n'
- o ["471f378eab4c5e25f6c77f785b27c936efb22874"]
- |
- | @ []
- |/
- o []
-
-
- $ hg log -GT '{successors|json}\n'
- o ""
- |
- | @ [["d004c8f274b9ec480a47a93c10dac5eee63adb78"]]
- |/
- o ""
-
-
$ hg up 'desc(A1)' --hidden
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
working directory parent is obsolete! (a468dc9b3633)
@@ -169,8 +100,6 @@
| @ a468dc9b3633
|/ Successors: [d004c8f274b9]
| semi-colon: [d004c8f274b9]
- | Fate: reworded as d004c8f274b9 by test2
- |
o ea207398892e
Precursors template should show the precursor as we force its display with
@@ -184,24 +113,11 @@
| semi-colon: 471f378eab4c
| Successors: [d004c8f274b9]
| semi-colon: [d004c8f274b9]
- | Fate: reworded as d004c8f274b9 by test2
- |
| x f137d23bb3e1
- | | Fate: pruned
| |
| x 471f378eab4c
|/ Successors: [a468dc9b3633]
| semi-colon: [a468dc9b3633]
- | Fate: rewritten as a468dc9b3633
- |
- o ea207398892e
-
- $ hg fatelog -v
- o d004c8f274b9
- |
- | @ a468dc9b3633
- |/ Obsfate: reworded as d004c8f274b9 by test2 (*) (glob)
- |
o ea207398892e
$ hg up 'desc(A2)'
@@ -220,50 +136,13 @@
| semi-colon: 471f378eab4c
| Successors: [d004c8f274b9]
| semi-colon: [d004c8f274b9]
- | Fate: reworded as d004c8f274b9 by test2
- |
| x f137d23bb3e1
- | | Fate: pruned
| |
| x 471f378eab4c
|/ Successors: [a468dc9b3633]
| semi-colon: [a468dc9b3633]
- | Fate: rewritten as a468dc9b3633
- |
o ea207398892e
- $ hg fatelog -v
- @ d004c8f274b9
- |
- o ea207398892e
-
-
- $ hg fatelog -v --hidden
- @ d004c8f274b9
- |
- | x a468dc9b3633
- |/ Obsfate: reworded as d004c8f274b9 by test2 (*) (glob)
- |
- | x f137d23bb3e1
- | | Obsfate: pruned by test (at *) (glob)
- | |
- | x 471f378eab4c
- |/ Obsfate: rewritten as a468dc9b3633 by test (*) (glob)
- |
- o ea207398892e
-
-
- $ hg fatelogjson --hidden
- @ d004c8f274b9 []
- |
- | x a468dc9b3633 [{"markers": [["a468dc9b36338b14fdb7825f55ce3df4e71517ad", ["d004c8f274b9ec480a47a93c10dac5eee63adb78"], 0, [["ef1", "1"], ["user", "test2"]], [*, *], null]], "max_date": [*, *], "min_date": [*, *], "successors": ["d004c8f274b9ec480a47a93c10dac5eee63adb78"], "users": ["test2"], "verb": "reworded"}] (glob)
- |/
- | x f137d23bb3e1 [{"markers": [["f137d23bb3e11dc1daeb6264fac9cb2433782e15", [], 0, [["ef1", "0"], ["user", "test"]], [*, 0], ["471f378eab4c5e25f6c77f785b27c936efb22874"]]], "max_date": [*, 0], "min_date": [*, 0], "successors": [], "users": ["test"], "verb": "pruned"}] (glob)
- | |
- | x 471f378eab4c [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"], 0, [["ef1", "9"], ["user", "test"]], [*, 0], null]], "max_date": [*, 0], "min_date": [*, 0], "successors": ["a468dc9b36338b14fdb7825f55ce3df4e71517ad"], "users": ["test"], "verb": "rewritten"}] (glob)
- |/
- o ea207398892e []
-
Test templates with splitted commit
===================================
@@ -366,18 +245,6 @@
| @ 471597cad322
|/ Successors: [337fec4d2edc, f257fde29c7a]
| semi-colon: [337fec4d2edc, f257fde29c7a]
- | Fate: split as 337fec4d2edc, f257fde29c7a
- |
- o ea207398892e
-
- $ hg fatelog
- o f257fde29c7a
- |
- o 337fec4d2edc
- |
- | @ 471597cad322
- |/ Obsfate: split as 337fec4d2edc, f257fde29c7a
- |
o ea207398892e
@@ -405,31 +272,8 @@
| x 471597cad322
|/ Successors: [337fec4d2edc, f257fde29c7a]
| semi-colon: [337fec4d2edc, f257fde29c7a]
- | Fate: split as 337fec4d2edc, f257fde29c7a
- |
o ea207398892e
- $ hg fatelog --hidden
- @ f257fde29c7a
- |
- o 337fec4d2edc
- |
- | x 471597cad322
- |/ Obsfate: split as 337fec4d2edc, f257fde29c7a
- |
- o ea207398892e
-
-
- $ hg fatelogjson --hidden
- @ f257fde29c7a []
- |
- o 337fec4d2edc []
- |
- | x 471597cad322 [{"markers": [["471597cad322d1f659bb169751be9133dad92ef3", ["337fec4d2edcf0e7a467e35f818234bc620068b5", "f257fde29c7a847c9b607f6e958656d0df0fb15c"], 0, [["ef1", "12"], ["user", "test"]], [*, 0], null]], "max_date": [*, 0], "min_date": [*, 0], "successors": ["337fec4d2edcf0e7a467e35f818234bc620068b5", "f257fde29c7a847c9b607f6e958656d0df0fb15c"], "users": ["test"], "verb": "split"}] (glob)
- |/
- o ea207398892e []
-
-
Test templates with folded commit
==============================
@@ -500,16 +344,6 @@
| @ 471f378eab4c
|/ Successors: [eb5a0daa2192]
| semi-colon: [eb5a0daa2192]
- | Fate: rewritten as eb5a0daa2192
- |
- o ea207398892e
-
- $ hg fatelog
- o eb5a0daa2192
- |
- | @ 471f378eab4c
- |/ Obsfate: rewritten as eb5a0daa2192
- |
o ea207398892e
$ hg up 'desc(B0)' --hidden
@@ -526,27 +360,11 @@
| @ 0dec01379d3b
| | Successors: [eb5a0daa2192]
| | semi-colon: [eb5a0daa2192]
- | | Fate: rewritten as eb5a0daa2192
- | |
| x 471f378eab4c
|/ Successors: [eb5a0daa2192]
| semi-colon: [eb5a0daa2192]
- | Fate: rewritten as eb5a0daa2192
- |
o ea207398892e
- $ hg fatelog
- o eb5a0daa2192
- |
- | @ 0dec01379d3b
- | | Obsfate: rewritten as eb5a0daa2192
- | |
- | x 471f378eab4c
- |/ Obsfate: rewritten as eb5a0daa2192
- |
- o ea207398892e
-
-
$ hg up 'desc(C0)'
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
@@ -566,36 +384,11 @@
| x 0dec01379d3b
| | Successors: [eb5a0daa2192]
| | semi-colon: [eb5a0daa2192]
- | | Fate: rewritten as eb5a0daa2192
- | |
| x 471f378eab4c
|/ Successors: [eb5a0daa2192]
| semi-colon: [eb5a0daa2192]
- | Fate: rewritten as eb5a0daa2192
- |
o ea207398892e
- $ hg fatelog --hidden
- @ eb5a0daa2192
- |
- | x 0dec01379d3b
- | | Obsfate: rewritten as eb5a0daa2192
- | |
- | x 471f378eab4c
- |/ Obsfate: rewritten as eb5a0daa2192
- |
- o ea207398892e
-
-
- $ hg fatelogjson --hidden
- @ eb5a0daa2192 []
- |
- | x 0dec01379d3b [{"markers": [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["ef1", "13"], ["user", "test"]], [*, 0], null]], "max_date": [*, 0], "min_date": [*, 0], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], "users": ["test"], "verb": "rewritten"}] (glob)
- | |
- | x 471f378eab4c [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["ef1", "9"], ["user", "test"]], [*, 0], null]], "max_date": [*, 0], "min_date": [*, 0], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], "users": ["test"], "verb": "rewritten"}] (glob)
- |/
- o ea207398892e []
-
Test templates with divergence
==============================
@@ -679,22 +472,8 @@
| @ 471f378eab4c
|/ Successors: [fdf9bde5129a], [019fadeab383]
| semi-colon: [fdf9bde5129a]; [019fadeab383]
- | Fate: reworded as fdf9bde5129a
- | Fate: reworded as 019fadeab383
- |
o ea207398892e
- $ hg fatelog
- o 019fadeab383
- |
- | o fdf9bde5129a
- |/
- | @ 471f378eab4c
- |/ Obsfate: reworded as fdf9bde5129a; reworded as 019fadeab383
- |
- o ea207398892e
-
-
$ hg up 'desc(A1)'
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Precursors template should not show precursors as it's not displayed in the
@@ -707,13 +486,6 @@
o ea207398892e
- $ hg fatelog
- o 019fadeab383
- |
- | @ fdf9bde5129a
- |/
- o ea207398892e
-
Precursors template should a precursor as we force its display with --hidden
$ hg tlog --hidden
o 019fadeab383
@@ -724,44 +496,14 @@
| semi-colon: 471f378eab4c
| Successors: [019fadeab383]
| semi-colon: [019fadeab383]
- | Fate: reworded as 019fadeab383
- |
| @ fdf9bde5129a
|/ Precursors: 471f378eab4c
| semi-colon: 471f378eab4c
| x 471f378eab4c
|/ Successors: [fdf9bde5129a], [65b757b745b9]
| semi-colon: [fdf9bde5129a]; [65b757b745b9]
- | Fate: reworded as fdf9bde5129a
- | Fate: reworded as 65b757b745b9
- |
o ea207398892e
- $ hg fatelog --hidden
- o 019fadeab383
- |
- | x 65b757b745b9
- |/ Obsfate: reworded as 019fadeab383
- |
- | @ fdf9bde5129a
- |/
- | x 471f378eab4c
- |/ Obsfate: reworded as fdf9bde5129a; reworded as 65b757b745b9
- |
- o ea207398892e
-
-
- $ hg fatelogjson --hidden
- o 019fadeab383 []
- |
- | x 65b757b745b9 [{"markers": [["65b757b745b935093c87a2bccd877521cccffcbd", ["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"], 0, [["ef1", "1"], ["user", "test"]], [*, *], null]], "max_date": [*, *], "min_date": [*, *], "successors": ["019fadeab383f6699fa83ad7bdb4d82ed2c0e5ab"], "users": ["test"], "verb": "reworded"}] (glob)
- |/
- | @ fdf9bde5129a []
- |/
- | x 471f378eab4c [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], 0, [["ef1", "1"], ["user", "test"]], [*, *], null]], "max_date": [*, *], "min_date": [*, *], "successors": ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], "users": ["test"], "verb": "reworded"}, {"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["65b757b745b935093c87a2bccd877521cccffcbd"], 0, [["ef1", "1"], ["user", "test"]], [*, *], null]], "max_date": [*, *], "min_date": [*, *], "successors": ["65b757b745b935093c87a2bccd877521cccffcbd"], "users": ["test"], "verb": "reworded"}] (glob)
- |/
- o ea207398892e []
-
Test templates with amended + folded commit
===========================================
@@ -844,16 +586,6 @@
| @ 471f378eab4c
|/ Successors: [eb5a0daa2192]
| semi-colon: [eb5a0daa2192]
- | Fate: rewritten as eb5a0daa2192
- |
- o ea207398892e
-
- $ hg fatelog
- o eb5a0daa2192
- |
- | @ 471f378eab4c
- |/ Obsfate: rewritten as eb5a0daa2192
- |
o ea207398892e
$ hg up 'desc(B0)' --hidden
@@ -867,24 +599,9 @@
| @ 0dec01379d3b
| | Successors: [eb5a0daa2192]
| | semi-colon: [eb5a0daa2192]
- | | Fate: rewritten as eb5a0daa2192
- | |
| x 471f378eab4c
|/ Successors: [eb5a0daa2192]
| semi-colon: [eb5a0daa2192]
- | Fate: rewritten as eb5a0daa2192
- |
- o ea207398892e
-
- $ hg fatelog
- o eb5a0daa2192
- |
- | @ 0dec01379d3b
- | | Obsfate: rewritten as eb5a0daa2192
- | |
- | x 471f378eab4c
- |/ Obsfate: rewritten as eb5a0daa2192
- |
o ea207398892e
@@ -899,24 +616,9 @@
| @ b7ea6d14e664
| | Successors: [eb5a0daa2192]
| | semi-colon: [eb5a0daa2192]
- | | Fate: rewritten as eb5a0daa2192
- | |
| x 471f378eab4c
|/ Successors: [eb5a0daa2192]
| semi-colon: [eb5a0daa2192]
- | Fate: rewritten as eb5a0daa2192
- |
- o ea207398892e
-
- $ hg fatelog
- o eb5a0daa2192
- |
- | @ b7ea6d14e664
- | | Obsfate: rewritten as eb5a0daa2192
- | |
- | x 471f378eab4c
- |/ Obsfate: rewritten as eb5a0daa2192
- |
o ea207398892e
@@ -936,46 +638,14 @@
| | semi-colon: 0dec01379d3b
| | Successors: [eb5a0daa2192]
| | semi-colon: [eb5a0daa2192]
- | | Fate: rewritten as eb5a0daa2192
- | |
| | x 0dec01379d3b
| |/ Successors: [b7ea6d14e664]
| | semi-colon: [b7ea6d14e664]
- | | Fate: reworded as b7ea6d14e664
- | |
| x 471f378eab4c
|/ Successors: [eb5a0daa2192]
| semi-colon: [eb5a0daa2192]
- | Fate: rewritten as eb5a0daa2192
- |
o ea207398892e
- $ hg fatelog --hidden
- @ eb5a0daa2192
- |
- | x b7ea6d14e664
- | | Obsfate: rewritten as eb5a0daa2192
- | |
- | | x 0dec01379d3b
- | |/ Obsfate: reworded as b7ea6d14e664
- | |
- | x 471f378eab4c
- |/ Obsfate: rewritten as eb5a0daa2192
- |
- o ea207398892e
-
- $ hg fatelogjson --hidden
- @ eb5a0daa2192 []
- |
- | x b7ea6d14e664 [{"markers": [["b7ea6d14e664bdc8922221f7992631b50da3fb07", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["ef1", "13"], ["user", "test"]], [*, 0], null]], "max_date": [*, 0], "min_date": [*, 0], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], "users": ["test"], "verb": "rewritten"}] (glob)
- | |
- | | x 0dec01379d3b [{"markers": [["0dec01379d3be6318c470ead31b1fe7ae7cb53d5", ["b7ea6d14e664bdc8922221f7992631b50da3fb07"], 0, [["ef1", "1"], ["user", "test"]], [*, *], null]], "max_date": [*, *], "min_date": [*, *], "successors": ["b7ea6d14e664bdc8922221f7992631b50da3fb07"], "users": ["test"], "verb": "reworded"}] (glob)
- | |/
- | x 471f378eab4c [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], 0, [["ef1", "9"], ["user", "test"]], [*, 0], null]], "max_date": [*, 0], "min_date": [*, 0], "successors": ["eb5a0daa21923bbf8caeb2c42085b9e463861fd0"], "users": ["test"], "verb": "rewritten"}] (glob)
- |/
- o ea207398892e []
-
-
Test template with pushed and pulled obs markers
==============================================
@@ -1069,497 +739,6 @@
| @ 471f378eab4c
|/ Successors: [7a230b46bf61]
| semi-colon: [7a230b46bf61]
- | Fate: reworded as 7a230b46bf61
- |
- o ea207398892e
-
- $ hg fatelog --hidden -v
- o 7a230b46bf61
- |
- | @ 471f378eab4c
- |/ Obsfate: reworded as 7a230b46bf61 by test (*) (glob)
- |
- o ea207398892e
-
- $ hg up 'desc(A2)'
- 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
- $ hg tlog
- @ 7a230b46bf61
- |
- o ea207398892e
-
- $ hg fatelog -v
- @ 7a230b46bf61
- |
- o ea207398892e
-
- $ hg tlog --hidden
- @ 7a230b46bf61
- | Precursors: 471f378eab4c
- | semi-colon: 471f378eab4c
- | x 471f378eab4c
- |/ Successors: [7a230b46bf61]
- | semi-colon: [7a230b46bf61]
- | Fate: reworded as 7a230b46bf61
- |
- o ea207398892e
-
- $ hg fatelog --hidden -v
- @ 7a230b46bf61
- |
- | x 471f378eab4c
- |/ Obsfate: reworded as 7a230b46bf61 by test (*) (glob)
- |
- o ea207398892e
-
-
- $ hg fatelogjson --hidden
- @ 7a230b46bf61 []
- |
- | x 471f378eab4c [{"markers": [["471f378eab4c5e25f6c77f785b27c936efb22874", ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e"], 0, [["ef1", "1"], ["user", "test"]], [*, *], null], ["fdf9bde5129a28d4548fadd3f62b265cdd3b7a2e", ["7a230b46bf61e50b30308c6cfd7bd1269ef54702"], 0, [["ef1", "1"], ["user", "test"]], [*, *], null]], "max_date": [*, *], "min_date": [*, *], "successors": ["7a230b46bf61e50b30308c6cfd7bd1269ef54702"], "users": ["test"], "verb": "reworded"}] (glob)
- |/
- o ea207398892e []
-
-
-Test template with obsmarkers cycle
-===================================
-
-Test setup
-----------
-
- $ hg init $TESTTMP/templates-local-cycle
- $ cd $TESTTMP/templates-local-cycle
- $ mkcommit ROOT
- $ mkcommit A0
- $ mkcommit B0
- $ hg up -r 0
- 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
- $ mkcommit C0
- created new head
-
-Create the cycle
-
- $ hg debugobsolete `getid "desc(A0)"` `getid "desc(B0)"`
- $ hg debugobsolete `getid "desc(B0)"` `getid "desc(C0)"`
- $ hg debugobsolete `getid "desc(B0)"` `getid "desc(A0)"`
-
-Check templates
----------------
-
- $ hg tlog
- @ f897c6137566
- |
- o ea207398892e
-
- $ hg fatelog
- @ f897c6137566
- |
- o ea207398892e
-
- $ hg up -r "desc(B0)" --hidden
- 2 files updated, 0 files merged, 1 files removed, 0 files unresolved
- working directory parent is obsolete! (0dec01379d3b)
- (use 'hg evolve' to update to its parent successor)
- $ hg tlog
- o f897c6137566
- | Precursors: 0dec01379d3b
- | semi-colon: 0dec01379d3b
- | @ 0dec01379d3b
- | | Precursors: 471f378eab4c
- | | semi-colon: 471f378eab4c
- | | Successors: [f897c6137566], [471f378eab4c]
- | | semi-colon: [f897c6137566]; [471f378eab4c]
- | | Fate: rewritten as f897c6137566
- | | Fate: rewritten as 471f378eab4c
- | |
- | x 471f378eab4c
- |/ Precursors: 0dec01379d3b
- | semi-colon: 0dec01379d3b
- | Successors: [0dec01379d3b]
- | semi-colon: [0dec01379d3b]
- | Fate: rewritten as 0dec01379d3b
- |
- o ea207398892e
-
- $ hg fatelog
- o f897c6137566
- |
- | @ 0dec01379d3b
- | | Obsfate: rewritten as f897c6137566; rewritten as 471f378eab4c
- | |
- | x 471f378eab4c
- |/ Obsfate: rewritten as 0dec01379d3b
- |
- o ea207398892e
-
- $ hg up -r "desc(A0)" --hidden
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- working directory parent is obsolete! (471f378eab4c)
- (use 'hg evolve' to update to its parent successor)
- $ hg tlog
- o f897c6137566
- | Precursors: 471f378eab4c
- | semi-colon: 471f378eab4c
- | @ 471f378eab4c
- |/ Fate: pruned
- |
- o ea207398892e
-
- $ hg fatelog
- o f897c6137566
- |
- | @ 471f378eab4c
- |/ Obsfate: pruned
- |
- o ea207398892e
-
-
- $ hg up -r "desc(ROOT)" --hidden
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ hg tlog
- o f897c6137566
- |
- @ ea207398892e
-
- $ hg fatelog
- o f897c6137566
- |
- @ ea207398892e
-
- $ hg tlog --hidden
- o f897c6137566
- | Precursors: 0dec01379d3b
- | semi-colon: 0dec01379d3b
- | x 0dec01379d3b
- | | Precursors: 471f378eab4c
- | | semi-colon: 471f378eab4c
- | | Successors: [f897c6137566], [471f378eab4c]
- | | semi-colon: [f897c6137566]; [471f378eab4c]
- | | Fate: rewritten as f897c6137566
- | | Fate: rewritten as 471f378eab4c
- | |
- | x 471f378eab4c
- |/ Precursors: 0dec01379d3b
- | semi-colon: 0dec01379d3b
- | Successors: [0dec01379d3b]
- | semi-colon: [0dec01379d3b]
- | Fate: rewritten as 0dec01379d3b
- |
- @ ea207398892e
-
-Test template with split + divergence with cycles
-=================================================
-
- $ hg log -G
- o changeset: 3:f897c6137566
- | tag: tip
- | parent: 0:ea207398892e
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: C0
- |
- @ changeset: 0:ea207398892e
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: ROOT
-
- $ hg up
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
-Create a commit with three files
- $ touch A B C
- $ hg commit -A -m "Add A,B,C" A B C
-
-Split it
- $ hg up 3
- 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
- $ touch A
- $ hg commit -A -m "Add A,B,C" A
- created new head
-
- $ touch B
- $ hg commit -A -m "Add A,B,C" B
-
- $ touch C
- $ hg commit -A -m "Add A,B,C" C
-
- $ hg log -G
- @ changeset: 7:ba2ed02b0c9a
- | tag: tip
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: Add A,B,C
- |
- o changeset: 6:4a004186e638
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: Add A,B,C
- |
- o changeset: 5:dd800401bd8c
- | parent: 3:f897c6137566
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: Add A,B,C
- |
- | o changeset: 4:9bd10a0775e4
- |/ user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: Add A,B,C
- |
- o changeset: 3:f897c6137566
- | parent: 0:ea207398892e
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: C0
- |
- o changeset: 0:ea207398892e
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: ROOT
-
- $ hg debugobsolete `getid "4"` `getid "5"` `getid "6"` `getid "7"`
- $ hg log -G
- @ changeset: 7:ba2ed02b0c9a
- | tag: tip
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: Add A,B,C
- |
- o changeset: 6:4a004186e638
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: Add A,B,C
- |
- o changeset: 5:dd800401bd8c
- | parent: 3:f897c6137566
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: Add A,B,C
- |
- o changeset: 3:f897c6137566
- | parent: 0:ea207398892e
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: C0
- |
- o changeset: 0:ea207398892e
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: ROOT
-
-Diverge one of the splitted commit
-
- $ hg up 6
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ hg commit --amend -m "Add only B"
- 1 new unstable changesets
-
- $ hg up 6 --hidden
- 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
- working directory parent is obsolete! (4a004186e638)
- (use 'hg evolve' to update to its successor: b18bc8331526)
- $ hg commit --amend -m "Add B only"
- 4 new divergent changesets
-
- $ hg log -G
- @ changeset: 9:0b997eb7ceee
- | tag: tip
- | parent: 5:dd800401bd8c
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | trouble: divergent
- | summary: Add B only
- |
- | o changeset: 8:b18bc8331526
- |/ parent: 5:dd800401bd8c
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | trouble: divergent
- | summary: Add only B
- |
- | o changeset: 7:ba2ed02b0c9a
- | | user: test
- | | date: Thu Jan 01 00:00:00 1970 +0000
- | | trouble: unstable, divergent
- | | summary: Add A,B,C
- | |
- | x changeset: 6:4a004186e638
- |/ user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: Add A,B,C
- |
- o changeset: 5:dd800401bd8c
- | parent: 3:f897c6137566
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | trouble: divergent
- | summary: Add A,B,C
- |
- o changeset: 3:f897c6137566
- | parent: 0:ea207398892e
- | user: test
- | date: Thu Jan 01 00:00:00 1970 +0000
- | summary: C0
- |
- o changeset: 0:ea207398892e
- user: test
- date: Thu Jan 01 00:00:00 1970 +0000
- summary: ROOT
-
-Check templates
----------------
-
- $ hg tlog
- @ 0b997eb7ceee
- | Precursors: 4a004186e638
- | semi-colon: 4a004186e638
- | o b18bc8331526
- |/ Precursors: 4a004186e638
- | semi-colon: 4a004186e638
- | o ba2ed02b0c9a
- | |
- | x 4a004186e638
- |/ Successors: [b18bc8331526], [0b997eb7ceee]
- | semi-colon: [b18bc8331526]; [0b997eb7ceee]
- | Fate: reworded as b18bc8331526
- | Fate: reworded as 0b997eb7ceee
- |
- o dd800401bd8c
- |
- o f897c6137566
- |
- o ea207398892e
-
- $ hg fatelog
- @ 0b997eb7ceee
- |
- | o b18bc8331526
- |/
- | o ba2ed02b0c9a
- | |
- | x 4a004186e638
- |/ Obsfate: reworded as b18bc8331526; reworded as 0b997eb7ceee
- |
- o dd800401bd8c
- |
- o f897c6137566
- |
- o ea207398892e
-
- $ hg tlog --hidden
- @ 0b997eb7ceee
- | Precursors: 4a004186e638
- | semi-colon: 4a004186e638
- | o b18bc8331526
- |/ Precursors: 4a004186e638
- | semi-colon: 4a004186e638
- | o ba2ed02b0c9a
- | | Precursors: 9bd10a0775e4
- | | semi-colon: 9bd10a0775e4
- | x 4a004186e638
- |/ Precursors: 9bd10a0775e4
- | semi-colon: 9bd10a0775e4
- | Successors: [b18bc8331526], [0b997eb7ceee]
- | semi-colon: [b18bc8331526]; [0b997eb7ceee]
- | Fate: reworded as b18bc8331526
- | Fate: reworded as 0b997eb7ceee
- |
- o dd800401bd8c
- | Precursors: 9bd10a0775e4
- | semi-colon: 9bd10a0775e4
- | x 9bd10a0775e4
- |/ Successors: [dd800401bd8c, 4a004186e638, ba2ed02b0c9a]
- | semi-colon: [dd800401bd8c, 4a004186e638, ba2ed02b0c9a]
- | Fate: split as 4a004186e638, ba2ed02b0c9a, dd800401bd8c
- |
- o f897c6137566
- | Precursors: 0dec01379d3b
- | semi-colon: 0dec01379d3b
- | x 0dec01379d3b
- | | Precursors: 471f378eab4c
- | | semi-colon: 471f378eab4c
- | | Successors: [f897c6137566], [471f378eab4c]
- | | semi-colon: [f897c6137566]; [471f378eab4c]
- | | Fate: rewritten as f897c6137566
- | | Fate: rewritten as 471f378eab4c
- | |
- | x 471f378eab4c
- |/ Precursors: 0dec01379d3b
- | semi-colon: 0dec01379d3b
- | Successors: [0dec01379d3b]
- | semi-colon: [0dec01379d3b]
- | Fate: rewritten as 0dec01379d3b
- |
- o ea207398892e
-
- $ hg fatelog --hidden
- @ 0b997eb7ceee
- |
- | o b18bc8331526
- |/
- | o ba2ed02b0c9a
- | |
- | x 4a004186e638
- |/ Obsfate: reworded as b18bc8331526; reworded as 0b997eb7ceee
- |
- o dd800401bd8c
- |
- | x 9bd10a0775e4
- |/ Obsfate: split as 4a004186e638, ba2ed02b0c9a, dd800401bd8c
- |
- o f897c6137566
- |
- | x 0dec01379d3b
- | | Obsfate: rewritten as f897c6137566; rewritten as 471f378eab4c
- | |
- | x 471f378eab4c
- |/ Obsfate: rewritten as 0dec01379d3b
- |
- o ea207398892e
-
- $ hg up --hidden 4
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
- working directory parent is obsolete! (9bd10a0775e4)
- (9bd10a0775e4 has diverged, use 'hg evolve --list --content-divergent' to resolve the issue)
- $ hg rebase -r 7 -d 8 --config extensions.rebase=
- rebasing 7:ba2ed02b0c9a "Add A,B,C"
- $ hg tlog
- o eceed8f98ffc
- | Precursors: 9bd10a0775e4
- | semi-colon: 9bd10a0775e4
- | o 0b997eb7ceee
- | | Precursors: 9bd10a0775e4
- | | semi-colon: 9bd10a0775e4
- o | b18bc8331526
- |/ Precursors: 9bd10a0775e4
- | semi-colon: 9bd10a0775e4
- o dd800401bd8c
- | Precursors: 9bd10a0775e4
- | semi-colon: 9bd10a0775e4
- | @ 9bd10a0775e4
- |/ Successors: [dd800401bd8c, 0b997eb7ceee, eceed8f98ffc], [dd800401bd8c, b18bc8331526, eceed8f98ffc]
- | semi-colon: [dd800401bd8c, 0b997eb7ceee, eceed8f98ffc]; [dd800401bd8c, b18bc8331526, eceed8f98ffc]
- | Fate: split as 0b997eb7ceee, dd800401bd8c, eceed8f98ffc
- | Fate: split as b18bc8331526, dd800401bd8c, eceed8f98ffc
- |
- o f897c6137566
- |
- o ea207398892e
-
- $ hg fatelog
- o eceed8f98ffc
- |
- | o 0b997eb7ceee
- | |
- o | b18bc8331526
- |/
- o dd800401bd8c
- |
- | @ 9bd10a0775e4
- |/ Obsfate: split as 0b997eb7ceee, dd800401bd8c, eceed8f98ffc; split as b18bc8331526, dd800401bd8c, eceed8f98ffc
- |
- o f897c6137566
- |
o ea207398892e
Test templates with pruned commits
@@ -1586,13 +765,6 @@
(use 'hg evolve' to update to its parent successor)
$ hg tlog
@ 471f378eab4c
- | Fate: pruned
|
o ea207398892e
- $ hg fatelog -v
- @ 471f378eab4c
- | Obsfate: pruned by test (at *) (glob)
- |
- o ea207398892e
-
--- a/tests/test-evolve-topic.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-evolve-topic.t Wed Mar 21 16:35:18 2018 +0100
@@ -267,113 +267,3 @@
$ hg prev
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
[20] add fff
-
-Testing issue 5708 when we are on obsolete changeset and there is active topic
-------------------------------------------------------------------------------
-
- $ hg log --graph
- @ 20 - {bar} 793eb6370b2d add fff (draft)
- |
- | o 19 - {bar} 9bf430c106b7 add jjj (draft)
- | |
- | o 18 - {bar} d2dc89c57700 add iii (draft)
- | |
- | o 17 - {bar} 20bc4d02aa62 add hhh (draft)
- | |
- | o 16 - {bar} 16d6f664b17c add ggg (draft)
- | |
- | x 15 - {foo} 070c5573d8f9 add fff (draft)
- |/
- o 14 - {foo} 42b49017ff90 add eee (draft)
- |
- o 11 - {foo} d9cacd156ffc add ddd (draft)
- |
- o 2 - {foo} cced9bac76e3 add ccc (draft)
- |
- o 1 - {} a4dbed0837ea add bbb (draft)
- |
- o 0 - {} 199cc73e9a0b add aaa (draft)
-
-
- $ hg topic
- * bar (5 changesets, 4 troubled)
- foo (3 changesets)
-
-When the current topic, obsoleted changesets topic and successor topic are same
-
- $ hg up 20bc4d02aa62
- 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
- $ echo foobar >> hhh
- $ hg amend
- $ hg up 20bc4d02aa62
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
- working directory parent is obsolete! (20bc4d02aa62)
- (use 'hg evolve' to update to its successor: d834582d9ee3)
- $ hg log -Gr 14::
- o 22 - {bar} d834582d9ee3 add hhh (draft)
- |
- | o 20 - {bar} 793eb6370b2d add fff (draft)
- | |
- | | o 19 - {bar} 9bf430c106b7 add jjj (draft)
- | | |
- | | o 18 - {bar} d2dc89c57700 add iii (draft)
- | | |
- +---@ 17 - {bar} 20bc4d02aa62 add hhh (draft)
- | |
- o | 16 - {bar} 16d6f664b17c add ggg (draft)
- | |
- x | 15 - {foo} 070c5573d8f9 add fff (draft)
- |/
- o 14 - {foo} 42b49017ff90 add eee (draft)
- |
- ~
-
- $ hg prev
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- [16] add ggg
-
-When the current topic and successors topic are same, but obsolete cset has
-different topic
-
- $ hg rebase -s d2dc89c57700 -d d834582d9ee3 --config extensions.rebase=
- rebasing 18:d2dc89c57700 "add iii"
- rebasing 19:9bf430c106b7 "add jjj"
- $ hg log -Gr 42b49017ff90::
- o 24 - {bar} 7542e76aba2c add jjj (draft)
- |
- o 23 - {bar} 7858bd7e9906 add iii (draft)
- |
- o 22 - {bar} d834582d9ee3 add hhh (draft)
- |
- | o 20 - {bar} 793eb6370b2d add fff (draft)
- | |
- @ | 16 - {bar} 16d6f664b17c add ggg (draft)
- | |
- x | 15 - {foo} 070c5573d8f9 add fff (draft)
- |/
- o 14 - {foo} 42b49017ff90 add eee (draft)
- |
- ~
-
- $ hg up 070c5573d8f9
- switching to topic foo
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- working directory parent is obsolete! (070c5573d8f9)
- (use 'hg evolve' to update to its successor: 793eb6370b2d)
-
- $ hg topic bar
-
- $ hg prev
- no parent in topic "bar"
- (do you want --no-topic)
- [1]
-
-When current topic and obsolete cset topic are same but successor has different
-one
-
- $ hg up 070c5573d8f9
- switching to topic foo
- 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
- $ hg prev
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- [14] add eee
--- a/tests/test-evolve.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-evolve.t Wed Mar 21 16:35:18 2018 +0100
@@ -92,8 +92,9 @@
Orphans are changesets left behind when their ancestors are rewritten,
(currently: 'unstable'). Divergence has two variants:
- * Content-divergence occurs when independent rewrites of the same
- changesets lead to different results. (currently: 'divergent')
+ * Content-divergence occurs when independent rewrites of the same changesets
+ lead to different results. (currently: 'divergent')
+
* Phase-divergence occurs when the old (obsolete) version of a changeset
becomes public. (currently: 'bumped')
--- a/tests/test-exchange-obsmarkers-case-B5.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-exchange-obsmarkers-case-B5.t Wed Mar 21 16:35:18 2018 +0100
@@ -158,7 +158,7 @@
(run 'hg update' to get a working copy)
## post pull state
# obstore: main
- 069b05c3876d56f62895e853a501ea58ea85f68d 0 {e5ea8f9c73143125d36658e90ef70c6d2027a5b7} (Thu Jan 01 00:00:00 1970 +0000) {'ef1': '0', 'user': 'test'}
+ 069b05c3876d56f62895e853a501ea58ea85f68d 0 {e5ea8f9c73143125d36658e90ef70c6d2027a5b7} (*) {'ef1': '*', 'user': 'test'} (glob)
28b51eb45704506b5c603decd6bf7ac5e0f6a52f e5ea8f9c73143125d36658e90ef70c6d2027a5b7 0 (*) {'user': 'test'} (glob)
6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 069b05c3876d56f62895e853a501ea58ea85f68d 0 (*) {'user': 'test'} (glob)
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 6e72f0a95b5e01a7504743aa941f69cb1fbef8b0 0 (*) {'user': 'test'} (glob)
--- a/tests/test-fold.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-fold.t Wed Mar 21 16:35:18 2018 +0100
@@ -113,7 +113,7 @@
$ hg fold --from 6 # want to run hg fold 6
abort: hidden revision '6'!
- (use --hidden to access hidden revisions; successor: 198b5c405d01)
+ (use --hidden to access hidden revisions)
[255]
$ hg log -G
--- a/tests/test-grab.t Wed Mar 21 16:32:54 2018 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,331 +0,0 @@
-Test for the grab command
-
- $ cat >> $HGRCPATH <<EOF
- > [alias]
- > glog = log -G -T "{rev}:{node|short} {desc}\n"
- > [extensions]
- > EOF
- $ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
-
- $ mkcommit() {
- > echo "$1" > "$1"
- > hg add "$1"
- > hg ci -m "add $1"
- > }
-
- $ hg init repo
- $ cd repo
- $ hg help grab
- hg grab [-r] rev
-
- grabs a commit, move it on the top of working directory parent and
- updates to it.
-
- options:
-
- -r --rev VALUE revision to grab
- -c --continue continue interrupted grab
- -a --abort abort interrupted grab
-
- (some details hidden, use --verbose to show complete help)
-
- $ mkcommit a
- $ mkcommit b
- $ mkcommit c
-
- $ hg glog
- @ 2:4538525df7e2 add c
- |
- o 1:7c3bad9141dc add b
- |
- o 0:1f0dee641bb7 add a
-
-
-Grabbing an ancestor
-
- $ hg grab -r 7c3bad9141dc
- abort: cannot grab an ancestor revision
- [255]
-
-Grabbing the working directory parent
-
- $ hg grab -r .
- abort: cannot grab an ancestor revision
- [255]
-
-Specifying multiple revisions to grab
-
- $ hg grab 1f0dee641bb7 -r 7c3bad9141dc
- abort: specify just one revision
- [255]
-
-Specifying no revisions to grab
-
- $ hg grab
- abort: empty revision set
- [255]
-
-Continuing without interrupted grab
-
- $ hg grab --continue
- abort: no interrupted grab state exists
- [255]
-
-Aborting without interrupted grab
-
- $ hg grab --abort
- abort: no interrupted grab state exists
- [255]
-
-Specifying both continue and revs
-
- $ hg up 1f0dee641bb7
- 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
- $ hg grab -r 4538525df7e2 --continue
- abort: cannot specify both --continue and revision
- [255]
-
-Making new branch heads
-
- $ mkcommit x
- created new head
- $ mkcommit y
-
- $ hg glog
- @ 4:d46dc301d92f add y
- |
- o 3:8e224524cd09 add x
- |
- | o 2:4538525df7e2 add c
- | |
- | o 1:7c3bad9141dc add b
- |/
- o 0:1f0dee641bb7 add a
-
-Grabbing a revision
-
- $ hg grab 7c3bad9141dc
- grabbing 1:7c3bad9141dc "add b"
- $ hg glog
- @ 5:7c15c05db6fa add b
- |
- o 4:d46dc301d92f add y
- |
- o 3:8e224524cd09 add x
- |
- | o 2:4538525df7e2 add c
- | |
- | x 1:7c3bad9141dc add b
- |/
- o 0:1f0dee641bb7 add a
-
-
-When grab does not create any changes
-
- $ hg graft -r 4538525df7e2
- grafting 2:4538525df7e2 "add c"
-
- $ hg glog
- @ 6:c4636a81ebeb add c
- |
- o 5:7c15c05db6fa add b
- |
- o 4:d46dc301d92f add y
- |
- o 3:8e224524cd09 add x
- |
- | o 2:4538525df7e2 add c
- | |
- | x 1:7c3bad9141dc add b
- |/
- o 0:1f0dee641bb7 add a
-
- $ hg grab -r 4538525df7e2
- grabbing 2:4538525df7e2 "add c"
- note: grab of 2:4538525df7e2 created no changes to commit
-
- $ hg glog
- @ 6:c4636a81ebeb add c
- |
- o 5:7c15c05db6fa add b
- |
- o 4:d46dc301d92f add y
- |
- o 3:8e224524cd09 add x
- |
- o 0:1f0dee641bb7 add a
-
-interrupted grab
-
- $ hg up d46dc301d92f
- 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
- $ echo foo > c
- $ hg ci -Aqm "foo to c"
- $ hg grab -r c4636a81ebeb
- grabbing 6:c4636a81ebeb "add c"
- merging c
- warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
- unresolved merge conflicts (see hg help resolve)
- [1]
-
- $ echo foobar > c
- $ hg resolve --all --mark
- (no more unresolved files)
- continue: hg grab --continue
- $ hg grab --continue
- $ hg glog
- @ 8:44e155eb95c7 add c
- |
- o 7:2ccc03d1d096 foo to c
- |
- | o 5:7c15c05db6fa add b
- |/
- o 4:d46dc301d92f add y
- |
- o 3:8e224524cd09 add x
- |
- o 0:1f0dee641bb7 add a
-
-
-When interrupted grab results in no changes to commit
-
- $ hg up d46dc301d92f
- 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
- $ echo bar > c
- $ hg add c
- $ hg ci -m "foo to c"
- created new head
-
- $ hg up 44e155eb95c7
- 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
-
- $ hg grab 4e04628911f6
- grabbing 9:4e04628911f6 "foo to c"
- merging c
- warning: conflicts while merging c! (edit, then use 'hg resolve --mark')
- unresolved merge conflicts (see hg help resolve)
- [1]
- $ echo foobar > c
- $ hg resolve -m
- (no more unresolved files)
- continue: hg grab --continue
-
- $ hg grab --continue
- note: grab of 9:4e04628911f6 created no changes to commit
-
-Testing the abort functionality of hg grab
-
- $ echo foo > b
- $ hg ci -Aqm "foo to b"
- $ hg glog -r .^::
- hg: parse error at 4: not a prefix: end
- [255]
-
- $ hg grab -r 7c15c05db6fa
- grabbing 5:7c15c05db6fa "add b"
- merging b
- warning: conflicts while merging b! (edit, then use 'hg resolve --mark')
- unresolved merge conflicts (see hg help resolve)
- [1]
-
- $ hg grab --abort
- aborting grab, updating to c437988de89f
-
- $ hg glog
- @ 10:c437988de89f foo to b
- |
- o 8:44e155eb95c7 add c
- |
- o 7:2ccc03d1d096 foo to c
- |
- | o 5:7c15c05db6fa add b
- |/
- o 4:d46dc301d92f add y
- |
- o 3:8e224524cd09 add x
- |
- o 0:1f0dee641bb7 add a
-
-
-Trying to grab a public changeset
-
- $ hg phase -r 7c15c05db6fa -p
-
- $ hg grab -r 7c15c05db6fa
- abort: cannot grab public changesets: 7c15c05db6fa
- (see 'hg help phases' for details)
- [255]
-
- $ hg glog
- @ 10:c437988de89f foo to b
- |
- o 8:44e155eb95c7 add c
- |
- o 7:2ccc03d1d096 foo to c
- |
- | o 5:7c15c05db6fa add b
- |/
- o 4:d46dc301d92f add y
- |
- o 3:8e224524cd09 add x
- |
- o 0:1f0dee641bb7 add a
-
-Checking phase preservation while grabbing secret changeset
-
-In case of merge conflicts
-
- $ hg phase -r 7c15c05db6fa -s -f
-
- $ hg grab -r 7c15c05db6fa
- grabbing 5:7c15c05db6fa "add b"
- merging b
- warning: conflicts while merging b! (edit, then use 'hg resolve --mark')
- unresolved merge conflicts (see hg help resolve)
- [1]
-
- $ echo bar > b
- $ hg resolve -m
- (no more unresolved files)
- continue: hg grab --continue
-
- $ hg grab --continue
- $ hg phase -r .
- 11: secret
-
-No merge conflicts
-
- $ hg up d46dc301d92f
- 0 files updated, 0 files merged, 3 files removed, 0 files unresolved
- $ echo foo > l
- $ hg add l
- $ hg ci -qm "added l" --secret
-
- $ hg phase -r .
- 12: secret
-
- $ hg glog
- @ 12:508d572e7053 added l
- |
- | o 11:10427de9e26e add b
- | |
- | o 10:c437988de89f foo to b
- | |
- | o 8:44e155eb95c7 add c
- | |
- | o 7:2ccc03d1d096 foo to c
- |/
- o 4:d46dc301d92f add y
- |
- o 3:8e224524cd09 add x
- |
- o 0:1f0dee641bb7 add a
-
- $ hg up 10427de9e26e
- 3 files updated, 0 files merged, 1 files removed, 0 files unresolved
-
- $ hg grab -r 508d572e7053
- grabbing 12:508d572e7053 "added l"
-
- $ hg phase -r .
- 13: secret
--- a/tests/test-obsolete.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-obsolete.t Wed Mar 21 16:35:18 2018 +0100
@@ -10,6 +10,7 @@
> debugobsolete=debugobsolete -d '0 0'
> [extensions]
> hgext.rebase=
+ > color =
> EOF
$ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
$ mkcommit() {
@@ -274,7 +275,7 @@
adding file changes
added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
1 new obsolescence markers
- (run 'hg heads' to see heads, 'hg merge' to merge)
+ (run 'hg heads .' to see heads, 'hg merge' to merge)
$ qlog -R ../other-new
6
- 909a0fb57e5d
@@ -364,7 +365,7 @@
adding file changes
added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
1 new obsolescence markers
- (run 'hg heads' to see heads, 'hg merge' to merge)
+ (run 'hg heads .' to see heads, 'hg merge' to merge)
$ hg up -q 7 # to check rollback update behavior
$ qlog
--- a/tests/test-prev-next.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-prev-next.t Wed Mar 21 16:35:18 2018 +0100
@@ -2,6 +2,7 @@
> [ui]
> interactive = True
> [extensions]
+ > color =
> EOF
$ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
--- a/tests/test-prune.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-prune.t Wed Mar 21 16:35:18 2018 +0100
@@ -2,6 +2,7 @@
> [ui]
> logtemplate={rev}:{node|short}[{bookmarks}] ({separate('/', obsolete ,phase)}) {desc|firstline}\n
> [extensions]
+ > color =
> EOF
$ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
@@ -307,7 +308,7 @@
1 changesets pruned
$ hg id -ir dcbb326fdec2
abort: hidden revision 'dcbb326fdec2'!
- (use --hidden to access hidden revisions; pruned)
+ (use --hidden to access hidden revisions)
[255]
$ hg id -ir d62d843c9a01
d62d843c9a01
@@ -341,7 +342,7 @@
$ hg tag --remove --local c
$ hg id -ir 6:2702dd0c91e7
abort: hidden revision '6'!
- (use --hidden to access hidden revisions; pruned)
+ (use --hidden to access hidden revisions)
[255]
$ hg debugobsstorestat
--- a/tests/test-topic-change.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-topic-change.t Wed Mar 21 16:35:18 2018 +0100
@@ -98,7 +98,7 @@
foo (8 changesets)
Changing topics on some revisions (also testing issue 5441)
- $ hg topic -r abcedffeae90:: bar
+ $ hg topic -r 12:: bar
switching to topic bar
changed topic on 4 changes
$ hg glog
--- a/tests/test-topic-stack-complex.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-topic-stack-complex.t Wed Mar 21 16:35:18 2018 +0100
@@ -12,7 +12,6 @@
> [defaults]
> split = -d "0 "0
> [extensions]
- > show =
> EOF
$ echo "evolve=$(echo $(dirname $TESTDIR))/hgext3rd/evolve/" >> $HGRCPATH
@@ -33,11 +32,31 @@
$ echo e > e
$ echo f > f
$ hg ci -Aqm "Added e and f"
- $ hg show work
- @ f1d36 Added e and f
- o 8e825 Added c and d
- o 002b8 Added a and b
- o f3603 Added foo
+ $ hg log -G
+ @ changeset: 3:f1d3649d6a8b
+ | tag: tip
+ | topic: foo
+ | user: test
+ | date: Thu Jan 01 00:00:00 1970 +0000
+ | summary: Added e and f
+ |
+ o changeset: 2:8e8251e8193b
+ | topic: foo
+ | user: test
+ | date: Thu Jan 01 00:00:00 1970 +0000
+ | summary: Added c and d
+ |
+ o changeset: 1:002b85930b9c
+ | topic: foo
+ | user: test
+ | date: Thu Jan 01 00:00:00 1970 +0000
+ | summary: Added a and b
+ |
+ o changeset: 0:f3603c09ac10
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: Added foo
+
Testing in case of split within the topic
@@ -93,14 +112,45 @@
t1: Added a and b
t0^ Added foo (base)
- $ hg show work
- @ 5ccee split2
- o f26c1 split1
- | o f1d36 Added e and f
- | x 8e825 Added c and d
- |/
- o 002b8 Added a and b
- o f3603 Added foo
+ $ hg log -G
+ @ changeset: 5:5ccee6da565e
+ | tag: tip
+ | topic: foo
+ | user: test
+ | date: Thu Jan 01 00:00:00 1970 +0000
+ | summary: split2
+ |
+ o changeset: 4:f26c1b9addde
+ | topic: foo
+ | parent: 1:002b85930b9c
+ | user: test
+ | date: Thu Jan 01 00:00:00 1970 +0000
+ | summary: split1
+ |
+ | o changeset: 3:f1d3649d6a8b
+ | | topic: foo
+ | | user: test
+ | | date: Thu Jan 01 00:00:00 1970 +0000
+ | | trouble: unstable
+ | | summary: Added e and f
+ | |
+ | x changeset: 2:8e8251e8193b
+ |/ topic: foo
+ | user: test
+ | date: Thu Jan 01 00:00:00 1970 +0000
+ | summary: Added c and d
+ |
+ o changeset: 1:002b85930b9c
+ | topic: foo
+ | user: test
+ | date: Thu Jan 01 00:00:00 1970 +0000
+ | summary: Added a and b
+ |
+ o changeset: 0:f3603c09ac10
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: Added foo
+
$ hg prev
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
@@ -116,16 +166,54 @@
$ hg amend
1 new unstable changesets
- $ hg show work
- @ 7d944 split1
- | o 5ccee split2
- | x f26c1 split1
- |/
- | o f1d36 Added e and f
- | x 8e825 Added c and d
- |/
- o 002b8 Added a and b
- o f3603 Added foo
+
+ $ hg log -G
+ @ changeset: 7:7d9445714d83
+ | tag: tip
+ | topic: foo
+ | parent: 1:002b85930b9c
+ | user: test
+ | date: Thu Jan 01 00:00:00 1970 +0000
+ | summary: split1
+ |
+ | o changeset: 5:5ccee6da565e
+ | | topic: foo
+ | | user: test
+ | | date: Thu Jan 01 00:00:00 1970 +0000
+ | | trouble: unstable
+ | | summary: split2
+ | |
+ | x changeset: 4:f26c1b9addde
+ |/ topic: foo
+ | parent: 1:002b85930b9c
+ | user: test
+ | date: Thu Jan 01 00:00:00 1970 +0000
+ | summary: split1
+ |
+ | o changeset: 3:f1d3649d6a8b
+ | | topic: foo
+ | | user: test
+ | | date: Thu Jan 01 00:00:00 1970 +0000
+ | | trouble: unstable
+ | | summary: Added e and f
+ | |
+ | x changeset: 2:8e8251e8193b
+ |/ topic: foo
+ | user: test
+ | date: Thu Jan 01 00:00:00 1970 +0000
+ | summary: Added c and d
+ |
+ o changeset: 1:002b85930b9c
+ | topic: foo
+ | user: test
+ | date: Thu Jan 01 00:00:00 1970 +0000
+ | summary: Added a and b
+ |
+ o changeset: 0:f3603c09ac10
+ user: test
+ date: Thu Jan 01 00:00:00 1970 +0000
+ summary: Added foo
+
$ hg stack
### topic: foo (2 heads)
--- a/tests/test-topic-stack.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-topic-stack.t Wed Mar 21 16:35:18 2018 +0100
@@ -4,6 +4,8 @@
$ cat << EOF >> $HGRCPATH
+ > [extensions]
+ > color =
> [ui]
> logtemplate = {rev} {branch} \{{get(namespaces, "topics")}} {phase} {desc|firstline}\n
> [experimental]
--- a/tests/test-topic-tutorial.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-topic-tutorial.t Wed Mar 21 16:35:18 2018 +0100
@@ -1812,8 +1812,9 @@
$ cd client
We can now share these draft changesets:
+(4.1-tests needs the --force to proceed with the test)
- $ hg push ../non-publishing-server -r tools
+ $ hg push ../non-publishing-server -r tools --force
pushing to ../non-publishing-server
searching for changes
adding changesets
@@ -1857,12 +1858,13 @@
t0^ add a pair of shoes (base)
We can also add new changesets and share them:
+(4.1-tests needs the --force to proceed with the test)
$ echo screws >> shopping
$ hg commit -A -m "Adding screws"
- $ hg push ../non-publishing-server
+ $ hg push ../non-publishing-server --force
pushing to ../non-publishing-server
searching for changes
adding changesets
--- a/tests/test-tutorial.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-tutorial.t Wed Mar 21 16:35:18 2018 +0100
@@ -1066,6 +1066,7 @@
(run 'hg heads' to see heads, 'hg merge' to merge)
1 new unstable changesets
+
The new changeset "animal" is based on an old changeset of "bathroom". You can
see both version showing up in the log.
--- a/tests/test-unstable.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-unstable.t Wed Mar 21 16:35:18 2018 +0100
@@ -68,6 +68,153 @@
$ cd ..
===============================================================================
+Test instability resolution for a merge changeset unstable because one
+of its parent is obsolete
+Not supported yet
+==============================================================================
+
+ $ hg init test2
+ $ cd test2
+ $ mkcommit base
+ $ mkcommits _a
+ $ hg up "desc(base)"
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ mkcommit _c
+ created new head
+ $ hg merge "desc(_a)" >/dev/null
+ $ hg commit -m "merge"
+ $ hg up "desc(_a)"
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ hg amend -m "aprime"
+ 1 new unstable changesets
+ $ hg log -G
+ @ 4:47127ea62e5f@default(draft) aprime
+ |
+ | o 3:6b4280e33286@default(draft) merge
+ | |\
+ +---o 2:474da87dd33b@default(draft) add _c
+ | |
+ | x 1:b3264cec9506@default(draft) add _a
+ |/
+ o 0:b4952fcf48cf@default(draft) add base
+
+
+ $ hg evo --all --any --orphan
+ move:[3] merge
+ atop:[4] aprime
+ working directory is now at 0bf3f3a59c8c
+ $ hg log -G
+ @ 5:0bf3f3a59c8c@default(draft) merge
+ |\
+ | o 4:47127ea62e5f@default(draft) aprime
+ | |
+ o | 2:474da87dd33b@default(draft) add _c
+ |/
+ o 0:b4952fcf48cf@default(draft) add base
+
+
+ $ cd ..
+
+===============================================================================
+Test instability resolution for a merge changeset unstable because both
+of its parent are obsolete
+Not supported yet
+==============================================================================
+
+ $ hg init test3
+ $ cd test3
+ $ mkcommit base
+ $ mkcommits _a
+ $ hg up "desc(base)"
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ mkcommit _c
+ created new head
+ $ hg merge "desc(_a)" >/dev/null
+ $ hg commit -m "merge"
+ $ hg up "desc(_a)"
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ hg amend -m "aprime"
+ 1 new unstable changesets
+ $ hg up "desc(_c)"
+ 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ hg amend -m "cprime"
+ $ hg log -G
+ @ 5:2db39fda7e2f@default(draft) cprime
+ |
+ | o 4:47127ea62e5f@default(draft) aprime
+ |/
+ | o 3:6b4280e33286@default(draft) merge
+ | |\
+ +---x 2:474da87dd33b@default(draft) add _c
+ | |
+ | x 1:b3264cec9506@default(draft) add _a
+ |/
+ o 0:b4952fcf48cf@default(draft) add base
+
+
+ $ hg evo --all --any --orphan
+ move:[3] merge
+ atop:[4] aprime
+ move:[6] merge
+ atop:[5] cprime
+ working directory is now at 2d30b910830b
+ $ hg log -G
+ @ 7:2d30b910830b@default(draft) merge
+ |\
+ | o 5:2db39fda7e2f@default(draft) cprime
+ | |
+ o | 4:47127ea62e5f@default(draft) aprime
+ |/
+ o 0:b4952fcf48cf@default(draft) add base
+
+
+ $ cd ..
+
+===============================================================================
+Test instability resolution for a changeset unstable because its parent
+is obsolete with multiple successors all in one chain (simple split)
+==============================================================================
+
+ $ hg init test4
+ $ cd test4
+ $ mkcommits _a _b _c
+ $ hg up "desc(_a)"
+ 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+ $ mkcommits bprimesplit1 bprimesplit2
+ created new head
+ $ hg prune "desc(_b)" -s "desc(bprimesplit1) + desc(bprimesplit2)" --split
+ 1 changesets pruned
+ 1 new unstable changesets
+ $ hg log -G
+ @ 4:2a4ccc0bb20c@default(draft) add bprimesplit2
+ |
+ o 3:8b87864bd0f4@default(draft) add bprimesplit1
+ |
+ | o 2:102002290587@default(draft) add _c
+ | |
+ | x 1:37445b16603b@default(draft) add _b
+ |/
+ o 0:135f39f4bd78@default(draft) add _a
+
+
+ $ hg evo --all --any --orphan
+ move:[2] add _c
+ atop:[4] add bprimesplit2
+ working directory is now at 387cc1e837d7
+ $ hg log -G
+ @ 5:387cc1e837d7@default(draft) add _c
+ |
+ o 4:2a4ccc0bb20c@default(draft) add bprimesplit2
+ |
+ o 3:8b87864bd0f4@default(draft) add bprimesplit1
+ |
+ o 0:135f39f4bd78@default(draft) add _a
+
+
+
+ $ cd ..
+
+===============================================================================
Test instability resolution for a changeset unstable because its parent
is obsolete with multiple successors on one branches but in reverse
order (cross-split).
@@ -118,4 +265,55 @@
o 0:135f39f4bd78@default(draft) add _a
+
$ cd ..
+
+===============================================================================
+Test instability resolution for a changeset unstable because its parent
+is obsolete with multiple successors on two branches.
+Not supported yet
+==============================================================================
+
+ $ hg init test6
+ $ cd test6
+ $ mkcommits _a _b _c
+ $ hg up "desc(_a)"
+ 0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+ $ mkcommit bprimesplit1
+ created new head
+ $ hg up "desc(_a)"
+ 0 files updated, 0 files merged, 1 files removed, 0 files unresolved
+ $ mkcommit bprimesplit2
+ created new head
+ $ hg prune "desc(_b)" -s "desc(bprimesplit1) + desc(bprimesplit2)" --split
+ 1 changesets pruned
+ 1 new unstable changesets
+ $ hg log -G
+ @ 4:3c69ea6aa93e@default(draft) add bprimesplit2
+ |
+ | o 3:8b87864bd0f4@default(draft) add bprimesplit1
+ |/
+ | o 2:102002290587@default(draft) add _c
+ | |
+ | x 1:37445b16603b@default(draft) add _b
+ |/
+ o 0:135f39f4bd78@default(draft) add _a
+
+
+ $ hg evo --all --any --orphan
+ could not solve instability, ambiguous destination: parent split across two branches
+ $ hg log -G
+ @ 4:3c69ea6aa93e@default(draft) add bprimesplit2
+ |
+ | o 3:8b87864bd0f4@default(draft) add bprimesplit1
+ |/
+ | o 2:102002290587@default(draft) add _c
+ | |
+ | x 1:37445b16603b@default(draft) add _b
+ |/
+ o 0:135f39f4bd78@default(draft) add _a
+
+
+
+ $ cd ..
+
--- a/tests/test-userguide.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-userguide.t Wed Mar 21 16:35:18 2018 +0100
@@ -39,7 +39,7 @@
$ hg commit --amend -u alice -d '2 0' -m 'implement feature Y'
$ hg shortlog -q -r fe0ecd3bd2a4
abort: hidden revision 'fe0ecd3bd2a4'!
- (use --hidden to access hidden revisions; successor: 934359450037)
+ (use --hidden to access hidden revisions)
[255]
$ hg --hidden shortlog -G
@ 3:934359450037 draft implement feature Y
--- a/tests/test-wireproto-bundle1.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-wireproto-bundle1.t Wed Mar 21 16:35:18 2018 +0100
@@ -87,7 +87,7 @@
adding file changes
added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
2 new obsolescence markers
- (run 'hg heads' to see heads)
+ (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg -R ../other pull
pulling from ssh://user@dummy/server
searching for changes
--- a/tests/test-wireproto.t Wed Mar 21 16:32:54 2018 +0100
+++ b/tests/test-wireproto.t Wed Mar 21 16:35:18 2018 +0100
@@ -92,7 +92,7 @@
added 1 changesets with 1 changes to [12] files \(\+1 heads\) (re)
obsmarker-exchange: 151 bytes received
2 new obsolescence markers
- (run 'hg heads' to see heads)
+ (run 'hg heads' to see heads, 'hg merge' to merge)
$ hg -R ../other pull
pulling from ssh://user@dummy/server
searching for changes
@@ -147,7 +147,7 @@
added 1 changesets with 0 changes to 1 files (+1 heads)
obsmarker-exchange: 227 bytes received
1 new obsolescence markers
- (run 'hg heads' to see heads)
+ (run 'hg heads' to see heads, 'hg merge' to merge)
test discovery avoid exchanging known markers