/breezy/unstable

To get this branch, use:
bzr branch https://code.breezy-vcs.org/breezy/unstable

« back to all changes in this revision

Viewing changes to breezy/log.py

  • Committer: Jelmer Vernooij
  • Date: 2017-05-24 01:39:33 UTC
  • mfrom: (3815.3776.6)
  • Revision ID: jelmer@jelmer.uk-20170524013933-ir4y4tqtrsiz2ka2
New upstream snapshot.

Show diffs side-by-side

added added

removed removed

Lines of Context:
50
50
from __future__ import absolute_import
51
51
 
52
52
import codecs
53
 
from cStringIO import StringIO
54
 
from itertools import (
55
 
    chain,
56
 
    izip,
57
 
    )
 
53
import itertools
58
54
import re
59
55
import sys
60
56
from warnings import (
61
57
    warn,
62
58
    )
63
59
 
64
 
from bzrlib.lazy_import import lazy_import
 
60
from .lazy_import import lazy_import
65
61
lazy_import(globals(), """
66
62
 
67
 
from bzrlib import (
 
63
from breezy import (
68
64
    config,
69
65
    controldir,
70
66
    diff,
75
71
    revisionspec,
76
72
    tsort,
77
73
    )
78
 
from bzrlib.i18n import gettext, ngettext
 
74
from breezy.i18n import gettext, ngettext
79
75
""")
80
76
 
81
 
from bzrlib import (
 
77
from . import (
82
78
    lazy_regex,
83
79
    registry,
84
80
    )
85
 
from bzrlib.osutils import (
 
81
from .osutils import (
86
82
    format_date,
87
83
    format_date_with_offset_in_original_timezone,
88
84
    get_diff_header_encoding,
89
85
    get_terminal_encoding,
90
86
    terminal_width,
91
87
    )
 
88
from breezy.sixish import (
 
89
    BytesIO,
 
90
    PY3,
 
91
    )
 
92
 
 
93
 
 
94
if PY3:
 
95
    izip = zip
 
96
else:
 
97
    izip = itertools.izip
92
98
 
93
99
 
94
100
def find_touching_revisions(branch, file_id):
270
276
 
271
277
    :param _match_using_deltas: a private parameter controlling the
272
278
      algorithm used for matching specific_fileids. This parameter
273
 
      may be removed in the future so bzrlib client code should NOT
 
279
      may be removed in the future so breezy client code should NOT
274
280
      use it.
275
281
 
276
282
    :param exclude_common_ancestry: Whether -rX..Y should be interpreted as a
329
335
    :param repo: repository of revision
330
336
    :return: human readable string to print to log
331
337
    """
332
 
    from bzrlib import gpg
 
338
    from breezy import gpg
333
339
 
334
340
    gpg_strategy = gpg.GPGStrategy(None)
335
341
    result = repo.verify_revision_signature(rev_id, gpg_strategy)
484
490
            specific_files = [tree_2.id2path(id) for id in file_ids]
485
491
        else:
486
492
            specific_files = None
487
 
        s = StringIO()
 
493
        s = BytesIO()
488
494
        path_encoding = get_diff_header_encoding()
489
495
        diff.show_diff_trees(tree_1, tree_2, s, specific_files, old_label='',
490
496
            new_label='', path_encoding=path_encoding)
661
667
    # shown naturally, i.e. just like it is for linear logging. We can easily
662
668
    # make forward the exact opposite display, but showing the merge revisions
663
669
    # indented at the end seems slightly nicer in that case.
664
 
    view_revisions = chain(iter(initial_revisions),
 
670
    view_revisions = itertools.chain(iter(initial_revisions),
665
671
        _graph_view_revisions(branch, start_rev_id, end_rev_id,
666
672
                              rebase_initial_depths=(direction == 'reverse'),
667
673
                              exclude_common_ancestry=exclude_common_ancestry))
824
830
    """
825
831
    # Convert view_revisions into (view, None, None) groups to fit with
826
832
    # the standard interface here.
827
 
    if type(view_revisions) == list:
 
833
    if isinstance(view_revisions, list):
828
834
        # A single batch conversion is faster than many incremental ones.
829
835
        # As we have all the data, do a batch conversion.
830
836
        nones = [None] * len(view_revisions)
1585
1591
        to_file.write("%s%s\n" % (indent, ('\n' + indent).join(lines)))
1586
1592
        if revision.delta is not None:
1587
1593
            # Use the standard status output to display changes
1588
 
            from bzrlib.delta import report_delta
 
1594
            from breezy.delta import report_delta
1589
1595
            report_delta(to_file, revision.delta, short_status=False,
1590
1596
                         show_ids=self.show_ids, indent=indent)
1591
1597
        if revision.diff is not None:
1657
1663
 
1658
1664
        if revision.delta is not None:
1659
1665
            # Use the standard status output to display changes
1660
 
            from bzrlib.delta import report_delta
 
1666
            from breezy.delta import report_delta
1661
1667
            report_delta(to_file, revision.delta,
1662
1668
                         short_status=self.delta_format==1,
1663
1669
                         show_ids=self.show_ids, indent=indent + offset)
2014
2020
      kind is one of values 'directory', 'file', 'symlink', 'tree-reference'.
2015
2021
      branch will be read-locked.
2016
2022
    """
2017
 
    from bzrlib.builtins import _get_revision_range
 
2023
    from breezy.builtins import _get_revision_range
2018
2024
    tree, b, path = controldir.ControlDir.open_containing_tree_or_branch(
2019
2025
        file_list[0])
2020
2026
    add_cleanup(b.lock_read().unlock)
2104
2110
 
2105
2111
# Use the properties handlers to print out bug information if available
2106
2112
def _bugs_properties_handler(revision):
2107
 
    if revision.properties.has_key('bugs'):
 
2113
    if 'bugs' in revision.properties:
2108
2114
        bug_lines = revision.properties['bugs'].split('\n')
2109
2115
        bug_rows = [line.split(' ', 1) for line in bug_lines]
2110
2116
        fixed_bug_urls = [row[0] for row in bug_rows if