hg grep: handle re.compile errors & update tests/test-grep

This commit is contained in:
Giorgos Keramidas 2007-07-09 17:41:14 +03:00
parent e4f786c463
commit 827573f6ad
3 changed files with 9 additions and 1 deletions

View File

@ -1092,7 +1092,11 @@ def grep(ui, repo, pattern, *pats, **opts):
reflags = 0
if opts['ignore_case']:
reflags |= re.I
regexp = re.compile(pattern, reflags)
try:
regexp = re.compile(pattern, reflags)
except Exception, inst:
ui.warn(_("grep: invalid match pattern: %s!\n") % inst)
return None
sep, eol = ':', '\n'
if opts['print0']:
sep = eol = '\0'

View File

@ -17,6 +17,8 @@ hg commit -m 3 -u eggs -d '3 0'
head -n 3 port > port1
mv port1 port
hg commit -m 4 -u spam -d '4 0'
echo % pattern error
hg grep '**test**'
echo % simple
hg grep port port
echo % all

View File

@ -1,3 +1,5 @@
% pattern error
grep: invalid match pattern: nothing to repeat!
% simple
port:4:export
port:4:vaportight