hgext/mq.py
changeset 20786 d666da075b91
parent 20785 7f7c8ef31c5d
child 20790 49f2d5644f04
--- a/hgext/mq.py	Thu Mar 20 00:10:45 2014 +0900
+++ b/hgext/mq.py	Thu Mar 20 00:10:45 2014 +0900
@@ -1035,7 +1035,6 @@
             self.checkpatchname(patchfn)
         inclsubs = checksubstate(repo)
         if inclsubs:
-            inclsubs.append('.hgsubstate')
             substatestate = repo.dirstate['.hgsubstate']
         if opts.get('include') or opts.get('exclude') or pats:
             match = scmutil.match(repo[None], pats, opts)
@@ -1045,14 +1044,14 @@
                     raise util.Abort('%s: %s' % (f, msg))
             match.bad = badfn
             changes = repo.status(match=match)
-            m, a, r, d = changes[:4]
         else:
             changes = self.checklocalchanges(repo, force=True)
-            m, a, r, d = changes
-        match = scmutil.matchfiles(repo, m + a + r + inclsubs)
+        commitfiles = list(inclsubs)
+        for files in changes[:3]:
+            commitfiles.extend([f for f in files if f != '.hgsubstate'])
+        match = scmutil.matchfiles(repo, commitfiles)
         if len(repo[None].parents()) > 1:
             raise util.Abort(_('cannot manage merge changesets'))
-        commitfiles = m + a + r
         self.checktoppatch(repo)
         insert = self.fullseriesend()
         wlock = repo.wlock()
@@ -1492,7 +1491,6 @@
 
             inclsubs = checksubstate(repo, hex(patchparent))
             if inclsubs:
-                inclsubs.append('.hgsubstate')
                 substatestate = repo.dirstate['.hgsubstate']
 
             ph = patchheader(self.join(patchfn), self.plainmode)
@@ -1579,7 +1577,7 @@
 
             files = set(inclsubs)
             for x in refreshchanges:
-                files.update(x)
+                files.update([f for f in x if f != '.hgsubstate'])
             match = scmutil.matchfiles(repo, files)
 
             bmlist = repo[top].bookmarks()