/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
0.193.1 by Robert Collins
Create plugin.
1
# Copyright (C) 2008 Canonical Ltd
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; version 2 of the License.
6
#
7
# This program is distributed in the hope that it will be useful,
8
# but WITHOUT ANY WARRANTY; without even the implied warranty of
9
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10
# GNU General Public License for more details.
11
#
12
# You should have received a copy of the GNU General Public License
13
# along with this program; if not, write to the Free Software
14
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
15
16
17
"""CVS working tree support for bzr.
18
6652.2.9 by Jelmer Vernooij
Refresh docstring.
19
Currently limited to referencing tools for migration.
0.193.1 by Robert Collins
Create plugin.
20
"""
21
6652.2.2 by Jelmer Vernooij
Bundle mtn plugin.
22
from __future__ import absolute_import
23
6778 by Jelmer Vernooij
Merge lp:~jelmer/brz/warn-mtn-cvs.
24
from ... import version_info
25
6652.2.6 by Jelmer Vernooij
Fix test references.
26
from ... import (
6778 by Jelmer Vernooij
Merge lp:~jelmer/brz/warn-mtn-cvs.
27
    controldir,
6652.2.6 by Jelmer Vernooij
Fix test references.
28
    errors,
6778 by Jelmer Vernooij
Merge lp:~jelmer/brz/warn-mtn-cvs.
29
    )
6652.2.1 by Jelmer Vernooij
Bundle the cvs plugin.
30
31
32
class CVSUnsupportedError(errors.UnsupportedFormatError):
0.193.5 by Jelmer Vernooij
Update for new Prober.known_formats() interface.
33
34
    _fmt = ("CVS working trees are not supported. To convert CVS projects to "
35
            "bzr, please see http://bazaar-vcs.org/BzrMigration and/or "
36
            "https://launchpad.net/launchpad-bazaar/+faq/26.")
37
6778 by Jelmer Vernooij
Merge lp:~jelmer/brz/warn-mtn-cvs.
38
39
class CVSDirFormat(controldir.ControlDirFormat):
0.193.1 by Robert Collins
Create plugin.
40
    """The CVS directory control format."""
41
42
    def get_converter(self):
43
        raise NotImplementedError(self.get_converter)
44
45
    def get_format_description(self):
46
        return "CVS control directory."
47
48
    def initialize_on_transport(self, transport):
6652.2.6 by Jelmer Vernooij
Fix test references.
49
        raise errors.UninitializableFormat(self)
0.193.1 by Robert Collins
Create plugin.
50
0.195.1 by Jelmer Vernooij
Implement CVSDirFormat.check_status.
51
    def is_supported(self):
52
        return False
0.193.1 by Robert Collins
Create plugin.
53
6778 by Jelmer Vernooij
Merge lp:~jelmer/brz/warn-mtn-cvs.
54
    def supports_transport(self, transport):
55
        return False
56
0.195.2 by Jelmer Vernooij
Rename check_status -> check_support_status.
57
    def check_support_status(self, allow_unsupported, recommend_upgrade=True,
0.195.1 by Jelmer Vernooij
Implement CVSDirFormat.check_status.
58
           basedir=None):
0.193.5 by Jelmer Vernooij
Update for new Prober.known_formats() interface.
59
        raise CVSUnsupportedError(self)
0.193.1 by Robert Collins
Create plugin.
60
6778 by Jelmer Vernooij
Merge lp:~jelmer/brz/warn-mtn-cvs.
61
    def open(self, transport):
62
        # Raise NotBranchError if there is nothing there
63
        CVSProber().probe_transport(transport)
64
        raise NotImplementedError(self.open)
65
66
67
class CVSProber(controldir.Prober):
0.194.1 by Jelmer Vernooij
Support the new control dir API.
68
69
    @classmethod
70
    def probe_transport(klass, transport):
0.193.1 by Robert Collins
Create plugin.
71
        # little ugly, but works
72
        # try a manual probe first, its a little faster perhaps ?
6778 by Jelmer Vernooij
Merge lp:~jelmer/brz/warn-mtn-cvs.
73
        if transport.has('CVS') and transport.has('CVS/Repository'):
74
            return CVSDirFormat()
75
        raise errors.NotBranchError(path=transport.base)
0.194.1 by Jelmer Vernooij
Support the new control dir API.
76
0.193.5 by Jelmer Vernooij
Update for new Prober.known_formats() interface.
77
    @classmethod
78
    def known_formats(cls):
6973.12.9 by Jelmer Vernooij
More fixes.
79
        return [CVSDirFormat()]
0.193.5 by Jelmer Vernooij
Update for new Prober.known_formats() interface.
80
6778 by Jelmer Vernooij
Merge lp:~jelmer/brz/warn-mtn-cvs.
81
82
controldir.ControlDirFormat.register_prober(CVSProber)