changeset 39861:96838b620b9c

filelog: store filename directly on revlog instance This attribute is only used by LFS. It is used by one of the revlog flag processor functions, which gets an instance of the revlog - not the file storage type. So, it makes sense to store this attribute on the revlog instead of the filelog. With this change, I'm pretty confident that LFS is no longer directly accessing file storage interface members that are revlog centric. i.e. it gets us one step closer to eliminating revlog-centric APIs from the file storage interface! Differential Revision: https://phab.mercurial-scm.org/D4715
author Gregory Szorc <gregory.szorc@gmail.com>
date Thu, 20 Sep 2018 18:07:42 -0700
parents 62a532045e71
children 8dab7c8a93eb
files hgext/lfs/wrapper.py mercurial/filelog.py
diffstat 2 files changed, 2 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/lfs/wrapper.py	Thu Sep 20 17:47:34 2018 -0700
+++ b/hgext/lfs/wrapper.py	Thu Sep 20 18:07:42 2018 -0700
@@ -136,7 +136,7 @@
         if offset:
             textlen -= offset
 
-        if lfstrack(self.filename, textlen):
+        if lfstrack(self._revlog.filename, textlen):
             flags |= revlog.REVIDX_EXTSTORED
 
     return orig(self, text, transaction, link, p1, p2, cachedelta=cachedelta,
--- a/mercurial/filelog.py	Thu Sep 20 17:47:34 2018 -0700
+++ b/mercurial/filelog.py	Thu Sep 20 18:07:42 2018 -0700
@@ -24,7 +24,7 @@
                                      censorable=True)
         # Full name of the user visible file, relative to the repository root.
         # Used by LFS.
-        self.filename = path
+        self._revlog.filename = path
         # Used by repo upgrade.
         self.index = self._revlog.index
         # Used by changegroup generation.
@@ -189,15 +189,6 @@
     # TODO these aren't part of the interface and aren't internal methods.
     # Callers should be fixed to not use them.
 
-    # Used by LFS.
-    @property
-    def filename(self):
-        return self._revlog.filename
-
-    @filename.setter
-    def filename(self, value):
-        self._revlog.filename = value
-
     # Used by bundlefilelog, unionfilelog.
     @property
     def indexfile(self):