Mercurial > hg > mercurial-source
changeset 5029:ac97e065cfc7
Fix re: and glob: patterns in .hgignore (reported by Brad Schick)
relglob: and relre: were already detected for a long time, so
I kept this undocumented functionality, especially as it was already
tested in test-hgignore.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Mon, 30 Jul 2007 20:01:16 +0200 |
parents | 60c54154ec4c |
children | c89671c3b062 f191bc3916f7 8db8e1100f3f |
files | mercurial/ignore.py tests/test-hgignore tests/test-hgignore.out |
diffstat | 3 files changed, 29 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/ignore.py +++ b/mercurial/ignore.py @@ -57,10 +57,13 @@ warn(_("%s: ignoring invalid syntax '%s'\n") % (f, s)) continue pat = syntax + line - for s in syntaxes.values(): - if line.startswith(s): + for s, rels in syntaxes.items(): + if line.startswith(rels): pat = line break + elif line.startswith(s+':'): + pat = rels + line[len(s)+1:] + break pats[f].append(pat) except IOError, inst: if f != files[0]:
--- a/tests/test-hgignore +++ b/tests/test-hgignore @@ -40,12 +40,15 @@ echo ".*\.o" > .hgignore echo "--" ; hg status -# XXX: broken -#echo "glob:**.o" > .hgignore -#echo "--" ; hg status -# -#echo "glob:*.o" > .hgignore -#echo "--" ; hg status +echo "glob:**.o" > .hgignore +echo "--" ; hg status + +echo "glob:*.o" > .hgignore +echo "--" ; hg status + +echo "syntax: glob" > .hgignore +echo "re:.*\.o" >> .hgignore +echo "--" ; hg status echo "syntax: invalid" > .hgignore echo "--" ; hg status 2>&1 | sed -e 's/.*\.hgignore:/.hgignore:/'