Merge with crew-stable
authorPatrick Mezard <pmezard@gmail.com>
Tue, 20 Nov 2007 14:41:47 +0100
changeset 5540 00b812ad67cb
parent 5539 954e68e54dea (current diff)
parent 5534 61c230f81068 (diff)
child 5541 ceaa752fa316
child 5545 5a124ce4602a
Merge with crew-stable
--- a/hgext/mq.py	Sun Nov 18 17:25:28 2007 +0100
+++ b/hgext/mq.py	Tue Nov 20 14:41:47 2007 +0100
@@ -610,15 +610,14 @@
             m, a, r, d = repo.status(files=fns, match=match)[:4]
         else:
             m, a, r, d = self.check_localchanges(repo, force)
+            fns, match, anypats = cmdutil.matchpats(repo, m + a + r)
         commitfiles = m + a + r
         self.check_toppatch(repo)
         wlock = repo.wlock()
         try:
             insert = self.full_series_end()
-            if msg:
-                n = repo.commit(commitfiles, msg, force=True)
-            else:
-                n = repo.commit(commitfiles, "[mq]: %s" % patch, force=True)
+            commitmsg = msg and msg or ("[mq]: %s" % patch)
+            n = repo.commit(commitfiles, commitmsg, match=match, force=True)
             if n == None:
                 raise util.Abort(_("repo commit failed"))
             self.full_series[insert:insert] = [patch]
--- a/tests/test-mq	Sun Nov 18 17:25:28 2007 +0100
+++ b/tests/test-mq	Tue Nov 20 14:41:47 2007 +0100
@@ -84,6 +84,27 @@
 
 cd a
 
+echo a > somefile
+hg add somefile
+
+echo % qnew with uncommitted changes
+
+hg qnew uncommitted.patch
+hg st
+hg qseries
+
+echo '% qnew with uncommitted changes and missing file (issue 803)'
+
+hg qnew issue803.patch someotherfile 2>&1 | \
+    sed -e 's/someotherfile:.*/someotherfile: No such file or directory/'
+hg st
+hg qseries
+hg qpop -f
+hg qdel issue803.patch
+
+hg revert --no-backup somefile
+rm somefile
+
 echo % qnew -m
 
 hg qnew -m 'foo bar' test.patch
--- a/tests/test-mq.out	Sun Nov 18 17:25:28 2007 +0100
+++ b/tests/test-mq.out	Tue Nov 20 14:41:47 2007 +0100
@@ -83,6 +83,14 @@
   series:
 A
 B
+% qnew with uncommitted changes
+abort: local changes found, refresh first
+A somefile
+% qnew with uncommitted changes and missing file (issue 803)
+someotherfile: No such file or directory
+A somefile
+issue803.patch
+Patch queue now empty
 % qnew -m
 foo bar
 % qrefresh