Mercurial > hg-stable
diff mercurial/revlog.py @ 644:6ebe118280bd
Performance enhancements for manifest.add()
# HG changeset patch
# User mason@suse.com
Performance enhancements for manifest.add()
Improve manifest.add performance by using bisect to insert/remove
changed items into the manifest list. This also generates the
manifest delta directly based on the changes being made.
author | mason@suse.com |
---|---|
date | Wed, 06 Jul 2005 22:28:35 -0800 |
parents | 4fc63e22b1fe |
children | 08b65d66f3e7 |
line wrap: on
line diff
--- a/mercurial/revlog.py Wed Jul 06 22:27:53 2005 -0800 +++ b/mercurial/revlog.py Wed Jul 06 22:28:35 2005 -0800 @@ -267,7 +267,7 @@ self.cache = (node, rev, text) return text - def addrevision(self, text, transaction, link, p1=None, p2=None): + def addrevision(self, text, transaction, link, p1=None, p2=None, d=None): if text is None: text = "" if p1 is None: p1 = self.tip() if p2 is None: p2 = nullid @@ -284,8 +284,9 @@ base = self.base(t) start = self.start(base) end = self.end(t) - prev = self.revision(self.tip()) - d = self.diff(prev, text) + if not d: + prev = self.revision(self.tip()) + d = self.diff(prev, text) data = compress(d) dist = end - start + len(data)