Mercurial > hg
changeset 2914:cd7bbb19b96e
merge with mpm.
author | Vadim Gelfer <vadim.gelfer@gmail.com> |
---|---|
date | Tue, 15 Aug 2006 09:37:58 -0700 |
parents | 05f357b70cb0 (current diff) 05257fd28591 (diff) |
children | 013921c753bd 8ca608c1eb02 |
files | |
diffstat | 3 files changed, 23 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/filelog.py Tue Aug 15 18:14:58 2006 +0300 +++ b/mercurial/filelog.py Tue Aug 15 09:37:58 2006 -0700 @@ -65,6 +65,27 @@ return (m["copy"], bin(m["copyrev"])) return False + def cmp(self, node, text): + """compare text with a given file revision""" + + # for renames, we have to go the slow way + if self.renamed(node): + t2 = self.read(node) + return t2 == text + + p1, p2 = self.parents(node) + h = hash(text, p1, p2) + + return h != node + + def makenode(self, node, text): + """calculate a file nodeid for text, descended or possibly + unchanged from node""" + + if self.cmp(node, text): + return hash(text, node, nullid) + return node + def annotate(self, node): def decorate(text, rev):
--- a/mercurial/localrepo.py Tue Aug 15 18:14:58 2006 +0300 +++ b/mercurial/localrepo.py Tue Aug 15 09:37:58 2006 -0700 @@ -668,8 +668,7 @@ def fcmp(fn, mf): t1 = self.wread(fn) - t2 = self.file(fn).read(mf.get(fn, nullid)) - return cmp(t1, t2) + return self.file(fn).cmp(mf.get(fn, nullid), t1) def mfmatches(node): change = self.changelog.read(node)