20
20
delta as _mod_delta,
24
25
revision as _mod_revision,
26
27
import bzrlib.errors as errors
28
from bzrlib.osutils import is_inside_any
29
from bzrlib.symbol_versioning import (deprecated_function,
27
31
from bzrlib.trace import mutter, warning
29
33
# TODO: when showing single-line logs, truncate to the width of the terminal
34
38
show_short_reporter, show_long_callback,
35
39
short=False, want_unchanged=False,
36
40
want_unversioned=False, show_ids=False):
37
"""Display summary of changes.
39
This compares two trees with regards to a list of files, and delegates
40
the display to underlying elements.
42
For short output, it creates an iterator on all changes, and lets a given
43
reporter display these changes.
45
For stantard output, it creates a delta of the changes, and forwards it
48
:param to_file: If set, write to this file (default stdout.)
49
:param old: Start tree for the comparison
50
:param end: End tree for the comparison
51
:param specific_files: If set, a list of filenames whose status should be
52
shown. It is an error to give a filename that is not in the working
53
tree, or in the working inventory or in the basis inventory.
54
:param show_short_reporter: Reporter in charge of display for short output
55
:param show_long_callback: Callback in charge of display for normal output
56
:param short: If True, gives short SVN-style status lines.
57
:param want_unchanged: Deprecated parameter. If set, includes unchanged
59
:param show_ids: If set, includes each file's id.
60
:param want_unversioned: If False, only shows versioned files.
64
44
changes = new.iter_changes(old, want_unchanged, specific_files,
162
142
short=short, want_unchanged=show_unchanged,
163
143
want_unversioned=want_unversioned, show_ids=show_ids)
165
# show the ignored files among specific files (i.e. show the files
166
# identified from input that we choose to ignore).
167
if specific_files is not None:
168
# Ignored files is sorted because specific_files is already sorted
169
ignored_files = [specific for specific in
170
specific_files if new.is_ignored(specific)]
171
if len(ignored_files) > 0 and not short:
172
to_file.write("ignored:\n")
176
for ignored_file in ignored_files:
177
to_file.write("%s %s\n" % (prefix, ignored_file))
179
145
# show the new conflicts only for now. XXX: get them from the
181
147
conflicts = new.conflicts()