# HG changeset patch # User Durham Goode # Date 2015-05-16 22:37:59 # Node ID 1e86bb282c714db69250a554d0d52e4033294980 # Parent 3139900f31b1f2e94efa30e838e9878388590ee5 ignore: move bad file handling out of readignorefile In preparation for moving readignorefile to match.py to make it more generally usable, let's move the bad ignore file handling up to the ignore specific logic. diff --git a/mercurial/ignore.py b/mercurial/ignore.py --- a/mercurial/ignore.py +++ b/mercurial/ignore.py @@ -56,16 +56,11 @@ def ignorepats(lines): return patterns, warnings def readignorefile(filepath, warn): - try: - pats = [] - fp = open(filepath) - pats, warnings = ignorepats(fp) - fp.close() - for warning in warnings: - warn("%s: %s\n" % (filepath, warning)) - except IOError, inst: - warn(_("skipping unreadable ignore file '%s': %s\n") % - (filepath, inst.strerror)) + fp = open(filepath) + pats, warnings = ignorepats(fp) + fp.close() + for warning in warnings: + warn("%s: %s\n" % (filepath, warning)) return pats def readpats(root, files, warn): @@ -75,7 +70,11 @@ def readpats(root, files, warn): for f in files: if f in pats: continue - pats[f] = readignorefile(f, warn) + try: + pats[f] = readignorefile(f, warn) + except IOError, inst: + warn(_("skipping unreadable ignore file '%s': %s\n") % + (f, inst.strerror)) return [(f, pats[f]) for f in files if f in pats]