--- a/hgext/mq.py Sun May 18 23:31:54 2008 +0200
+++ b/hgext/mq.py Sun May 18 23:49:33 2008 +0200
@@ -126,6 +126,8 @@
self.series_guards.append(self.guard_re.findall(comment))
def check_guard(self, guard):
+ if not guard:
+ return _('guard cannot be an empty string')
bad_chars = '# \t\r\n\f'
first = guard[0]
for c in '-+':
--- a/tests/test-mq-guards Sun May 18 23:31:54 2008 +0200
+++ b/tests/test-mq-guards Sun May 18 23:49:33 2008 +0200
@@ -44,6 +44,8 @@
hg qpush
hg qpop
+echo % test selection of an empty guard
+hg qselect ""
hg qselect a
echo % should push a.patch
hg qpush
--- a/tests/test-mq-guards.out Sun May 18 23:31:54 2008 +0200
+++ b/tests/test-mq-guards.out Sun May 18 23:49:33 2008 +0200
@@ -15,6 +15,8 @@
applying b.patch
Now at: b.patch
Patch queue now empty
+% test selection of an empty guard
+abort: guard cannot be an empty string
number of unguarded, unapplied patches has changed from 2 to 3
% should push a.patch
applying a.patch
--- a/tests/test-mq.out Sun May 18 23:31:54 2008 +0200
+++ b/tests/test-mq.out Sun May 18 23:49:33 2008 +0200
@@ -28,7 +28,7 @@
qclone clone main and patch repository at same time
qcommit commit changes in the queue repository
qdelete remove patches from queue
- qdiff diff of the current patch
+ qdiff diff of the current patch and subsequent modifications
qfold fold the named patches into the current patch
qgoto push or pop patches until named patch is at top of stack
qguard set or print guards for a patch