changeset 2834:3f27fe80be26

prev: issue a proper error when reaching repository root (and adds the associated test)
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 14 Jul 2017 01:32:34 +0200
parents 66278c4d9c07
children 7d86594cb829
files hgext3rd/evolve/__init__.py tests/test-prev-next.t
diffstat 2 files changed, 13 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/hgext3rd/evolve/__init__.py
+++ b/hgext3rd/evolve/__init__.py
@@ -2038,7 +2038,10 @@
         if topic and not opts.get("no_topic", False):
             parents = [ctx for ctx in parents if ctx.topic() == topic]
         displayer = cmdutil.show_changeset(ui, repo, {'template': shorttemplate})
-        if not parents:
+        if wparents[0].node() == node.nullid:
+            ui.warn(_('already at repository root\n'))
+            return 1
+        elif not parents and topic:
             ui.warn(_('no parent in topic "%s"\n') % topic)
             ui.warn(_('(do you want --no-topic)\n'))
         elif len(parents) == 1:
--- a/tests/test-prev-next.t
+++ b/tests/test-prev-next.t
@@ -94,6 +94,15 @@
      mark                      2:4e26ef31f919
      no-move                   2:4e26ef31f919
 
+test prev on root
+
+  $ hg up null
+  0 files updated, 0 files merged, 2 files removed, 0 files unresolved
+  $ hg prev
+  already at repository root
+  [1]
+  $ hg up 1
+  2 files updated, 0 files merged, 0 files removed, 0 files unresolved
 
 Behavior with local modification
 --------------------------------