[PATCH 1 of 3] mq/qqueue: commonalise the queue deletion code

Yann E. MORIN yann.morin.1998 at anciens.enib.fr
Wed Aug 18 17:02:52 CDT 2010


# HG changeset patch
# User "Yann E. MORIN" <yann.morin.1998 at anciens.enib.fr>
# Date 1282167268 -7200
# Node ID 31b9997ab713fa16f5d88b26359a2f3ecd8bba16
# Parent  60bfb876dc4545d5e1742e401d376c4f7f2e2d4b
mq/qqueue: commonalise the queue deletion code

diff --git a/hgext/mq.py b/hgext/mq.py
--- a/hgext/mq.py
+++ b/hgext/mq.py
@@ -2695,6 +2695,23 @@
                 return False
         return True
 
+    def _delete(name)
+        if name not in existing:
+            raise util.Abort(_('cannot delete queue that does not exist'))
+
+        current = _getcurrent()
+
+        if name == current:
+            raise util.Abort(_('cannot delete currently active queue'))
+
+        fh = repo.opener('patches.queues.new', 'w')
+        for queue in existing:
+            if queue == name:
+                continue
+            fh.write('%s\n' % (queue,))
+        fh.close()
+        util.rename(repo.join('patches.queues.new'), repo.join(_allqueues))
+
     if not name or opts.get('list'):
         current = _getcurrent()
         for queue in _getqueues():
@@ -2744,21 +2761,7 @@
         util.rename(repo.join('patches.queues.new'), repo.join(_allqueues))
         _setactivenocheck(name)
     elif opts.get('delete'):
-        if name not in existing:
-            raise util.Abort(_('cannot delete queue that does not exist'))
-
-        current = _getcurrent()
-
-        if name == current:
-            raise util.Abort(_('cannot delete currently active queue'))
-
-        fh = repo.opener('patches.queues.new', 'w')
-        for queue in existing:
-            if queue == name:
-                continue
-            fh.write('%s\n' % (queue,))
-        fh.close()
-        util.rename(repo.join('patches.queues.new'), repo.join(_allqueues))
+        _delete(name)
     else:
         if name not in existing:
             raise util.Abort(_('use --create to create a new queue'))


More information about the Mercurial-devel mailing list