[PATCH 3 of 6 EVOLVE V2] fold: emit error message when folding a single revision

Jordi Gutiérrez Hermoso jordigh at octave.org
Fri Jul 4 09:37:27 CDT 2014


# HG changeset patch
# User Jordi Gutiérrez Hermoso <jordigh at octave.org>
# Date 1404138308 14400
#      Mon Jun 30 10:25:08 2014 -0400
# Node ID 9e2a2864cd20d2160c44f4eab260f364eea523b5
# Parent  c90bb870b06306b5d224d4dcbf1c3be328355f73
fold: emit error message when folding a single revision

Previously, a confusing error state would happen if the revision set
to fold was a singleton.

diff --git a/hgext/evolve.py b/hgext/evolve.py
--- a/hgext/evolve.py
+++ b/hgext/evolve.py
@@ -2099,6 +2099,11 @@ def fold(ui, repo, *revs, **opts):
         revs = ()
     if not revs:
         raise util.Abort(_('no revisions specified'))
+
+    if len(revs) == 1:
+        ui.write_err(_('single revision specified, nothing to fold\n'))
+        return 1
+
     roots = repo.revs('roots(%ld)', revs)
     if len(roots) > 1:
         raise util.Abort("set has multiple roots")
diff --git a/tests/test-evolve.t b/tests/test-evolve.t
--- a/tests/test-evolve.t
+++ b/tests/test-evolve.t
@@ -619,6 +619,9 @@ Test fold
   $ hg fold 6 --rev 10
   abort: cannot specify both --rev and a target revision
   [255]
+  $ hg fold .
+  single revision specified, nothing to fold
+  [1]
   $ hg fold 6 # want to run hg fold 6
   2 changesets folded
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved


More information about the Mercurial-devel mailing list