strip: during merge allow strip only when -f is used
authorTaapas Agrawal <taapas2897@gmail.com>
Fri, 14 Jun 2019 18:25:14 +0530
changeset 42470 1acaa9f37377
parent 42469 4a3abb33380a
child 42471 c7308b3bc189
strip: during merge allow strip only when -f is used This ensures to abort strip to `hg strip` when we have a merge in progress and allow it only when a `--force` flag is used. Differential Revision: https://phab.mercurial-scm.org/D6529
hgext/strip.py
tests/test-strip.t
--- a/hgext/strip.py	Fri Apr 26 00:48:12 2019 +0200
+++ b/hgext/strip.py	Fri Jun 14 18:25:14 2019 +0530
@@ -50,6 +50,9 @@
     cmdutil.checkunfinished(repo)
     s = repo.status()
     if not force:
+        if len(repo[None].parents()) > 1:
+            _("outstanding uncommitted merge") #i18 tool detection
+            raise error.Abort(_("outstanding uncommitted merge"+ excsuffix))
         if s.modified or s.added or s.removed or s.deleted:
             _("local changes found") # i18n tool detection
             raise error.Abort(_("local changes found" + excsuffix))
--- a/tests/test-strip.t	Fri Apr 26 00:48:12 2019 +0200
+++ b/tests/test-strip.t	Fri Jun 14 18:25:14 2019 +0530
@@ -272,7 +272,12 @@
   date:        Thu Jan 01 00:00:00 1970 +0000
   summary:     c
   
+##strip not allowed with merge in progress
   $ hg strip 4
+  abort: outstanding uncommitted merge
+  [255]
+##strip allowed --force with merge in progress
+  $ hg strip 4 --force
   1 files updated, 0 files merged, 0 files removed, 0 files unresolved
   saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob)