mercurial/scmutil.py
changeset 23368 bf8c3172255c
parent 23259 9f4778027bc2
child 23370 46265d0f0c7b
--- 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: