bzr branch
http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz
1
by Scott James Remnant
Commit the first version of bzrk. |
1 |
#!/usr/bin/python
|
2 |
# -*- coding: UTF-8 -*-
|
|
3 |
"""GTK+ Branch Visualisation.
|
|
4 |
||
5 |
This is a bzr plugin that adds a new 'visualise' (alias: 'viz') command
|
|
6 |
which opens a GTK+ window to allow you to see the history of the branch
|
|
7 |
and relationships between revisions in a visual manner.
|
|
8 |
||
9 |
It's somewhat based on a screenshot I was handed of gitk. The top half
|
|
10 |
of the window shows the revisions in a list with a graph drawn down the
|
|
11 |
left hand side that joins them up and shows how they relate to each other.
|
|
12 |
The bottom hald of the window shows the details for the selected revision.
|
|
13 |
"""
|
|
14 |
||
15 |
__copyright__ = "Copyright © 2005 Canonical Ltd." |
|
16 |
__author__ = "Scott James Remnant <scott@ubuntu.com>" |
|
17 |
||
18 |
||
19 |
import bzrlib |
|
20 |
import bzrlib.commands |
|
21 |
||
22 |
from bzrlib.branch import Branch |
|
23 |
||
24 |
from bzrkapp import BzrkApp |
|
25 |
||
26 |
||
27 |
class cmd_visualise(bzrlib.commands.Command): |
|
28 |
"""Graphically visualise this branch. |
|
29 |
||
30 |
Opens a graphical window to allow you to see the history of the branch
|
|
31 |
and relationships between revisions in a visual manner,
|
|
32 |
||
33 |
The default starting point is latest revision on the branch, you can
|
|
34 |
specify a starting point with -r revision.
|
|
35 |
"""
|
|
36 |
takes_options = [ "revision" ] |
|
37 |
takes_args = [ "location?" ] |
|
38 |
aliases = [ "viz" ] |
|
39 |
||
40 |
def run(self, location=".", revision=None): |
|
41 |
branch = Branch.open_containing(location) |
|
42 |
if revision is None: |
|
43 |
revid = branch.last_revision() |
|
44 |
if revid is None: |
|
45 |
return
|
|
46 |
else: |
|
47 |
(revno, revid) = revision[0].in_history(branch) |
|
48 |
||
49 |
app = BzrkApp() |
|
50 |
app.show(branch, revid) |
|
51 |
app.main() |
|
52 |
||
53 |
||
54 |
bzrlib.commands.register_command(cmd_visualise) |