D4715: filelog: store filename directly on revlog instance

indygreg (Gregory Szorc) phabricator at mercurial-scm.org
Mon Sep 24 16:13:16 UTC 2018


indygreg created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REVISION SUMMARY
  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!

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D4715

AFFECTED FILES
  hgext/lfs/wrapper.py
  mercurial/filelog.py

CHANGE DETAILS

diff --git a/mercurial/filelog.py b/mercurial/filelog.py
--- a/mercurial/filelog.py
+++ b/mercurial/filelog.py
@@ -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):
diff --git a/hgext/lfs/wrapper.py b/hgext/lfs/wrapper.py
--- a/hgext/lfs/wrapper.py
+++ b/hgext/lfs/wrapper.py
@@ -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,



To: indygreg, #hg-reviewers
Cc: mercurial-devel


More information about the Mercurial-devel mailing list