[meld/VersionControlRework: 19/123] meld.vc.bzr: Adapt bzr to follow the same caching pattern as other VCs
- From: Kai Willadsen <kaiw src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [meld/VersionControlRework: 19/123] meld.vc.bzr: Adapt bzr to follow the same caching pattern as other VCs
- Date: Sun, 19 Apr 2015 20:07:35 +0000 (UTC)
commit e2e8c0ad58d47d34b0a1bd8680046fc3aec8beee
Author: Kai Willadsen <kai willadsen gmail com>
Date: Sun Mar 22 07:56:50 2015 +1000
meld.vc.bzr: Adapt bzr to follow the same caching pattern as other VCs
meld/vc/bzr.py | 16 ++++++++++------
1 files changed, 10 insertions(+), 6 deletions(-)
---
diff --git a/meld/vc/bzr.py b/meld/vc/bzr.py
index 55bf859..f46827a 100644
--- a/meld/vc/bzr.py
+++ b/meld/vc/bzr.py
@@ -149,8 +149,15 @@ class Vc(_vc.Vc):
return sorted(list(set(files)))
def cache_tree(self):
+ tree_state = {}
+ self._update_tree_state_cache("./", tree_state)
+ return tree_state
+
+ def _update_tree_state_cache(self, path, tree_state):
+ # FIXME: This actually clears out state information, because the
+ # current API doesn't have any state outside of _tree_cache.
branch_root = _vc.popen(
- [self.CMD] + self.CMDARGS + ["root", "./"],
+ [self.CMD] + self.CMDARGS + ["root", path],
cwd=self.location).read().rstrip('\n')
entries = []
while 1:
@@ -163,7 +170,7 @@ class Vc(_vc.Vc):
if e.errno != errno.EAGAIN:
raise
- self._tree_cache = tree_cache = defaultdict(set)
+ tree_cache = defaultdict(set)
self._tree_meta_cache = tree_meta_cache = defaultdict(list)
self._rename_cache = rename_cache = {}
self._reverse_rename_cache = {}
@@ -206,8 +213,6 @@ class Vc(_vc.Vc):
if executable_match:
meta.append(executable_match.group(2))
-
-
tree_cache[path].update(states)
tree_meta_cache[path].extend(meta)
@@ -220,8 +225,7 @@ class Vc(_vc.Vc):
del tree_meta_cache[old]
self._reverse_rename_cache[new] = old
- tree_cache = dict((x, max(y)) for x,y in tree_cache.items())
- return tree_cache
+ tree_state.update(dict((x, max(y)) for x, y in tree_cache.items()))
def _get_dirsandfiles(self, directory, dirs, files):
tree = self._get_tree_cache()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]