--- a/hgext/mq.py Sun May 17 16:57:40 2009 +0200
+++ b/hgext/mq.py Sun May 17 20:00:11 2009 +0200
@@ -1943,6 +1943,7 @@
raise util.Abort(_('qfold requires at least one patch name'))
if not q.check_toppatch(repo):
raise util.Abort(_('No patches applied'))
+ q.check_localchanges(repo)
message = cmdutil.logmessage(opts)
if opts['edit']:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-mq-qfold Sun May 17 20:00:11 2009 +0200
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+echo "[extensions]" >> $HGRCPATH
+echo "mq=" >> $HGRCPATH
+
+filterdiff()
+{
+ grep -v diff | \
+ sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
+ -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"
+}
+
+echo '% init'
+hg init repo
+cd repo
+echo a > a
+hg ci -Am adda
+echo a >> a
+hg qnew -f p1
+echo b >> a
+hg qnew -f p2
+echo c >> a
+hg qnew -f p3
+echo '% fold in the middle of the queue'
+hg qpop p1
+hg qdiff | filterdiff
+hg qfold p2
+hg qser
+hg qdiff | filterdiff
+echo '% fold with local changes'
+echo d >> a
+hg qfold p3
+hg diff -c . | filterdiff
+cd ..
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-mq-qfold.out Sun May 17 20:00:11 2009 +0200
@@ -0,0 +1,25 @@
+% init
+adding a
+% fold in the middle of the queue
+now at: p1
+--- a/a
++++ b/a
+@@ -1,1 +1,2 @@
+ a
++a
+p1
+p3
+--- a/a
++++ b/a
+@@ -1,1 +1,3 @@
+ a
++a
++b
+% fold with local changes
+abort: local changes found, refresh first
+--- a/a
++++ b/a
+@@ -1,1 +1,3 @@
+ a
++a
++b