diff -r 115af8de76a4 -r bf8c3172255c mercurial/scmutil.py --- a/mercurial/scmutil.py Wed Nov 19 18:35:14 2014 +0900 +++ b/mercurial/scmutil.py Wed Nov 19 18:35:14 2014 +0900 @@ -188,6 +188,15 @@ raise return "" + def tryreadlines(self, path, mode='rb'): + '''gracefully return an empty array for missing files''' + try: + return self.readlines(path, mode=mode) + except IOError, inst: + if inst.errno != errno.ENOENT: + raise + return [] + def open(self, path, mode="r", text=False, atomictemp=False): self.open = self.__call__ return self.__call__(path, mode, text, atomictemp) @@ -199,6 +208,13 @@ finally: fp.close() + def readlines(self, path, mode='rb'): + fp = self(path, mode=mode) + try: + return fp.readlines() + finally: + fp.close() + def write(self, path, data): fp = self(path, 'wb') try: