summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2010-12-11 21:23:22 +0100
committerJelmer Vernooij <jelmer@samba.org>2010-12-11 21:23:22 +0100
commitbd968ff3140b8c3419c381d10d3b9811815afe3f (patch)
tree59819fbf450c40fa647dea60307f2b8fdd81824b
parenta1901b0fb6f6b7f1fa21486c85b4e723819929fb (diff)
downloadbzr-fastimport-bd968ff3140b8c3419c381d10d3b9811815afe3f.tar.gz
Avoid use of Repository.revisions, which may not be set.
-rw-r--r--revision_store.py19
1 files changed, 9 insertions, 10 deletions
diff --git a/revision_store.py b/revision_store.py
index a33c339..4ec4ba3 100644
--- a/revision_store.py
+++ b/revision_store.py
@@ -369,12 +369,13 @@ class AbstractRevisionStore(object):
timezone=rev.timezone, committer=rev.committer,
revprops=rev.properties, revision_id=rev.revision_id)
if self._graph is None and self._use_known_graph:
- if (getattr(_mod_graph, 'GraphThunkIdsToKeys', None) is None
- or getattr(_mod_graph.KnownGraph, 'add_node', None) is None):
- self._use_known_graph = False
+ if (getattr(_mod_graph, 'GraphThunkIdsToKeys', None) and
+ getattr(_mod_graph.GraphThunkIdsToKeys, "add_node", None) and
+ getattr(self.repo, "get_known_graph_ancestry", None)):
+ self._graph = self.repo.get_known_graph_ancestry(
+ rev.parent_ids)
else:
- self._graph = self.repo.revisions.get_known_graph_ancestry(
- [(r,) for r in rev.parent_ids])
+ self._use_known_graph = False
if self._graph is not None:
orig_heads = builder._heads
def thunked_heads(file_id, revision_ids):
@@ -384,8 +385,7 @@ class AbstractRevisionStore(object):
if len(revision_ids) < 2:
res = set(revision_ids)
else:
- res = set([h[0] for h in
- self._graph.heads([(r,) for r in revision_ids])])
+ res = set(self._graph.heads(revision_ids))
# if old_res != res:
# import pdb; pdb.set_trace()
return res
@@ -416,12 +416,11 @@ class AbstractRevisionStore(object):
builder.new_inventory, builder._config)
if self._graph is not None:
# TODO: Use StaticTuple and .intern() for these things
- self._graph.add_node((builder._new_revision_id,),
- [(p,) for p in rev.parent_ids])
+ self._graph.add_node(builder._new_revision_id, rev.parent_ids)
if signature is not None:
raise AssertionError('signatures not guaranteed yet')
- self.repo.add_signature_text(rev_id, signature)
+ self.repo.add_signature_text(rev.revision_id, signature)
# self._add_revision(rev, inv)
return builder.revision_tree().inventory