[PATCH 2 of 2 issue4711] mq: ban \r and \n in patch names (issue4711)

Augie Fackler raf at durin42.com
Fri Jun 5 13:44:41 CDT 2015


# HG changeset patch
# User Augie Fackler <augie at google.com>
# Date 1433529298 14400
#      Fri Jun 05 14:34:58 2015 -0400
# Node ID 3386861c6b3ce4847c38168f5612c23f1bc38514
# Parent  382ae2f4b576568a1542944565b1f3f3db9dae53
mq: ban \r and \n in patch names (issue4711)

This is at best crazy, and at worst will break things like the series
file. Let's just stop the madness.

diff --git a/hgext/mq.py b/hgext/mq.py
--- a/hgext/mq.py
+++ b/hgext/mq.py
@@ -1102,7 +1102,7 @@ class queue(object):
             if name.startswith(prefix):
                 raise util.Abort(_('patch name cannot begin with "%s"')
                                  % prefix)
-        for c in ('#', ':'):
+        for c in ('#', ':', '\r', '\n'):
             if c in name:
                 raise util.Abort(_('%r cannot be used in the name of a patch')
                                  % c)
diff --git a/tests/test-mq-qnew.t b/tests/test-mq-qnew.t
--- a/tests/test-mq-qnew.t
+++ b/tests/test-mq-qnew.t
@@ -21,6 +21,7 @@
   >     hg qnew .mqfoo
   >     hg qnew 'foo#bar'
   >     hg qnew 'foo:bar'
+  >     hg qnew "`echo foo; echo bar`"
   > 
   >     hg qinit -c
   > 
@@ -110,6 +111,7 @@ plain headers
   abort: patch name cannot begin with ".mq"
   abort: '#' cannot be used in the name of a patch
   abort: ':' cannot be used in the name of a patch
+  abort: '\n' cannot be used in the name of a patch
   % qnew with name containing slash
   abort: path ends in directory separator: foo/ (glob)
   abort: "foo" already exists as a directory
@@ -178,6 +180,7 @@ hg headers
   abort: patch name cannot begin with ".mq"
   abort: '#' cannot be used in the name of a patch
   abort: ':' cannot be used in the name of a patch
+  abort: '\n' cannot be used in the name of a patch
   % qnew with name containing slash
   abort: path ends in directory separator: foo/ (glob)
   abort: "foo" already exists as a directory


More information about the Mercurial-devel mailing list