equal
deleted
inserted
replaced
6 # GNU General Public License version 2 or any later version. |
6 # GNU General Public License version 2 or any later version. |
7 |
7 |
8 '''adds a new flag extras to commit (ADVANCED)''' |
8 '''adds a new flag extras to commit (ADVANCED)''' |
9 |
9 |
10 from __future__ import absolute_import |
10 from __future__ import absolute_import |
|
11 |
|
12 import re |
11 |
13 |
12 from mercurial.i18n import _ |
14 from mercurial.i18n import _ |
13 from mercurial import ( |
15 from mercurial import ( |
14 commands, |
16 commands, |
15 error, |
17 error, |
50 if '=' not in raw: |
52 if '=' not in raw: |
51 msg = _("unable to parse '%s', should follow " |
53 msg = _("unable to parse '%s', should follow " |
52 "KEY=VALUE format") |
54 "KEY=VALUE format") |
53 raise error.Abort(msg % raw) |
55 raise error.Abort(msg % raw) |
54 k, v = raw.split('=', 1) |
56 k, v = raw.split('=', 1) |
|
57 if re.search('[^\w-]', k): |
|
58 msg = _("keys can only contain ascii letters, digits," |
|
59 " '_' and '-'") |
|
60 raise error.Abort(msg) |
55 if k in usedinternally: |
61 if k in usedinternally: |
56 msg = _("key '%s' is used internally, can't be set " |
62 msg = _("key '%s' is used internally, can't be set " |
57 "manually") |
63 "manually") |
58 raise error.Abort(msg % k) |
64 raise error.Abort(msg % k) |
59 inneropts['extra'][k] = v |
65 inneropts['extra'][k] = v |