self.last_revision() == other.last_revision()):
return
if graph is None:
- graph = self.repository.get_graph()
- if not other.repository.get_graph().is_ancestor(self.last_revision(),
+ my_graph = self.repository.get_graph()
+ other_graph = other.repository.get_graph()
+ if not other_graph.is_ancestor(self.last_revision(),
stop_revision):
- if graph.is_ancestor(stop_revision, self.last_revision()):
+ if my_graph.is_ancestor(stop_revision, self.last_revision()):
return
if not overwrite:
raise DivergedBranches(self, other)
raise DivergedBranches(self, other)
if _push_merged is None:
_push_merged = self.layout.push_merged_revisions(self.project)
- self._push_missing_revisions(other, todo, _push_merged)
+ self._push_missing_revisions(other, other_graph, todo, _push_merged)
- def _push_missing_revisions(self, other, todo, push_merged=False):
- if push_merged:
- graph = other.repository.get_graph()
+ def _push_missing_revisions(self, other, other_graph, todo,
+ push_merged=False):
pb = ui.ui_factory.nested_progress_bar()
try:
for revid in todo:
pb.update("pushing revisions", todo.index(revid),
len(todo))
if push_merged:
- parent_revids = graph.get_parent_map([revid])[revid]
- push_ancestors(self.repository, other.repository, self.layout, self.project, parent_revids, graph)
+ parent_revids = other_graph.get_parent_map([revid])[revid]
+ push_ancestors(self.repository, other.repository, self.layout, self.project, parent_revids, other_graph)
push(self, other.repository, revid)
self._clear_cached_state()
finally:
return None
-def update_mergeinfo(repository, oldvalue, baserevid, merges):
- graph = repository.get_graph()
+def update_mergeinfo(repository, graph, oldvalue, baserevid, merges):
mergeinfo = properties.parse_mergeinfo_property(oldvalue)
for merge in merges:
for (revid, parents) in graph.iter_ancestry([merge]):
if new_svk_merges is not None:
self._svnprops[SVN_PROP_SVK_MERGE] = new_svk_merges
- new_mergeinfo = update_mergeinfo(self.repository, base_branch_props.get(properties.PROP_MERGEINFO, ""), self.base_revid, merges)
+ new_mergeinfo = update_mergeinfo(self.repository, graph, base_branch_props.get(properties.PROP_MERGEINFO, ""), self.base_revid, merges)
if new_mergeinfo is not None:
self._svnprops[properties.PROP_MERGEINFO] = new_mergeinfo
self.cache.insert_revid(entry_revid, branch, last_checked, revno, str(mapping.scheme))
self.revid_seen.add(entry_revid)
- # We've added all the revision ids for this layout in the repository,
- # so no need to check again unless new revisions got added
+ # We've added all the revision ids for this layout in the
+ # repository, so no need to check again unless new revisions got
+ # added
self.cache.set_last_revnum_checked(repr((layout, project)), last_revnum)
if not found:
raise e