/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to __init__.py

  • Committer: Szilveszter Farkas (Phanatic)
  • Date: 2007-03-10 17:16:44 UTC
  • mfrom: (169 trunk)
  • mto: (170.1.3 trunk)
  • mto: This revision was merged to the branch mainline in revision 172.
  • Revision ID: szilveszter.farkas@gmail.com-20070310171644-83yc6fd8ique6scx
MergeĀ fromĀ trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
import bzrlib
18
18
 
19
 
__version__ = '0.15.0'
 
19
__version__ = '0.16.0'
20
20
version_info = tuple(int(n) for n in __version__.split('.'))
21
21
 
22
22
 
167
167
    def run(self, revision=None, filename=None):
168
168
        set_ui_factory()
169
169
        wt = workingtree.WorkingTree.open_containing(".")[0]
170
 
        branch = wt.branch
171
 
        if revision is not None:
172
 
            if len(revision) == 1:
 
170
        wt.lock_read()
 
171
        try:
 
172
            branch = wt.branch
 
173
            if revision is not None:
 
174
                if len(revision) == 1:
 
175
                    tree1 = wt
 
176
                    revision_id = revision[0].in_history(branch).rev_id
 
177
                    tree2 = branch.repository.revision_tree(revision_id)
 
178
                elif len(revision) == 2:
 
179
                    revision_id_0 = revision[0].in_history(branch).rev_id
 
180
                    tree2 = branch.repository.revision_tree(revision_id_0)
 
181
                    revision_id_1 = revision[1].in_history(branch).rev_id
 
182
                    tree1 = branch.repository.revision_tree(revision_id_1)
 
183
            else:
173
184
                tree1 = wt
174
 
                revision_id = revision[0].in_history(branch).rev_id
175
 
                tree2 = branch.repository.revision_tree(revision_id)
176
 
            elif len(revision) == 2:
177
 
                revision_id_0 = revision[0].in_history(branch).rev_id
178
 
                tree2 = branch.repository.revision_tree(revision_id_0)
179
 
                revision_id_1 = revision[1].in_history(branch).rev_id
180
 
                tree1 = branch.repository.revision_tree(revision_id_1)
181
 
        else:
182
 
            tree1 = wt
183
 
            tree2 = tree1.basis_tree()
184
 
 
185
 
        from diff import DiffWindow
186
 
        import gtk
187
 
        window = DiffWindow()
188
 
        window.connect("destroy", gtk.main_quit)
189
 
        window.set_diff("Working Tree", tree1, tree2)
190
 
        if filename is not None:
191
 
            tree_filename = wt.relpath(filename)
192
 
            try:
193
 
                window.set_file(tree_filename)
194
 
            except NoSuchFile:
195
 
                if (tree1.inventory.path2id(tree_filename) is None and 
196
 
                    tree2.inventory.path2id(tree_filename) is None):
197
 
                    raise NotVersionedError(filename)
198
 
                raise BzrCommandError('No changes found for file "%s"' % 
199
 
                                      filename)
200
 
        window.show()
201
 
 
202
 
        gtk.main()
 
185
                tree2 = tree1.basis_tree()
 
186
 
 
187
            from diff import DiffWindow
 
188
            import gtk
 
189
            window = DiffWindow()
 
190
            window.connect("destroy", gtk.main_quit)
 
191
            window.set_diff("Working Tree", tree1, tree2)
 
192
            if filename is not None:
 
193
                tree_filename = wt.relpath(filename)
 
194
                try:
 
195
                    window.set_file(tree_filename)
 
196
                except NoSuchFile:
 
197
                    if (tree1.inventory.path2id(tree_filename) is None and 
 
198
                        tree2.inventory.path2id(tree_filename) is None):
 
199
                        raise NotVersionedError(filename)
 
200
                    raise BzrCommandError('No changes found for file "%s"' % 
 
201
                                          filename)
 
202
            window.show()
 
203
 
 
204
            gtk.main()
 
205
        finally:
 
206
            wt.unlock()
203
207
 
204
208
register_command(cmd_gdiff)
205
209
 
282
286
        from annotate.gannotate import GAnnotateWindow
283
287
        from annotate.config import GAnnotateConfig
284
288
 
285
 
        try:
286
 
            (tree, path) = workingtree.WorkingTree.open_containing(filename)
287
 
            br = tree.branch
288
 
        except errors.NoWorkingTree:
289
 
            (br, path) = branch.Branch.open_containing(filename)
 
289
        wt, br, path = BzrDir.open_containing_tree_or_branch(filename)
 
290
        if wt is not None:
 
291
            tree = wt
 
292
        else:
290
293
            tree = br.basis_tree()
291
294
 
292
295
        file_id = tree.path2id(path)
307
310
        config = GAnnotateConfig(window)
308
311
        window.show()
309
312
        br.lock_read()
 
313
        if wt is not None:
 
314
            wt.lock_read()
310
315
        try:
311
316
            window.annotate(tree, br, file_id)
 
317
            window.jump_to_line(line)
 
318
            gtk.main()
312
319
        finally:
313
320
            br.unlock()
314
 
        window.jump_to_line(line)
315
 
        
316
 
        gtk.main()
 
321
            if wt is not None:
 
322
                wt.unlock()
317
323
 
318
324
register_command(cmd_gannotate)
319
325
 
429
435
def test_suite():
430
436
    from unittest import TestSuite
431
437
    import tests
432
 
    result = TestSuite()
433
 
    result.addTest(tests.test_suite())
 
438
    import sys
 
439
    default_encoding = sys.getdefaultencoding()
 
440
    try:
 
441
        result = TestSuite()
 
442
        result.addTest(tests.test_suite())
 
443
    finally:
 
444
        reload(sys)
 
445
        sys.setdefaultencoding(default_encoding)
434
446
    return result