[PATCH 07 of 10 v2] filecache: allow filecacheentry to be created without stating in __init__

Idan Kamara idankk86 at gmail.com
Thu Jan 10 16:10:54 CST 2013


# HG changeset patch
# User Idan Kamara <idankk86 at gmail.com>
# Date 1357854893 -7200
# Node ID 800bb48683efd990824c8988da2c4f4da303ce55
# Parent  de68b1d50d554b7e20ef87465d497390444e3535
filecache: allow filecacheentry to be created without stating in __init__

Will be used for properties that are set without getting them first.

diff --git a/mercurial/scmutil.py b/mercurial/scmutil.py
--- a/mercurial/scmutil.py
+++ b/mercurial/scmutil.py
@@ -863,15 +863,19 @@
     return requirements
 
 class filecacheentry(object):
-    def __init__(self, path):
+    def __init__(self, path, stat=True):
         self.path = path
-        self.cachestat = filecacheentry.stat(self.path)
+        self.cachestat = None
+        self._cacheable = None
 
-        if self.cachestat:
-            self._cacheable = self.cachestat.cacheable()
-        else:
-            # None means we don't know yet
-            self._cacheable = None
+        if stat:
+            self.cachestat = filecacheentry.stat(self.path)
+
+            if self.cachestat:
+                self._cacheable = self.cachestat.cacheable()
+            else:
+                # None means we don't know yet
+                self._cacheable = None
 
     def refresh(self):
         if self.cacheable():


More information about the Mercurial-devel mailing list