Patchwork D6533: mq: remove dependency on strip's checklocalchanges()

login
register
mail settings
Submitter phabricator
Date June 17, 2019, 6 p.m.
Message ID <differential-rev-PHID-DREV-beyptuiyh7giotdcunwg-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/40556/
State Superseded
Headers show

Comments

phabricator - June 17, 2019, 6 p.m.
martinvonz created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  Some of the functionality in strip.checklocalchanges() was only used
  by mq, so let's move it to mq so we can clean up strip.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D6533

AFFECTED FILES
  hgext/mq.py

CHANGE DETAILS




To: martinvonz, #hg-reviewers
Cc: mercurial-devel

Patch

diff --git a/hgext/mq.py b/hgext/mq.py
--- a/hgext/mq.py
+++ b/hgext/mq.py
@@ -145,8 +145,6 @@ 
 
 strip = stripext.strip
 checksubstate = stripext.checksubstate
-checklocalchanges = stripext.checklocalchanges
-
 
 # Patch names looks like unix-file names.
 # They must be joinable with queue directory and result in the patch path.
@@ -1149,7 +1147,20 @@ 
             # plain versions for i18n tool to detect them
             _("local changes found, qrefresh first")
             _("local changed subrepos found, qrefresh first")
-        return checklocalchanges(repo, force, excsuffix)
+
+        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))
+            if checksubstate(repo):
+                _("local changed subrepos found") # i18n tool detection
+                raise error.Abort(_("local changed subrepos found" + excsuffix))
+        return s
 
     _reserved = ('series', 'status', 'guards', '.', '..')
     def checkreservedname(self, name):