[PATCH 2 of 2 stable] mq: check for reserved patch name with qimport -r (issue5033)
Yuya Nishihara
yuya at tcha.org
Wed Jan 20 09:01:58 CST 2016
On Tue, 19 Jan 2016 06:01:52 +0100, Mads Kiilerich wrote:
> # HG changeset patch
> # User Mads Kiilerich <madski at unity3d.com>
> # Date 1453179659 -3600
> # Tue Jan 19 06:00:59 2016 +0100
> # Branch stable
> # Node ID e5752aec54d89d3d8cb11d0c1c456a1fce57a1bf
> # Parent 8e01eb2737b8cdaaf1c8aacdd7fe90664b9c6836
> mq: check for reserved patch name with qimport -r (issue5033)
>
> Fix regression from 143b52fce68e.
>
> Catching aborts might not be pretty but it works and is a small change.
It could be wrapped as a boolean function, and the change would be more
smaller.
- if not namebase:
+ if not namebase or self.isreservedname(namebase):
namebase = fallbackname
...
Anyway, the series looks fine to me.
> diff --git a/hgext/mq.py b/hgext/mq.py
> --- a/hgext/mq.py
> +++ b/hgext/mq.py
> @@ -1117,11 +1117,22 @@ class queue(object):
> """Return a suitable filename for title, adding a suffix to make
> it unique in the existing list"""
> namebase = re.sub('[\s\W_]+', '_', title.lower()).strip('_')
> - if not namebase:
> + if namebase:
> + try:
> + self.checkreservedname(namebase)
> + except error.Abort:
> + namebase = fallbackname
> + else:
> namebase = fallbackname
> name = namebase
> i = 0
> - while name in self.fullseries:
> + while True:
> + if name not in self.fullseries:
> + try:
> + self.checkpatchname(name)
> + break
> + except error.Abort:
> + pass
> i += 1
> name = '%s__%s' % (namebase, i)
> return name
More information about the Mercurial-devel
mailing list