tag: use filtered repo when creating new tags (issue5539)
When pruning a changeset that added a tag and then adding another tag, the
"pruned" tag gets restored. This is because the tag creation step (tags._tag()
call in tags.tag()) is currently done on the unfiltered repo. This behavior
has been there from 7977d35df13b which backs out b08af8f0ac01 with no clear
reason but caution on unthought situations at that time. In this changeset, we
pass the filtered repo to tags._tag(), preventing "pruned" tags to reappear.
This somehow restores b08af8f0ac01, though now we arguably have a valid use
case for.
#!/usr/bin/env python
# Filter output by pyflakes to control which warnings we check
from __future__ import absolute_import, print_function
import re
import sys
lines = []
for line in sys.stdin:
# We blacklist tests that are too noisy for us
pats = [
r"undefined name 'WindowsError'",
r"redefinition of unused '[^']+' from line",
# for cffi, allow re-exports from pure.*
r"cffi/[^:]*:.*\bimport \*' used",
r"cffi/[^:]*:.*\*' imported but unused",
]
keep = True
for pat in pats:
if re.search(pat, line):
keep = False
break # pattern matches
if keep:
fn = line.split(':', 1)[0]
f = open(fn)
data = f.read()
f.close()
if 'no-' 'check-code' in data:
continue
lines.append(line)
for line in lines:
sys.stdout.write(line)
print()