Rev 328: Start using repository rather than branch in viz, in preparation of support for displaying multiple branches. in file:///data/jelmer/bzr-gtk/trunk/

Jelmer Vernooij jelmer at samba.org
Wed Oct 31 02:01:44 GMT 2007


At file:///data/jelmer/bzr-gtk/trunk/

------------------------------------------------------------
revno: 328
revision-id:jelmer at samba.org-20071031020139-fmavr1z26v70uaov
parent: jelmer at samba.org-20071030234227-cm6b5m8itw4bsntu
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Wed 2007-10-31 03:01:39 +0100
message:
  Start using repository rather than branch in viz, in preparation of support for displaying multiple branches.
modified:
  viz/branchwin.py               branchwin.py-20051016222514-15fd120652fcf25c
  viz/linegraph.py               graph.py-20051016214152-ebf565808c860cf7
  viz/treemodel.py               treemodel.py-20070909175138-leue3q5w1rxy86hw-1
  viz/treeview.py                treeview.py-20071020204704-vk1erblrjhbcgw94-1
=== modified file 'viz/branchwin.py'
--- a/viz/branchwin.py	2007-10-30 23:42:27 +0000
+++ b/viz/branchwin.py	2007-10-31 02:01:39 +0000
@@ -100,7 +100,7 @@
 
     def construct_top(self):
         """Construct the top-half of the window."""
-        self.treeview = TreeView(self.branch, self.start, self.maxnum)
+        self.treeview = TreeView(self.branch.repository, self.start, self.maxnum)
 
         self.treeview.connect("revision-selected",
                 self._treeselection_changed_cb)
@@ -178,6 +178,6 @@
 
     def _show_clicked_cb(self, revid, parentid):
         """Callback for when the show button for a parent is clicked."""
-        self.treeview.show_diff(self.branch, revid, parentid)
+        self.treeview.show_diff(self.branch.repository, revid, parentid)
         self.treeview.grab_focus()
 

=== modified file 'viz/linegraph.py'
--- a/viz/linegraph.py	2007-10-01 21:45:28 +0000
+++ b/viz/linegraph.py	2007-10-31 02:01:39 +0000
@@ -11,8 +11,8 @@
 
 from bzrlib.tsort import merge_sort
 
-def linegraph(branch, start, maxnum):
-    """Produce a directed graph of a bzr branch.
+def linegraph(repository, start, maxnum):
+    """Produce a directed graph of a bzr repository.
 
     Returns a tuple of (line_graph, revid_index, columns_len) where
     * line_graph is a list of tuples of (revid,
@@ -44,11 +44,7 @@
     # FIXME: This should be configurable
     BROKEN_LINE_LENGTH = 32
     
-    # We get the mainline so we can pass it to merge_sort to make merge_sort
-    # run faster.
-    mainline = [None]
-    mainline.extend(branch.revision_history())
-    graph_parents = branch.repository.get_revision_graph(start)
+    graph_parents = repository.get_revision_graph(start)
     graph_children = {}
     for revid in graph_parents.iterkeys():
         graph_children[revid] = []
@@ -56,7 +52,6 @@
     merge_sorted_revisions = merge_sort(
         graph_parents,
         start,
-        mainline,
         generate_revno=True)
     
     revid_index = {}

=== modified file 'viz/treemodel.py'
--- a/viz/treemodel.py	2007-10-02 22:55:24 +0000
+++ b/viz/treemodel.py	2007-10-31 02:01:39 +0000
@@ -29,10 +29,10 @@
 class TreeModel(gtk.GenericTreeModel):
 
     
-    def __init__ (self, branch, line_graph_data):
+    def __init__ (self, repository, line_graph_data):
         gtk.GenericTreeModel.__init__(self)
         self.revisions = {}
-        self.branch = branch
+        self.repository = repository
         self.line_graph_data = line_graph_data
     
     def on_get_flags(self):
@@ -76,7 +76,7 @@
                                       for revno in revno_sequence])
         
         if revid not in self.revisions:
-            revision = self.branch.repository.get_revisions([revid])[0]
+            revision = self.repository.get_revisions([revid])[0]
             self.revisions[revid] = revision
         else:
             revision = self.revisions[revid]

=== modified file 'viz/treeview.py'
--- a/viz/treeview.py	2007-10-24 18:03:11 +0000
+++ b/viz/treeview.py	2007-10-31 02:01:39 +0000
@@ -29,10 +29,10 @@
                                   ())
     }
 
-    def __init__(self, branch, start, maxnum):
+    def __init__(self, repository, start, maxnum):
         """Create a new TreeView.
 
-        :param branch: Branch object for branch to show.
+        :param repository: Repository object to use for retrieving revisions.
         :param start: Revision id of top revision.
         :param maxnum: Maximum number of revisions to display, 
                        None for no limit.
@@ -44,8 +44,8 @@
 
         self.construct_treeview()
 
-        self.branch = branch
-        self.branch.lock_read()
+        self.repository = repository
+        self.repository.lock_read()
 
         gobject.idle_add(self.populate, start, maxnum)
 
@@ -53,7 +53,7 @@
         self.children = None
         self.parents  = None
 
-        self.connect('destroy', lambda w: self.branch.unlock())
+        self.connect('destroy', lambda w: self.repository.unlock())
 
     def get_revision(self):
         """Return revision id of currently selected revision, or None."""
@@ -124,11 +124,11 @@
         :param maxnum: Maximum number of revisions to display, or None 
                        for no limit.
         """
-        (linegraphdata, index, columns_len) = linegraph(self.branch,
+        (linegraphdata, index, columns_len) = linegraph(self.repository,
                                                         start,
                                                         maxnum)
 
-        self.model = TreeModel(self.branch, linegraphdata)
+        self.model = TreeModel(self.repository, linegraphdata)
         self.graph_cell.columns_len = columns_len
         width = self.graph_cell.get_size(self.treeview)[2]
         self.graph_column.set_fixed_width(width)
@@ -140,13 +140,15 @@
 
         return False
 
-    def show_diff(self, branch, revid, parentid):
+    def show_diff(self, repository, revid, parentid):
         """Open a new window to show a diff between the given revisions."""
         from bzrlib.plugins.gtk.diff import DiffWindow
         window = DiffWindow(parent=self)
-        (parent_tree, rev_tree) = branch.repository.revision_trees([parentid, 
-                                                                   revid])
-        description = revid + " - " + branch.nick
+        (parent_tree, rev_tree) = repository.revision_trees([parentid, revid])
+        description = revid
+        rev = repository.get_revision(revid)
+        if rev.properties.has("branch-nick"):
+            rev += " - " + rev.properties['branch-nick']
         window.set_diff(description, rev_tree, parent_tree)
         window.show()
 
@@ -227,9 +229,8 @@
     def _on_revision_selected(self, widget, event):
         from bzrlib.plugins.gtk.revisionmenu import RevisionPopupMenu
         if event.button == 3:
-            menu = RevisionPopupMenu(self.branch.repository, 
-                [self.get_revision().revision_id],
-                self.branch)
+            menu = RevisionPopupMenu(self.repository, 
+                [self.get_revision().revision_id])
             menu.popup(None, None, None, event.button, event.get_time())
 
     def _on_revision_activated(self, widget, path, col):
@@ -241,5 +242,5 @@
             # Ignore revisions without parent
             return
         parent_id = parents[0]
-        self.show_diff(self.branch, revision_id, parent_id)
+        self.show_diff(self.repository, revision_id, parent_id)
         self.treeview.grab_focus()




More information about the bazaar-commits mailing list