/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 breezy/mergeable.py

  • Committer: Jelmer Vernooij
  • Date: 2018-11-13 01:27:26 UTC
  • mto: This revision was merged to the branch mainline in revision 7305.
  • Revision ID: jelmer@jelmer.uk-20181113012726-nylg98g3uggp55e9
Add abstract methods.

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
class Mergeable(object):
38
38
    """A mergeable object."""
39
39
 
 
40
    def install_revisions(self, repository):
 
41
        """Install the data from this mergeable into the specified repository.
 
42
 
 
43
        :param repository: Repository
 
44
        """
 
45
        raise NotImplementedError(self.install_revisions)
 
46
 
 
47
    def get_merge_request(self, repository):
 
48
        """Extract merge request data.
 
49
 
 
50
        :return: tuple with (base_revision_id, target_revision_id, verified)
 
51
        """
 
52
        raise NotImplementedError(self.get_merge_request)
 
53
 
40
54
 
41
55
def read_mergeable_from_url(url, _do_directive=True, possible_transports=None):
42
56
    """Read mergable object from a given URL.
44
58
    :return: An object supporting get_target_revision.  Raises NotABundle if
45
59
        the target is not a mergeable type.
46
60
    """
47
 
    child_transport = _mod_transport.get_transport(url,
48
 
        possible_transports=possible_transports)
 
61
    child_transport = _mod_transport.get_transport(
 
62
        url, possible_transports=possible_transports)
49
63
    transport = child_transport.clone('..')
50
64
    filename = transport.relpath(child_transport.base)
51
65
    mergeable, transport = read_mergeable_from_transport(transport, filename,