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