# HG changeset patch # User Pierre-Yves David # Date 1435189022 25200 # Node ID 6c122c975125eeb798a5044c45d37d262279ca2e # Parent 6a219f8089f94976c79908a816872aae308ae140 evolve: add a hint when the parent working copy become obsolete This should help people find the right commands to recover from this situation. diff --git a/hgext/evolve.py b/hgext/evolve.py --- a/hgext/evolve.py +++ b/hgext/evolve.py @@ -685,6 +685,8 @@ def warnobsolete(): if repo['.'].obsolete(): ui.warn(_('working directory parent is obsolete!\n')) + if (not ui.quiet) and obsolete.isenabled(repo, commandopt): + ui.warn(_('(use "hg evolve" to update to its successor)\n')) wlock = None try: wlock = repo.wlock() diff --git a/tests/test-inhibit.t b/tests/test-inhibit.t --- a/tests/test-inhibit.t +++ b/tests/test-inhibit.t @@ -648,14 +648,21 @@ (run 'hg heads' to see heads, 'hg merge' to merge) Only allow direct access and check that evolve works like before +(also disable evolve commands to avoid hint about using evolve) $ cat >> $HGRCPATH < [extensions] > inhibit=! + > [experimental] + > evolution=createmarkers > EOF $ hg up 15 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! + $ cat >> $HGRCPATH < [experimental] + > evolution=all + > EOF $ echo "CM" > cM $ hg amend $ hg log -G diff --git a/tests/test-obsolete.t b/tests/test-obsolete.t --- a/tests/test-obsolete.t +++ b/tests/test-obsolete.t @@ -131,6 +131,7 @@ summary: add obsol_c working directory parent is obsolete! + (use "hg evolve" to update to its successor) $ mkcommit d # 5 (on 3) 1 new unstable changesets $ qlog -r 'obsolete()' @@ -699,6 +700,7 @@ $ hg up --hidden 2 1 files updated, 0 files merged, 1 files removed, 0 files unresolved working directory parent is obsolete! + (use "hg evolve" to update to its successor) $ hg export 9468a5f5d8b2 | hg import - applying patch from stdin 1 new unstable changesets diff --git a/tests/test-stabilize-result.t b/tests/test-stabilize-result.t --- a/tests/test-stabilize-result.t +++ b/tests/test-stabilize-result.t @@ -224,6 +224,7 @@ $ hg up --hidden 15 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! + (use "hg evolve" to update to its successor) $ mv a a.old $ echo 'jungle' > a $ cat a.old >> a @@ -336,6 +337,7 @@ $ hg up --hidden 15 1 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! + (use "hg evolve" to update to its successor) $ echo 'gotta break' >> a $ hg amend 2 new divergent changesets diff --git a/tests/test-touch.t b/tests/test-touch.t --- a/tests/test-touch.t +++ b/tests/test-touch.t @@ -34,6 +34,7 @@ $ hg up --hidden 1 0 files updated, 0 files merged, 1 files removed, 0 files unresolved working directory parent is obsolete! + (use "hg evolve" to update to its successor) $ hg log -G o 3:[0-9a-f]{12} ab (re) diff --git a/tests/test-tutorial.t b/tests/test-tutorial.t --- a/tests/test-tutorial.t +++ b/tests/test-tutorial.t @@ -742,12 +742,14 @@ searching for changes no changes found working directory parent is obsolete! + (use "hg evolve" to update to its successor) now let's see where we are, and update to the successor $ hg parents bf1b0d202029 (draft): animals working directory parent is obsolete! + (use "hg evolve" to update to its successor) $ hg evolve update:[8] animals 1 files updated, 0 files merged, 0 files removed, 0 files unresolved diff --git a/tests/test-uncommit.t b/tests/test-uncommit.t --- a/tests/test-uncommit.t +++ b/tests/test-uncommit.t @@ -240,6 +240,7 @@ 8 files updated, 0 files merged, 1 files removed, 0 files unresolved (leaving bookmark touncommit-bm) working directory parent is obsolete! + (use "hg evolve" to update to its successor) $ hg --config extensions.purge= purge $ hg uncommit -I 'set:added() and e' 2 new divergent changesets @@ -284,6 +285,7 @@ $ hg up -C 3 --hidden 2 files updated, 0 files merged, 0 files removed, 0 files unresolved working directory parent is obsolete! + (use "hg evolve" to update to its successor) $ hg --config extensions.purge= purge $ hg uncommit --all -X e 1 new divergent changesets