~abentley/bzrtools/bzrtools.dev

« back to all changes in this revision

Viewing changes to __init__.py

MergeĀ fromĀ ab-baz2bzr

Show diffs side-by-side

added added

removed removed

Lines of Context:
4
4
"""
5
5
import bzrlib.commands
6
6
import push
7
 
import annotate
8
7
from shelf import Shelf
9
8
import sys
10
9
import os.path
32
31
        from clean_tree import clean_tree
33
32
        clean_tree('.', ignored=ignored, detritus=detritus, dry_run=dry_run)
34
33
 
35
 
Option.OPTIONS['no-collapse'] = Option('no-collapse')
36
 
Option.OPTIONS['no-antialias'] = Option('no-antialias')
37
 
Option.OPTIONS['cluster'] = Option('cluster')
38
34
Option.OPTIONS['merge-branch'] = Option('merge-branch',type=str)
39
35
 
40
36
class cmd_graph_ancestry(bzrlib.commands.Command):
41
37
    """Produce ancestry graphs using dot.
42
38
    
43
39
    Output format is detected according to file extension.  Some of the more
44
 
    common output formats are png, gif, svg, ps.  An extension of '.dot' will
45
 
    cause a dot graph file to be produced.
 
40
    common output formats are html, png, gif, svg, ps.  An extension of '.dot'
 
41
    will cause a dot graph file to be produced.  HTML output has mouseovers
 
42
    that show the commit message.
46
43
 
47
44
    Branches are labeled r?, where ? is the revno.  If they have no revno,
48
45
    with the last 5 characters of their revision identifier are used instead.
 
46
 
 
47
    The value starting with d is "(maximum) distance from the null revision".
49
48
    
50
49
    If --merge-branch is specified, the two branches are compared and a merge
51
50
    base is selected.
56
55
    red      OTHER history
57
56
    orange   COMMON history
58
57
    blue     COMMON non-history ancestor
59
 
    dotted   Missing from branch storage
 
58
    green    Merge base (COMMON ancestor farthest from the null revision)
 
59
    dotted   Ghost revision (missing from branch storage)
60
60
 
61
 
    Ancestry is usually collapsed by removing revisions with a single parent
 
61
    Ancestry is usually collapsed by skipping revisions with a single parent
62
62
    and descendant.  The number of skipped revisions is shown on the arrow.
63
63
    This feature can be disabled with --no-collapse.
64
64
 
69
69
    be disabled with --no-antialias.
70
70
    """
71
71
    takes_args = ['branch', 'file']
72
 
    takes_options = ['no-collapse', 'no-antialias', 'merge-branch', 'cluster']
 
72
    takes_options = [Option('no-collapse', help="Do not skip simple nodes"), 
 
73
                     Option('no-antialias',
 
74
                     help="Do not use rsvg to produce antialiased output"), 
 
75
                     Option('merge-branch', type=str, 
 
76
                     help="Use this branch to calcuate a merge base"), 
 
77
                     Option('cluster', help="Use clustered output.")]
73
78
    def run(self, branch, file, no_collapse=False, no_antialias=False,
74
79
        merge_branch=None, cluster=False):
75
80
        import graph
99
104
    """
100
105
    takes_args = ['filename?']
101
106
    takes_options = ['strip']
102
 
    def run(self, filename=None, strip=0):
 
107
    def run(self, filename=None, strip=1):
103
108
        from patch import patch
104
109
        from bzrlib.branch import Branch
105
110
        b = Branch.open_containing('.')[0]
191
196
command_decorators = []
192
197
 
193
198
import bzrlib.builtins
194
 
if not hasattr(bzrlib.builtins, "cmd_annotate"):
195
 
    commands.append(annotate.cmd_annotate)
196
199
if not hasattr(bzrlib.builtins, "cmd_push"):
197
200
    commands.append(push.cmd_push)
198
201
else: