diff --git a/mercurial/ignore.py b/mercurial/ignore.py --- a/mercurial/ignore.py +++ b/mercurial/ignore.py @@ -57,10 +57,13 @@ def ignore(root, files, warn): 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]: