It's not much but better than nothing at all. It should at least prevent 
regressions like the one
we had recently. 

Cheers,

Jelmer
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [EMAIL PROTECTED]
# target_branch: lp:bzr-gtk
# testament_sha1: 2320d2e201e3b3a27707566133c72f39f43eeb3a
# timestamp: 2008-06-29 17:54:58 +0200
# base_revision_id: [EMAIL PROTECTED]
# 
# Begin patch
=== modified file 'branchview/linegraph.py'
--- branchview/linegraph.py	2008-05-04 18:16:01 +0000
+++ branchview/linegraph.py	2008-06-29 15:54:40 +0000
@@ -12,8 +12,8 @@
 from bzrlib.revision import NULL_REVISION
 from bzrlib.tsort import merge_sort
 
-def linegraph(repository, start_revs, maxnum, broken_line_length = None,
-              graph_data = True, mainline_only = False):
+def linegraph(graph, start_revs, maxnum=None, broken_line_length=None,
+              graph_data=True, mainline_only=False):
     """Produce a directed graph of a bzr repository.
 
     Returns a tuple of (line_graph, revid_index, columns_len) where
@@ -43,7 +43,6 @@
     curved, kinked, etc.) and to pick the actual colours for each index.
     """
     
-    graph = repository.get_graph()
     graph_parents = {}
     ghosts = set()
     graph_children = {}

=== modified file 'branchview/treeview.py'
--- branchview/treeview.py	2008-06-28 15:45:39 +0000
+++ branchview/treeview.py	2008-06-29 15:47:30 +0000
@@ -285,7 +285,7 @@
         show_graph = self.graph_column.get_visible()
 
         self.branch.lock_read()
-        (linegraphdata, index, columns_len) = linegraph(self.branch.repository,
+        (linegraphdata, index, columns_len) = linegraph(self.branch.repository.get_graph(),
                                                         (self.start,) , # Sequence of start revisions
                                                         self.maxnum, 
                                                         broken_line_length,

=== modified file 'tests/__init__.py'
--- tests/__init__.py	2007-10-30 21:15:13 +0000
+++ tests/__init__.py	2008-06-29 15:54:40 +0000
@@ -27,6 +27,7 @@
     testmod_names = [
         'test_commit',
         'test_diff',
+        'test_linegraph',
         'test_preferences',
         'test_history',
         ]

=== added file 'tests/test_linegraph.py'
--- tests/test_linegraph.py	1970-01-01 00:00:00 +0000
+++ tests/test_linegraph.py	2008-06-29 15:54:40 +0000
@@ -0,0 +1,45 @@
+# Copyright (C) 2008 Jelmer Vernooij <[EMAIL PROTECTED]>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+"""Test the linegraph functionality."""
+
+import os
+
+import gtk
+
+from bzrlib import (
+	graph,
+    tests,
+    )
+from bzrlib.util import bencode
+
+from bzrlib.plugins.gtk.branchview.linegraph import linegraph
+
+
+class TestLinegraph(tests.TestCase):
+	def get_graph(self, dict):
+		return graph.Graph(graph.DictParentsProvider(dict))
+
+	def test_simple(self):
+		lg = linegraph(self.get_graph({"A": ("B", "C"), "B": ()}), ["A"])
+		self.assertEquals(lg,  
+            ([
+               ['A', (0, 0), [(0, 0, 0)], ['B'], [], (2,)],
+               ['B', (0, 0), [], (), ['A'], (1,)]
+             ],
+             {'A': 0, 'B': 1},
+             1))
+

# Begin bundle
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
rBUlri5iLiKzBjz9zv+LuSKcKEhg4qjkgA==
-- 
bzr-gtk mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.canonical.com/mailman/listinfo/bzr-gtk

Reply via email to