Changeset f931a576adff…
Parent ba178804fc20…
by
Changes to 2 files · Browse files at f931a576adff Showing diff from parent ba178804fc20 Diff from another changeset...
@@ -133,6 +133,19 @@ else:
parent = self.repo[-1]
+ oldother = hasattr(self, 'otherparent') and self.otherparent or None
+ self.otherparent = len(parents) == 2 and self.diff_other_parent()
+
+ # refresh merge row without graph redrawing
+ if self.graphview:
+ gview = self.graphview
+ if oldother:
+ gview.model.clear_parents()
+ elif self.otherparent:
+ gview.model.set_parent(ctx.rev(), parent)
+ gview.hide()
+ gview.show()
+
# update dialog title
self.set_title(title)
|
@@ -51,8 +51,8 @@ self.origtip = opts['orig-tip']
self.npreviews = opts['npreviews']
self.showgraph = opts['show-graph']
- self.revisions = {}
self.graphdata = graphdata
+ self.revisions, self.parents = {}, {}
self.wcparents, self.tagrevs, self.branchtags = [], [], {}
self.refresh()
@@ -230,7 +230,10 @@ # new
status += 2
- M, A, R = self.repo.status(ctx.parents()[0].node(), ctx.node())[:3]
+ parent = self.parents.get(revid, None)
+ if parent is None:
+ parent = ctx.parents()[0].node()
+ M, A, R = self.repo.status(parent, ctx.node())[:3]
common = dict(color='black')
M = M and gtklib.markup(' %s ' % len(M),
background=gtklib.PORANGE, **common) or ''
@@ -309,3 +312,13 @@ self.color_cache[author] = color
return self.color_cache[author]
+ def set_parent(self, rev, parent):
+ self.parents[rev] = parent
+ if rev in self.revisions:
+ del self.revisions[rev]
+
+ def clear_parents(self):
+ for rev in self.parents.keys():
+ if rev in self.revisions:
+ del self.revisions[rev]
+ self.parents = {}
|
Loading...