# HG changeset patch # User Idan Kamara # Date 1304104873 -10800 # Node ID 3c616f512a5b55dfc269b7da5818df66b286c680 # Parent 139fb11210bb4fc1206d69bbe56b3a15b934bc11 mq: be more explicit on invalid patch name message diff -r 139fb11210bb -r 3c616f512a5b hgext/mq.py --- a/hgext/mq.py Sat Apr 30 11:16:52 2011 +0200 +++ b/hgext/mq.py Fri Apr 29 22:21:13 2011 +0300 @@ -854,10 +854,18 @@ _reserved = ('series', 'status', 'guards', '.', '..') def check_reserved_name(self, name): - if (name in self._reserved or name.startswith('.hg') - or name.startswith('.mq') or '#' in name or ':' in name): + if name in self._reserved: raise util.Abort(_('"%s" cannot be used as the name of a patch') % name) + for prefix in ('.hg', '.mq'): + if name.startswith(prefix): + raise util.Abort(_('patch name cannot begin with "%s"') + % prefix) + for c in ('#', ':'): + if c in name: + raise util.Abort(_('"%s" cannot be used in the name of a patch') + % c) + def new(self, repo, patchfn, *pats, **opts): """options: diff -r 139fb11210bb -r 3c616f512a5b tests/test-mq-qnew.t --- a/tests/test-mq-qnew.t Sat Apr 30 11:16:52 2011 +0200 +++ b/tests/test-mq-qnew.t Fri Apr 29 22:21:13 2011 +0300 @@ -106,10 +106,10 @@ abort: "guards" cannot be used as the name of a patch abort: "." cannot be used as the name of a patch abort: ".." cannot be used as the name of a patch - abort: ".hgignore" cannot be used as the name of a patch - abort: ".mqfoo" cannot be used as the name of a patch - abort: "foo#bar" cannot be used as the name of a patch - abort: "foo:bar" cannot be used as the name of a patch + abort: patch name cannot begin with ".hg" + 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 % qnew with name containing slash abort: path ends in directory separator: foo/ abort: "foo" already exists as a directory @@ -173,10 +173,10 @@ abort: "guards" cannot be used as the name of a patch abort: "." cannot be used as the name of a patch abort: ".." cannot be used as the name of a patch - abort: ".hgignore" cannot be used as the name of a patch - abort: ".mqfoo" cannot be used as the name of a patch - abort: "foo#bar" cannot be used as the name of a patch - abort: "foo:bar" cannot be used as the name of a patch + abort: patch name cannot begin with ".hg" + 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 % qnew with name containing slash abort: path ends in directory separator: foo/ abort: "foo" already exists as a directory