/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-06-10 02:09:46 UTC
  • mto: This revision was merged to the branch mainline in revision 6690.
  • Revision ID: jelmer@jelmer.uk-20170610020946-nxnwagf535b3lctb
Move breezy.repofmt contents to  breezy.bzr.

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
 
30
 
 
31
    if rev_tag_dict is None:
 
32
        rev_tag_dict = {}
28
33
    for rev in revisions:
29
34
        # We need the following for backward compatibilty (hopefully
30
35
        # this will be deprecated soon :-/) -- vila 080911
38
43
            delta = revision_source.get_revision_delta(rev_id)
39
44
        else:
40
45
            delta = None
41
 
        yield log.LogRevision(rev, revno, merge_depth, delta=delta)
 
46
        yield log.LogRevision(rev, revno, merge_depth, delta=delta,
 
47
                              tags=rev_tag_dict.get(rev_id))
42
48
 
43
49
 
44
50
def find_unmerged(local_branch, remote_branch, restrict='all',
45
 
                  include_merges=False, backward=False,
 
51
                  include_merged=None, backward=False,
46
52
                  local_revid_range=None, remote_revid_range=None):
47
53
    """Find revisions from each side that have not been merged.
48
54
 
53
59
        unique revisions from both sides. If 'local', we will return None
54
60
        for the remote revisions, similarly if 'remote' we will return None for
55
61
        the local revisions.
56
 
    :param include_merges: Show mainline revisions only if False,
 
62
    :param include_merged: Show mainline revisions only if False,
57
63
        all revisions otherwise.
58
64
    :param backward: Show oldest versions first when True, newest versions
59
65
        first when False.
65
71
    :return: A list of [(revno, revision_id)] for the mainline revisions on
66
72
        each side.
67
73
    """
 
74
    if include_merged is None:
 
75
        include_merged = False
68
76
    local_branch.lock_read()
69
77
    try:
70
78
        remote_branch.lock_read()
71
79
        try:
72
80
            return _find_unmerged(
73
81
                local_branch, remote_branch, restrict=restrict,
74
 
                include_merges=include_merges, backward=backward,
 
82
                include_merged=include_merged, backward=backward,
75
83
                local_revid_range=local_revid_range,
76
84
                remote_revid_range=remote_revid_range)
77
85
        finally:
160
168
 
161
169
 
162
170
def _find_unmerged(local_branch, remote_branch, restrict,
163
 
                   include_merges, backward,
 
171
                   include_merged, backward,
164
172
                   local_revid_range=None, remote_revid_range=None):
165
173
    """See find_unmerged.
166
174
 
186
194
                             ' "remote": %r' % (restrict,))
187
195
        local_extra, remote_extra = graph.find_difference(local_revision_id,
188
196
                                                          remote_revision_id)
189
 
    if include_merges:
 
197
    if include_merged:
190
198
        locals = _enumerate_with_merges(local_branch, local_extra,
191
199
                                        graph, local_revno,
192
200
                                        local_revision_id, backward)
205
213
 
206
214
 
207
215
def sorted_revisions(revisions, history_map):
208
 
    revisions = [(history_map[r],r) for r in revisions]
209
 
    revisions.sort()
 
216
    revisions = sorted([(history_map[r],r) for r in revisions])
210
217
    return revisions