~abentley/bzrtools/bzrtools.dev

« back to all changes in this revision

Viewing changes to __init__.py

  • Committer: Aaron Bentley
  • Date: 2007-08-14 16:04:32 UTC
  • Revision ID: abentley@panoramicfeedback.com-20070814160432-19p95yu0ltkcsxbp
Don't check version when running non-bzrtools commands

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
 
23
23
import bzrlib
24
24
 
25
 
 
26
 
__version__ = '0.90.0'
27
 
 
28
 
 
29
 
version_info = tuple(int(n) for n in __version__.split('.'))
30
 
 
31
 
 
32
 
def check_bzrlib_version(desired):
33
 
    """Check that bzrlib is compatible.
34
 
 
35
 
    If version is < bzrtools version, assume incompatible.
36
 
    If version == bzrtools version, assume completely compatible
37
 
    If version == bzrtools version + 1, assume compatible, with deprecations
38
 
    Otherwise, assume incompatible.
39
 
    """
40
 
    desired_plus = (desired[0], desired[1]+1)
41
 
    bzrlib_version = bzrlib.version_info[:2]
42
 
    if bzrlib_version == desired or (bzrlib_version == desired_plus and
43
 
                                     bzrlib.version_info[3] == 'dev'):
44
 
        return
45
 
    try:
46
 
        from bzrlib.trace import warning
47
 
    except ImportError:
48
 
        # get the message out any way we can
49
 
        from warnings import warn as warning
50
 
    if bzrlib_version < desired:
51
 
        warning('Installed Bazaar version %s is too old to be used with'
52
 
                ' plugin \n'
53
 
                '"Bzrtools" %s.' % (bzrlib.__version__, __version__))
54
 
        # Not using BzrNewError, because it may not exist.
55
 
        raise Exception, ('Version mismatch', version_info)
56
 
    else:
57
 
        warning('Plugin "Bzrtools" is not up to date with installed Bazaar'
58
 
                ' version %s.\n'
59
 
                ' There should be a newer version of Bzrtools available, e.g.'
60
 
                ' %i.%i.'
61
 
                % (bzrlib.__version__, bzrlib_version[0], bzrlib_version[1]))
62
 
        if bzrlib_version != desired_plus:
63
 
            raise Exception, 'Version mismatch'
64
 
 
65
 
 
66
 
check_bzrlib_version(version_info[:2])
67
 
 
68
25
from bzrlib.lazy_import import lazy_import
69
26
lazy_import(globals(), """
70
27
from bzrlib import help
71
28
import shelf
72
29
""")
73
30
 
 
31
from version import version_info, __version__
 
32
from command import BzrToolsCommand
74
33
from errors import CommandError, NoPyBaz
75
34
from patchsource import BzrPatchSource
76
35
import sys
86
45
                                                 "external")))
87
46
 
88
47
import show_paths
 
48
from command import BzrToolsCommand
89
49
 
90
50
bzrlib.ignores.add_runtime_ignores(['./.shelf'])
91
51
 
92
52
 
93
 
class cmd_clean_tree(bzrlib.commands.Command):
 
53
class cmd_clean_tree(BzrToolsCommand):
94
54
    """Remove unwanted files from working tree.
95
55
 
96
56
    By default, only unknown files, not ignored files, are deleted.  Versioned
120
80
                   dry_run=dry_run)
121
81
 
122
82
 
123
 
class cmd_graph_ancestry(bzrlib.commands.Command):
 
83
class cmd_graph_ancestry(BzrToolsCommand):
124
84
    """Produce ancestry graphs using dot.
125
85
    
126
86
    Output format is detected according to file extension.  Some of the more
185
145
                                  max_distance=max_distance)
186
146
 
187
147
 
188
 
class cmd_fetch_ghosts(bzrlib.commands.Command):
 
148
class cmd_fetch_ghosts(BzrToolsCommand):
189
149
    """Attempt to retrieve ghosts from another branch.
190
150
    If the other branch is not supplied, the last-pulled branch is used.
191
151
    """
200
160
each file name found in the patch file."""
201
161
 
202
162
 
203
 
class cmd_patch(bzrlib.commands.Command):
 
163
class cmd_patch(BzrToolsCommand):
204
164
    """Apply a named patch to the current tree.
205
165
    """
206
166
    takes_args = ['filename?']
215
175
        return patch(wt, filename, strip, silent)
216
176
 
217
177
 
218
 
class cmd_shelve(bzrlib.commands.Command):
 
178
class cmd_shelve(BzrToolsCommand):
219
179
    """Temporarily set aside some changes from the current tree.
220
180
 
221
181
    Shelve allows you to temporarily put changes you've made "on the shelf",
310
270
        self.shelf.upgrade()
311
271
 
312
272
 
313
 
class cmd_shelf(bzrlib.commands.Command):
 
273
class cmd_shelf(BzrToolsCommand):
314
274
    """Perform various operations on your shelved patches. See also shelve."""
315
275
    takes_args = ['subcommand', 'args*']
316
276
 
376
336
        return text
377
337
 
378
338
 
379
 
class cmd_unshelve(bzrlib.commands.Command):
 
339
class cmd_unshelve(BzrToolsCommand):
380
340
    """Restore shelved changes.
381
341
 
382
342
    By default the most recently shelved changes are restored. However if you
397
357
        return 0
398
358
 
399
359
 
400
 
class cmd_shell(bzrlib.commands.Command):
 
360
class cmd_shell(BzrToolsCommand):
401
361
    """Begin an interactive shell tailored for bzr.
402
362
    Bzr commands can be used without typing bzr first, and will be run natively
403
363
    when possible.  Tab completion is tailored for bzr.  The shell prompt shows
420
380
        return shell.run_shell()
421
381
 
422
382
 
423
 
class cmd_branch_history(bzrlib.commands.Command):
 
383
class cmd_branch_history(BzrToolsCommand):
424
384
    """\
425
385
    Display the development history of a branch.
426
386
 
434
394
        return branch_history(branch)
435
395
 
436
396
 
437
 
class cmd_zap(bzrlib.commands.Command):
 
397
class cmd_zap(BzrToolsCommand):
438
398
    """\
439
399
    Remove a lightweight checkout, if it can be done safely.
440
400
 
453
413
        return zap(checkout, remove_branch=branch)
454
414
 
455
415
 
456
 
class cmd_cbranch(bzrlib.commands.Command):
 
416
class cmd_cbranch(BzrToolsCommand):
457
417
    """
458
418
    Create a new checkout, associated with a new repository branch.
459
419
 
481
441
                       revision=revision)
482
442
 
483
443
 
484
 
class cmd_branches(bzrlib.commands.Command):
 
444
class cmd_branches(BzrToolsCommand):
485
445
    """Scan a location for branches"""
486
446
    takes_args = ["location?"]
487
447
    def run(self, location=None):
489
449
        return branches(location)
490
450
 
491
451
 
492
 
class cmd_multi_pull(bzrlib.commands.Command):
 
452
class cmd_multi_pull(BzrToolsCommand):
493
453
    """Pull all the branches under a location, e.g. a repository.
494
454
 
495
455
    Both branches present in the directory and the branches of checkouts are
529
489
                print e
530
490
 
531
491
 
532
 
class cmd_branch_mark(bzrlib.commands.Command):
 
492
class cmd_branch_mark(BzrToolsCommand):
533
493
    """
534
494
    Add, view or list branch markers <EXPERIMENTAL>
535
495
 
547
507
        branch_mark(mark, branch, delete)
548
508
 
549
509
 
550
 
class cmd_import(bzrlib.commands.Command):
 
510
class cmd_import(BzrToolsCommand):
551
511
    """Import sources from a directory, tarball or zip file
552
512
 
553
513
    This command will import a directory, tarball or zip file into a bzr
567
527
        do_import(source, tree)
568
528
 
569
529
 
570
 
class cmd_cdiff(bzrlib.commands.Command):
 
530
class cmd_cdiff(BzrToolsCommand):
571
531
    """A color version of bzr's diff"""
572
532
    takes_args = property(lambda x: get_cmd_object('diff').takes_args)
573
533
    takes_options = list(get_cmd_object('diff').takes_options) + [
580
540
        colordiff(check_style, *args, **kwargs)
581
541
 
582
542
 
583
 
class cmd_baz_import(bzrlib.commands.Command):
 
543
class cmd_baz_import(BzrToolsCommand):
584
544
    """Import an Arch or Baz archive into a bzr repository.
585
545
 
586
546
    This command should be used on local archives (or mirrors) only.  It is
622
582
            print "This command is disabled.  Please install PyBaz."
623
583
 
624
584
 
625
 
class cmd_baz_import_branch(bzrlib.commands.Command):
 
585
class cmd_baz_import_branch(BzrToolsCommand):
626
586
    """Import an Arch or Baz branch into a bzr branch.
627
587
 
628
588
    WARNING: Encoding should not be specified unless necessary, because if you
652
612
            print "This command is disabled.  Please install PyBaz."
653
613
 
654
614
 
655
 
class cmd_rspush(bzrlib.commands.Command):
 
615
class cmd_rspush(BzrToolsCommand):
656
616
    """Upload this branch to another location using rsync.
657
617
 
658
618
    If no location is specified, the last-used location will be used.  To
674
634
                      working_tree=not no_tree)
675
635
 
676
636
 
677
 
class cmd_switch(bzrlib.commands.Command):
 
637
class cmd_switch(BzrToolsCommand):
678
638
    """Set the branch of a lightweight checkout and update."""
679
639
 
680
640
    takes_args = ['to_location']