r197608 - clang-format-diff.py: fix -regex/-iregex matching
Alp Toker
alp at nuanti.com
Wed Dec 18 13:34:07 PST 2013
Author: alp
Date: Wed Dec 18 15:34:07 2013
New Revision: 197608
URL: http://llvm.org/viewvc/llvm-project?rev=197608&view=rev
Log:
clang-format-diff.py: fix -regex/-iregex matching
While debating the finer points of file extension matching, we somehow missed
the bigger problem that the current code will match anything starting with the
default or user-specified pattern (e.g. lit.site.cfg.in).
Fix this by doing what find(1) does, implicitly wrapping the pattern with ^$.
Modified:
cfe/trunk/tools/clang-format/clang-format-diff.py
Modified: cfe/trunk/tools/clang-format/clang-format-diff.py
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-format/clang-format-diff.py?rev=197608&r1=197607&r2=197608&view=diff
==============================================================================
--- cfe/trunk/tools/clang-format/clang-format-diff.py (original)
+++ cfe/trunk/tools/clang-format/clang-format-diff.py Wed Dec 18 15:34:07 2013
@@ -43,7 +43,7 @@ def main():
help='apply edits to files instead of displaying a diff')
parser.add_argument('-p', metavar='NUM', default=0,
help='strip the smallest prefix containing P slashes')
- parser.add_argument('-regex', metavar='PATTERN', default='',
+ parser.add_argument('-regex', metavar='PATTERN', default=None,
help='custom pattern selecting file paths to reformat '
'(case sensitive, override -iregex)')
parser.add_argument('-iregex', metavar='PATTERN', default=
@@ -66,11 +66,11 @@ def main():
if filename == None:
continue
- if args.regex != '':
- if not re.match(args.regex, filename):
+ if args.regex is not None:
+ if not re.match('^%s$' % args.regex, filename):
continue
else:
- if not re.match(args.iregex, filename, re.IGNORECASE):
+ if not re.match('^%s$' % args.iregex, filename, re.IGNORECASE):
continue
match = re.search('^@@.*\+(\d+)(,(\d+))?', line)
More information about the cfe-commits
mailing list