From f065349b5f22078d70c60df8e2414a6a74b572c0 Mon Sep 17 00:00:00 2001 From: David Aguilar Date: Wed, 28 Dec 2011 00:53:52 -0800 Subject: [PATCH] dag: Always select the top-most commit Handle the case where dag.ref is a revision expression by simply selecting the top-most (last) node added to the graph. Signed-off-by: David Aguilar --- cola/dag/view.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cola/dag/view.py b/cola/dag/view.py index 2e184816..7ec1f2dd 100644 --- a/cola/dag/view.py +++ b/cola/dag/view.py @@ -219,6 +219,8 @@ class DAGView(standard.Widget): self.model = model self.dag = dag + self.commits = {} + self.commit_list = [] self.revtext = GitLogLineEdit(parent=self) self.maxresults = QtGui.QSpinBox() @@ -249,7 +251,6 @@ class DAGView(standard.Widget): self.top_layout.addWidget(self.zoom_out) self.top_layout.addWidget(self.zoom_in) - self.commits = {} self.notifier = notifier = observable.Observable() self.notifier.refs_updated = refs_updated = 'refs_updated' self.notifier.add_observer(refs_updated, self.display) @@ -411,8 +412,10 @@ class DAGView(standard.Widget): self.graphview.clear() self.treewidget.clear() self.commits.clear() + self.commit_list = [] def add_commits(self, commits): + self.commit_list.extend(commits) # Keep track of commits for commit_obj in commits: self.commits[commit_obj.sha1] = commit_obj @@ -423,8 +426,8 @@ class DAGView(standard.Widget): def thread_done(self): try: - commit_obj = self.commits[self.dag.ref] - except KeyError: + commit_obj = self.commit_list[-1] + except IndexError: return sig = signals.commits_selected self.notifier.notify_observers(sig, [commit_obj]) -- 2.11.4.GIT