phases: handle errors other than ENOENT appropriately
authorMatt Mackall <mpm@selenic.com>
Sun, 06 Nov 2011 11:57:24 -0600
changeset 15419 ccb7de21625a
parent 15418 cf729af26963
child 15420 e80d0d3198f0
phases: handle errors other than ENOENT appropriately
mercurial/phases.py
--- a/mercurial/phases.py	Fri Nov 04 00:16:24 2011 +0100
+++ b/mercurial/phases.py	Sun Nov 06 11:57:24 2011 -0600
@@ -7,6 +7,7 @@
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
 
+import errno
 from node import nullid, bin, hex
 
 allphases = range(2)
@@ -24,8 +25,9 @@
                 roots[int(phase)].add(bin(nh))
         finally:
             f.close()
-    except IOError:
-        pass # default value are enough
+    except IOError, inst:
+        if inst.errno != errno.ENOENT:
+            raise
     return roots
 
 def writeroots(repo):