/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/missing.py

  • Committer: Jelmer Vernooij
  • Date: 2017-12-04 23:01:39 UTC
  • mto: This revision was merged to the branch mainline in revision 6839.
  • Revision ID: jelmer@jelmer.uk-20171204230139-1sc3c18ikwewdejm
Remove bytes_to_gzip; work with chunks instead.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
"""Display what revisions are missing in 'other' from 'this' and vice versa."""
18
18
 
19
 
from bzrlib import (
 
19
from __future__ import absolute_import
 
20
 
 
21
from . import (
20
22
    log,
21
23
    )
22
 
import bzrlib.revision as _mod_revision
23
 
 
24
 
 
25
 
def iter_log_revisions(revisions, revision_source, verbose):
 
24
from . import revision as _mod_revision
 
25
 
 
26
 
 
27
def iter_log_revisions(revisions, revision_source, verbose, rev_tag_dict=None):
26
28
    last_tree = revision_source.revision_tree(_mod_revision.NULL_REVISION)
27
29
    last_rev_id = None
28
 
    for rev in revisions:
29
 
        # We need the following for backward compatibilty (hopefully
30
 
        # this will be deprecated soon :-/) -- vila 080911
31
 
        if len(rev) == 2:
32
 
            revno, rev_id = rev
33
 
            merge_depth = 0
34
 
        else:
35
 
            revno, rev_id, merge_depth = rev
 
30
 
 
31
    if rev_tag_dict is None:
 
32
        rev_tag_dict = {}
 
33
    for revno, rev_id, merge_depth in revisions:
36
34
        rev = revision_source.get_revision(rev_id)
37
35
        if verbose:
38
36
            delta = revision_source.get_revision_delta(rev_id)
39
37
        else:
40
38
            delta = None
41
 
        yield log.LogRevision(rev, revno, merge_depth, delta=delta)
 
39
        yield log.LogRevision(rev, revno, merge_depth, delta=delta,
 
40
                              tags=rev_tag_dict.get(rev_id))
42
41
 
43
42
 
44
43
def find_unmerged(local_branch, remote_branch, restrict='all',
45
 
                  include_merges=False, backward=False,
 
44
                  include_merged=None, backward=False,
46
45
                  local_revid_range=None, remote_revid_range=None):
47
46
    """Find revisions from each side that have not been merged.
48
47
 
53
52
        unique revisions from both sides. If 'local', we will return None
54
53
        for the remote revisions, similarly if 'remote' we will return None for
55
54
        the local revisions.
56
 
    :param include_merges: Show mainline revisions only if False,
 
55
    :param include_merged: Show mainline revisions only if False,
57
56
        all revisions otherwise.
58
57
    :param backward: Show oldest versions first when True, newest versions
59
58
        first when False.
65
64
    :return: A list of [(revno, revision_id)] for the mainline revisions on
66
65
        each side.
67
66
    """
 
67
    if include_merged is None:
 
68
        include_merged = False
68
69
    local_branch.lock_read()
69
70
    try:
70
71
        remote_branch.lock_read()
71
72
        try:
72
73
            return _find_unmerged(
73
74
                local_branch, remote_branch, restrict=restrict,
74
 
                include_merges=include_merges, backward=backward,
 
75
                include_merged=include_merged, backward=backward,
75
76
                local_revid_range=local_revid_range,
76
77
                remote_revid_range=remote_revid_range)
77
78
        finally:
89
90
    :param tip: The tip of mainline
90
91
    :param backward: Show oldest versions first when True, newest versions
91
92
        first when False.
92
 
    :return: [(revno, revision_id)] for all revisions in ancestry that
 
93
    :return: [(revno, revision_id, 0)] for all revisions in ancestry that
93
94
        are left-hand parents from tip, or None if ancestry is None.
94
95
    """
95
96
    if ancestry is None:
109
110
        parents = parent_map.get(cur)
110
111
        if not parents:
111
112
            break # Ghost, we are done
112
 
        mainline.append((str(cur_revno), cur))
 
113
        mainline.append((str(cur_revno), cur, 0))
113
114
        cur = parents[0]
114
115
        cur_revno -= 1
115
116
    if not backward:
160
161
 
161
162
 
162
163
def _find_unmerged(local_branch, remote_branch, restrict,
163
 
                   include_merges, backward,
 
164
                   include_merged, backward,
164
165
                   local_revid_range=None, remote_revid_range=None):
165
166
    """See find_unmerged.
166
167
 
186
187
                             ' "remote": %r' % (restrict,))
187
188
        local_extra, remote_extra = graph.find_difference(local_revision_id,
188
189
                                                          remote_revision_id)
189
 
    if include_merges:
 
190
    if include_merged:
190
191
        locals = _enumerate_with_merges(local_branch, local_extra,
191
192
                                        graph, local_revno,
192
193
                                        local_revision_id, backward)
205
206
 
206
207
 
207
208
def sorted_revisions(revisions, history_map):
208
 
    revisions = [(history_map[r],r) for r in revisions]
209
 
    revisions.sort()
 
209
    revisions = sorted([(history_map[r], r) for r in revisions])
210
210
    return revisions