# HG changeset patch # User Gregory Szorc # Date 1537492062 25200 # Node ID 96838b620b9cc2bbd0a7207d27c6b58c04566198 # Parent 62a532045e7174e05da4c36484eaaa662bc13ad5 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 diff -r 62a532045e71 -r 96838b620b9c hgext/lfs/wrapper.py --- 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, diff -r 62a532045e71 -r 96838b620b9c mercurial/filelog.py --- 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):