Mercurial > public > mercurial-scm > hg
diff mercurial/filelog.py @ 40006:422beffd71ba
storageutil: extract filelog.cmp() to a standalone function
As part of implementing an alternate storage backend, I found myself
reimplementing this code.
With a little massaging, we can extract filelog.cmp() to a standalone
function.
As part of this, the call to revlog.cmp() was inlined (it is just a
2-line function).
I also tweaked some variable names to improve readability. I'll
further tweak names in a subsequent commit.
Differential Revision: https://phab.mercurial-scm.org/D4801
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Fri, 28 Sep 2018 11:47:53 -0700 |
parents | 1d97a332c6d9 |
children | 1470183068b8 |
line wrap: on
line diff
--- a/mercurial/filelog.py Fri Sep 28 11:37:49 2018 -0700 +++ b/mercurial/filelog.py Fri Sep 28 11:47:53 2018 -0700 @@ -135,26 +135,7 @@ returns True if text is different than what is stored. """ - - t = text - if text.startswith('\1\n'): - t = '\1\n\1\n' + text - - samehashes = not self._revlog.cmp(node, t) - if samehashes: - return False - - # censored files compare against the empty file - if self.iscensored(self.rev(node)): - return text != '' - - # renaming a file produces a different hash, even if the data - # remains unchanged. Check if it's the case (slow): - if self.renamed(node): - t2 = self.read(node) - return t2 != text - - return True + return storageutil.filerevisiondifferent(self, node, text) def verifyintegrity(self, state): return self._revlog.verifyintegrity(state)