Mercurial > evolve
changeset 3652:81985b9d3e74
topic-ext: restrict the format of topic names
This patch restrict the format of topic names to make sure they consist only of
alphanumeric, '_' and '-' characters.
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Thu, 29 Mar 2018 17:42:32 +0530 |
parents | fa15068a9945 |
children | d9682c41ea2f |
files | hgext3rd/topic/__init__.py tests/test-topic.t |
diffstat | 2 files changed, 24 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext3rd/topic/__init__.py Fri Apr 06 23:42:47 2018 +0530 +++ b/hgext3rd/topic/__init__.py Thu Mar 29 17:42:32 2018 +0530 @@ -594,6 +594,12 @@ # Have some restrictions on the topic name just like bookmark name scmutil.checknewlabel(repo, topic, 'topic') + rmatch = re.match(br'[\w\-]+', topic) + if not rmatch or rmatch.group(0) != topic: + helptxt = _("topic names can only consist of alphanumeric, '-'" + " and '_' characters") + raise error.Abort(_("invalid topic name: '%s'") % topic, hint=helptxt) + compat.startpager(ui, 'topics') if list:
--- a/tests/test-topic.t Fri Apr 06 23:42:47 2018 +0530 +++ b/tests/test-topic.t Thu Mar 29 17:42:32 2018 +0530 @@ -115,6 +115,24 @@ abort: topic name cannot consist entirely of whitespaces [255] + $ hg topic 'a12#45' + abort: invalid topic name: 'a12#45' + (topic names can only consist of alphanumeric, '-' and '_' characters) + [255] + + $ hg topic 'foo bar' + abort: invalid topic name: 'foo bar' + (topic names can only consist of alphanumeric, '-' and '_' characters) + [255] + +this is trying to list topic names + $ hg topic '' + + $ hg topic '*12 B23' + abort: invalid topic name: '*12 B23' + (topic names can only consist of alphanumeric, '-' and '_' characters) + [255] + Test commit flag and help text $ echo stuff >> alpha