~abentley/bzrtools/bzrtools.dev

« back to all changes in this revision

Viewing changes to __init__.py

  • Committer: Aaron Bentley
  • Date: 2006-12-12 22:58:12 UTC
  • Revision ID: abentley@panoramicfeedback.com-20061212225812-9xwer0h2uqjz2lxb
Generalize tests for zip

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2005, 2006, 2007 Aaron Bentley <aaron.bentley@utoronto.ca>
 
1
# Copyright (C) 2005, 2006 Aaron Bentley <aaron.bentley@utoronto.ca>
2
2
# Copyright (C) 2005, 2006 Canonical Limited.
3
3
# Copyright (C) 2006 Michael Ellerman.
4
4
#
23
23
import bzrlib
24
24
 
25
25
 
26
 
__version__ = '0.17.0'
 
26
__version__ = '0.14.0'
27
27
 
28
28
 
29
29
version_info = tuple(int(n) for n in __version__.split('.'))
47
47
        # get the message out any way we can
48
48
        from warnings import warn as warning
49
49
    if bzrlib_version < desired:
50
 
        warning('Installed Bazaar version %s is too old to be used with'
51
 
                ' plugin \n'
52
 
                '"Bzrtools" %s.' % (bzrlib.__version__, __version__))
 
50
        warning('Installed bzr version %s is too old to be used with bzrtools'
 
51
                ' %s.' % (bzrlib.__version__, __version__))
53
52
        # Not using BzrNewError, because it may not exist.
54
53
        raise Exception, ('Version mismatch', version_info)
55
54
    else:
56
 
        warning('Plugin "Bzrtools" is not up to date with installed Bazaar'
57
 
                ' version %s.\n'
58
 
                ' There should be a newer version of Bzrtools available, e.g.'
59
 
                ' %i.%i.'
 
55
        warning('Bzrtools is not up to date with installed bzr version %s.'
 
56
                ' \nThere should be a newer version available, e.g. %i.%i.' 
60
57
                % (bzrlib.__version__, bzrlib_version[0], bzrlib_version[1]))
61
58
        if bzrlib_version != desired_plus:
62
59
            raise Exception, 'Version mismatch'
64
61
 
65
62
check_bzrlib_version(version_info[:2])
66
63
 
67
 
from bzrlib.lazy_import import lazy_import
68
 
lazy_import(globals(), """
69
 
from bzrlib import help
70
 
import shelf
71
 
""")
72
64
 
73
65
from errors import CommandError, NoPyBaz
74
66
from patchsource import BzrPatchSource
 
67
from shelf import Shelf
75
68
import sys
76
69
import os.path
77
70
 
79
72
import bzrlib.commands
80
73
from bzrlib.commands import get_cmd_object
81
74
from bzrlib.errors import BzrCommandError
 
75
from bzrlib.help import command_usage
82
76
import bzrlib.ignores
83
77
from bzrlib.option import Option
84
78
sys.path.insert(0, os.path.realpath(os.path.join(os.path.dirname(__file__), 
160
154
                     help="Do not use rsvg to produce antialiased output"), 
161
155
                     Option('merge-branch', type=str, 
162
156
                     help="Use this branch to calcuate a merge base"), 
163
 
                     Option('cluster', help="Use clustered output."),
164
 
                     Option('max-distance', help="Show no nodes farther than this",
165
 
                            type=int)]
 
157
                     Option('cluster', help="Use clustered output.")]
166
158
    def run(self, branch, file, no_collapse=False, no_antialias=False,
167
 
        merge_branch=None, cluster=False, max_distance=None):
 
159
        merge_branch=None, cluster=False):
168
160
        import graph
169
161
        if cluster:
170
162
            ranking = "cluster"
171
163
        else:
172
164
            ranking = "forced"
173
165
        graph.write_ancestry_file(branch, file, not no_collapse, 
174
 
                                  not no_antialias, merge_branch, ranking, 
175
 
                                  max_distance=max_distance)
 
166
                                  not no_antialias, merge_branch, ranking)
176
167
 
177
168
 
178
169
class cmd_fetch_ghosts(bzrlib.commands.Command):
194
185
    """Apply a named patch to the current tree.
195
186
    """
196
187
    takes_args = ['filename?']
197
 
    takes_options = [Option('strip', type=int, help=strip_help),
198
 
                     Option('silent', help='Suppress chatter')]
199
 
    def run(self, filename=None, strip=None, silent=False):
 
188
    takes_options = [Option('strip', type=int, help=strip_help)]
 
189
    def run(self, filename=None, strip=None):
200
190
        from patch import patch
201
191
        from bzrlib.workingtree import WorkingTree
202
192
        wt = WorkingTree.open_containing('.')[0]
203
193
        if strip is None:
204
194
            strip = 0
205
 
        return patch(wt, filename, strip, silent)
 
195
        return patch(wt, filename, strip)
206
196
 
207
197
 
208
198
class cmd_shelve(bzrlib.commands.Command):
250
240
                                  "parameter.")
251
241
 
252
242
        source = BzrPatchSource(revision, file_list)
253
 
        s = shelf.Shelf(source.base)
 
243
        s = Shelf(source.base)
254
244
        s.shelve(source, all, message, no_color)
255
245
        return 0
256
246
 
278
268
    aliases = ['switch']
279
269
    takes_args = ['othershelf']
280
270
    def run(self, othershelf):
281
 
        s = shelf.Shelf(self.shelf.base, othershelf)
 
271
        s = Shelf(self.shelf.base, othershelf)
282
272
        s.make_default()
283
273
 
284
274
 
311
301
            args_list = []
312
302
        cmd = self._get_cmd_object(subcommand)
313
303
        source = BzrPatchSource()
314
 
        s = shelf.Shelf(source.base)
 
304
        s = Shelf(source.base)
315
305
        cmd.shelf = s
316
 
 
317
 
        if args_list is None:
318
 
            args_list = []
319
306
        return cmd.run_argv_aliases(args_list)
320
307
 
321
308
    def _get_cmd_object(self, cmd_name):
338
325
        cmd_obj = cmd_class()
339
326
        indent = 2 * ' '
340
327
 
341
 
        usage = cmd_obj._usage()
 
328
        usage = command_usage(cmd_obj)
342
329
        usage = usage.replace('bzr shelf-', '')
343
330
        text.append('%s%s\n' % (indent, usage))
344
331
 
379
366
    takes_args = ['patch?']
380
367
    def run(self, patch=None, all=False, force=False, no_color=False):
381
368
        source = BzrPatchSource()
382
 
        s = shelf.Shelf(source.base)
 
369
        s = Shelf(source.base)
383
370
        s.unshelve(source, patch, all, force, no_color)
384
371
        return 0
385
372
 
444
431
    """
445
432
    Create a new checkout, associated with a new repository branch.
446
433
    
447
 
    When you cbranch, bzr looks up a target location in locations.conf, and
448
 
    creates the branch there.
449
 
 
450
 
    In your locations.conf, add the following lines:
451
 
    [/working_directory_root]
452
 
    cbranch_target = /branch_root
453
 
    cbranch_target:policy = appendpath
454
 
 
455
 
    This will mean that if you run "bzr cbranch foo/bar foo/baz" in the
456
 
    working directory root, the branch will be created in 
457
 
    "/branch_root/foo/baz"
458
 
 
459
 
    NOTE: cbranch also supports "cbranch_root", but that behaviour is
460
 
    deprecated.
 
434
    When you cbranch, bzr looks up the repository associated with your current
 
435
    directory in locations.conf.  It creates a new branch in that repository
 
436
    with the same name and relative path as the checkout you request.
 
437
 
 
438
    The locations.conf parameter is "cbranch_root".  So if you want 
 
439
    cbranch operations in /home/jrandom/bigproject to produce branches in 
 
440
    /home/jrandom/bigproject/repository, you'd add this:
 
441
 
 
442
    [/home/jrandom/bigproject]
 
443
    cbranch_root = /home/jrandom/bigproject/repository
 
444
 
 
445
    Note that if "/home/jrandom/bigproject/repository" isn't a repository,
 
446
    standalone branches will be produced.  Standalone branches will also
 
447
    be produced if the source branch is in 0.7 format (or earlier).
461
448
    """
462
449
    takes_options = [Option("lightweight", 
463
450
                            help="Create a lightweight checkout"), 'revision']
535
522
 
536
523
 
537
524
class cmd_import(bzrlib.commands.Command):
538
 
    """Import sources from a directory, tarball or zip file
 
525
    """Import sources from a tarball or zip file
539
526
    
540
 
    This command will import a directory, tarball or zip file into a bzr
541
 
    tree, replacing any versioned files already present.  If a directory is
542
 
    specified, it is used as the target.  If the directory does not exist, or
543
 
    is not versioned, it is created.
 
527
    This command will import a tarball or zip file into a bzr tree, replacing
 
528
    any versioned files already present.  If a directory is specified, it is
 
529
    used as the target.  If the directory does not exist, or is not versioned,
 
530
    it is created.
544
531
 
545
532
    Tarballs may be gzip or bzip2 compressed.  This is autodetected.
546
533
 
547
 
    If the tarball or zip has a single root directory, that directory is
548
 
    stripped when extracting the tarball.  This is not done for directories.
 
534
    If the tarball has a single root directory, that directory is stripped
 
535
    when extracting the tarball.
549
536
    """
550
537
    
551
538
    takes_args = ['source', 'tree?']
557
544
class cmd_cdiff(bzrlib.commands.Command):
558
545
    """A color version of bzr's diff"""
559
546
    takes_args = property(lambda x: get_cmd_object('diff').takes_args)
560
 
 
561
 
    def _takes_options(self):
562
 
        options = list(get_cmd_object('diff').takes_options)
563
 
        options.append(Option('check-style',
564
 
            help='Warn if trailing whitespace or spurious changes have been'
565
 
                 ' added.'))
566
 
        return options
567
 
 
568
 
    takes_options = property(_takes_options)
569
 
 
570
 
    def run(self, check_style=False, *args, **kwargs):
 
547
    takes_options = property(lambda x: get_cmd_object('diff').takes_options)
 
548
    def run(*args, **kwargs):
571
549
        from colordiff import colordiff
572
 
        colordiff(check_style, *args, **kwargs)
 
550
        colordiff(*args, **kwargs)
573
551
 
574
552
 
575
553
class cmd_baz_import(bzrlib.commands.Command):
710
688
    from unittest import TestSuite
711
689
    import bzrtools
712
690
    import tests.clean_tree
713
 
    import tests.is_clean
714
 
    import tests.upstream_import
 
691
    import upstream_import
715
692
    import zap
716
693
    import tests.blackbox
717
694
    import tests.shelf_tests
726
703
    result.addTest(tests.test_suite())
727
704
    result.addTest(TestLoader().loadTestsFromModule(tests.shelf_tests))
728
705
    result.addTest(tests.blackbox.test_suite())
729
 
    result.addTest(tests.upstream_import.test_suite())
 
706
    result.addTest(upstream_import.test_suite())
730
707
    result.addTest(zap.test_suite())
731
 
    result.addTest(TestLoader().loadTestsFromModule(tests.is_clean))
732
708
    return result