/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/transport/readonly.py

  • Committer: Vincent Ladeuil
  • Date: 2009-06-30 15:54:23 UTC
  • mto: (4496.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 4497.
  • Revision ID: v.ladeuil+lp@free.fr-20090630155423-afousrl3zrdx0he2
Fixed as per jam's review.

* tests/blackbox/test_push.py:
(load_tests): One more changes type.
(TestPushStrictMixin): Switch to using mixin, it's clearer.
Define some default values as attributes so that they can be
changed more easily.
(TestPushStrictMixin.assertPushFails,
TestPushStrictMixin.assertPushSucceeds): Use default values from
attributes.
(TestPushStrictWithChanges._out_of_sync_trees): Setup a new
context and change the default values.

* errors.py:
(OutOfDateTree, UncommittedChanges): Add a more parameter so more
details can be given.

* builtins.py:
(cmd_push.run): Add an additional check that the tree is still in
sync with its branch before pushing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
"""Implementation of Transport that adapts another transport to be readonly."""
18
18
 
19
19
from bzrlib.errors import TransportNotPossible, NoSmartMedium
20
 
from bzrlib.transport import decorator
21
 
 
22
 
 
23
 
class ReadonlyTransportDecorator(decorator.TransportDecorator):
 
20
from bzrlib.transport.decorator import TransportDecorator, DecoratorServer
 
21
 
 
22
 
 
23
class ReadonlyTransportDecorator(TransportDecorator):
24
24
    """A decorator that can convert any transport to be readonly.
25
25
 
26
26
    This is requested via the 'readonly+' prefix to get_transport().
78
78
        raise NoSmartMedium(self)
79
79
 
80
80
 
 
81
 
 
82
class ReadonlyServer(DecoratorServer):
 
83
    """Server for the ReadonlyTransportDecorator for testing with."""
 
84
 
 
85
    def get_decorator_class(self):
 
86
        return ReadonlyTransportDecorator
 
87
 
 
88
 
81
89
def get_test_permutations():
82
90
    """Return the permutations to be used in testing."""
83
 
    from bzrlib.tests import test_server
84
 
    return [(ReadonlyTransportDecorator, test_server.ReadonlyServer),]
 
91
    return [(ReadonlyTransportDecorator, ReadonlyServer),
 
92
            ]