Very simple patch that avoids a traceback when trying to search when
there's no index.
Cheers,
Jelmer
--
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [EMAIL PROTECTED]
# target_branch: lp:bzr-gtk
# testament_sha1: bdc6b203f64999945bad16883df5d1c8877f0450
# timestamp: 2008-07-17 14:31:16 +0200
# base_revision_id: [EMAIL PROTECTED]
#
# Begin patch
=== modified file 'search.py'
--- search.py 2008-07-01 15:28:30 +0000
+++ search.py 2008-07-17 12:30:39 +0000
@@ -26,7 +26,7 @@
class SearchDialog(gtk.Dialog):
"""Search dialog."""
- def __init__(self, branch, parent=None):
+ def __init__(self, index, parent=None):
gtk.Dialog.__init__(self, title="Search Revisions",
parent=parent,
flags=gtk.DIALOG_MODAL,
@@ -34,9 +34,7 @@
gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
# Get arguments
- self.branch = branch
-
- self.index = _mod_index.open_index_url(branch.base)
+ self.index = index
self.searchbar = gtk.HBox()
self.searchentry = gtk.Entry()
=== modified file 'viz/branchwin.py'
--- viz/branchwin.py 2008-07-01 21:54:21 +0000
+++ viz/branchwin.py 2008-07-17 12:30:39 +0000
@@ -420,8 +420,23 @@
_mod_index.index_url(self.branch.base)
def _branch_search_cb(self, w):
+ from bzrlib.plugins.search import index as _mod_index
from bzrlib.plugins.gtk.search import SearchDialog
- dialog = SearchDialog(self.branch)
+ from bzrlib.plugins.search import errors as search_errors
+
+ try:
+ index = _mod_index.open_index_url(self.branch.base)
+ except search_errors.NoSearchIndex:
+ dialog = gtk.MessageDialog(self, type=gtk.MESSAGE_QUESTION,
+ buttons=gtk.BUTTONS_OK_CANCEL,
+ message_format="This branch has not been indexed yet. "
+ "Index now?")
+ if dialog.run() == gtk.RESPONSE_OK:
+ index = _mod_index.index_url(self.branch.base)
+ else:
+ return
+
+ dialog = SearchDialog(index)
if dialog.run() == gtk.RESPONSE_OK:
self.set_revision(dialog.get_revision())
# Begin bundle
IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWW8ROxUAAmL/gERUAAhRZ///
/r//AL////BQBT53cbgUusdVC0UBJImhKfoNCbIyT1Ho1TR+qekYRkBoAbSNPUGqnkT0TyT0QAAA
AA0AAaNMmmgEigQjU9Kfqn6ptqZR6mRo9E2kyAZDQHqBoNDhppkYjCaYCGATTCMExMhpkaGgEkhN
NNJ6E0ymAp6mp7SnlPSPKejUMmmmjIZAIpHw+WWzVyXD/DH99nt+ZxfjF7x8oDXszZ2qKZRannlx
hUJcjzwrxsi1K50AOAyEEQDzfGV6xMxkzDMY7RXdc6hxH2puBcNXvhlI26RvHi07dUScMz/JfSTo
emfTh9BA+ovaFViMg5QkIZWVUIEkEU5QFCAxkljmq6qu/1bLIpzZthhMEjndNID+SfdEJcc+pzv2
7eVVmrL0P+nz45G3nMajgxiQq9GlVFe3mA5Y3OrW1oGRTk4laVwYYySlashmpO1EWeNCyudekF4U
GkpoepAHxkpi4EztneSUklYpaufTrNhbkXrvFuMLoxmhlW4XpvY8k+jioDtH3WP049ErUxwKSNQ9
YVPCrAvHZwwSJHheaddKhzLcUtLKCChoWzkXvHmBItLyFRcwDkRHGVZYVGV0mKiUknGS6Cw4yD+h
FSwlIKPDFzwGpozrVQxdaNfMCypRTJRisSA5wzzAr+kIXKJWTJmq0pQtNks3kVtgP0wtLCg+huMT
XM+1iJ0q1Ww0TvrIjDoGpjUbTIef3rCWqU1QJJDSM+W2sJlDu2l2E8iShmjJ6LjImWyjeEORadYF
YTItO4ZkHKzJjSVEytycPNAMTXPDxdz+HHMo1LGBlmD8VeirIx9R2sl5Mbw72p1teWD4oRiYmoZB
lU+SW/7ljKMoFbhHsyiXX8r6F4xt4OaW75jLwPQseXYZKCQBloFMQFqSB69nYVMWUeISm4qs0mFt
bLyZbHwTwNB305eBRskiijv1VcDWw1nsErCiicZBMj956X+XeOPR5E+8PIwD0I9onCWpXQSpJBMD
LBsT4hv8aHm9l6tKxLmaSRb+O0B04jelvlA9fpQNuxG3m4dgaziH+8tRA48BkyW1ye7/sJkDCR1H
rLAgFJa+UJhbllO/DGgGN/hkuViwMfAD7GjaTPNdRXUs4cfeQ+os61d8Dhs7nDy8ZEzutR3jHEwM
enqJEM9tGBH+/Alrz8UIy5MLHNRmjw6aYCUIcOnkbEFxilO5jxJwEUAOpqIjjYzcUVGJ2DFZtOB1
n0DHYONimX6Lyk8rLTnOq8oYZCazGg3Hj8jyGhBcmRaJ81Jz++NZkor59ZwGsH0UCkPPjkVFQoES
yLsQ6XrwdkS8Ggnuyv6iFkUKUHmd6UGbde+Mo2+zxsO1j2jgYrXr57Zm1hP1rSjlIwyC6EPL73pJ
yGv4qS4kCNAQSWPDptN0rlLWqibVUuen7TJwqm3qxKIL3shmpD6HZTIxgRJ1igxNa97e+N6r3UWQ
M1iCmiyyPNgehwlaD1sUFVNv5O0C7Bbt2wILysR9l5Ap0UAtttG5rX4JxMT/kTA6h/FhwmQF6HJP
QP5OAq8+jtuLmT5iVlmBuIA6HIDbvK6BvUVJGBAgzCuI3O96iBDOqqDfCHYJelVFq8Npx53nNgeq
nR0hmtSBj9sQiioV+eZpzidP3HhnYo3N7QdtddkFdDQ+544tBoyRMPnk4rYNGVvYBUT8LjzQNGsu
r55AeF6og37FcMZ9wE/FaAIgSQubCMIWCcOasdnmBucsFLSaf/F3JFOFCQbxE7FQ
--
bzr-gtk mailing list
[email protected]
Modify settings or unsubscribe at:
https://lists.canonical.com/mailman/listinfo/bzr-gtk