diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py --- a/mercurial/scmutil.py +++ b/mercurial/scmutil.py @@ -159,6 +159,15 @@ class abstractopener(object): '''Prevent instantiation; don't call this from subclasses.''' raise NotImplementedError('attempted instantiating ' + str(type(self))) + def tryread(self, path): + 'gracefully return an empty string for missing files' + try: + return self.read(path) + except IOError, inst: + if inst.errno != errno.ENOENT: + raise + return "" + def read(self, path): fp = self(path, 'rb') try: