Rev 1816: Avoid retrieving path changes when unnecessary. in file:///data/jelmer/bzr-svn/trunk/
Jelmer Vernooij
jelmer at samba.org
Fri Sep 5 23:08:27 BST 2008
At file:///data/jelmer/bzr-svn/trunk/
------------------------------------------------------------
revno: 1816
revision-id: jelmer at samba.org-20080905220825-5un2327sps5sl6bi
parent: jelmer at samba.org-20080905212856-ryagmxjamqliyqmk
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Sat 2008-09-06 00:08:25 +0200
message:
Avoid retrieving path changes when unnecessary.
modified:
revmeta.py revmeta.py-20080901215045-n8a6arqybs9ez5hl-1
=== modified file 'revmeta.py'
--- a/revmeta.py 2008-09-05 21:16:32 +0000
+++ b/revmeta.py 2008-09-05 22:08:25 +0000
@@ -65,6 +65,11 @@
def __repr__(self):
return "<RevisionMetadata for revision %d in repository %s>" % (self.revnum, repr(self.uuid))
+ def changes_branch_root(self):
+ if self.knows_changed_fileprops():
+ return self.get_changed_fileprops() != {}
+ return self.branch_path in self.get_paths()
+
def get_paths(self):
if self._paths is None:
self._paths = self._log.get_revision_paths(self.revnum)
@@ -99,6 +104,12 @@
return self._revprops
+ def knows_changed_fileprops(self):
+ if self._changed_fileprops is None:
+ return False
+ changed_fileprops = self.get_changed_fileprops()
+ return isinstance(changed_fileprops, dict) or changed_fileprops.is_loaded
+
def knows_fileprops(self):
fileprops = self.get_fileprops()
return isinstance(fileprops, dict) or fileprops.is_loaded
@@ -116,7 +127,7 @@
def get_changed_fileprops(self):
if self._changed_fileprops is None:
- if self.branch_path in self.get_paths():
+ if self.changes_branch_root():
self._changed_fileprops = logwalker.lazy_dict({}, properties.diff, self.get_fileprops(), self.get_previous_fileprops())
else:
self._changed_fileprops = {}
@@ -188,7 +199,7 @@
return mapping.get_rhs_parents(self.branch_path, self.get_revprops(), self.get_changed_fileprops())
def get_svk_merges(self, mapping):
- if not self.branch_path in self.get_paths():
+ if not self.changes_branch_root():
return ()
current = self.get_fileprops().get(SVN_PROP_SVK_MERGE, "")
More information about the bazaar-commits
mailing list