107
102
If not None it must be a RevisionSpec list.
108
103
If one revision show compared it with working tree.
109
104
If two revisions show status between first and second.
110
:param short: If True, gives short SVN-style status lines.
111
:param versioned: If True, only shows versioned files.
105
:param short: If True, gives short SVN-style status lines
113
107
if show_unchanged is not None:
114
108
warn("show_status_trees with show_unchanged has been deprecated "
140
134
raise errors.BzrCommandError(str(e))
146
_raise_if_nonexistent(specific_files, old, new)
147
want_unversioned = not versioned
149
changes = new._iter_changes(old, show_unchanged, specific_files,
150
require_versioned=False, want_unversioned=want_unversioned)
151
reporter = _mod_delta._ChangeReporter(output_file=to_file,
152
unversioned_filter=new.is_ignored)
153
_mod_delta.report_changes(changes, reporter)
155
delta = new.changes_from(old, want_unchanged=show_unchanged,
156
specific_files=specific_files,
157
want_unversioned=want_unversioned)
158
# filter out unknown files. We may want a tree method for
160
delta.unversioned = [unversioned for unversioned in
161
delta.unversioned if not new.is_ignored(unversioned[0])]
164
show_unchanged=show_unchanged,
166
# show the new conflicts only for now. XXX: get them from the
168
conflicts = new.conflicts()
169
if specific_files is not None:
170
conflicts = conflicts.select_conflicts(new, specific_files,
171
ignore_misses=True, recurse=True)[1]
172
if len(conflicts) > 0 and not short:
137
_raise_if_nonexistent(specific_files, old, new)
138
delta = new.changes_from(old, want_unchanged=show_unchanged,
139
specific_files=specific_files)
142
show_unchanged=show_unchanged,
144
short_status_letter = '?'
146
short_status_letter = ''
147
list_paths('unknown', new.unknowns(), specific_files, to_file,
149
conflict_title = False
150
# show the new conflicts only for now. XXX: get them from the delta.
151
for conflict in new.conflicts():
152
if not short and conflict_title is False:
173
153
print >> to_file, "conflicts:"
174
for conflict in conflicts:
179
print >> to_file, "%s %s" % (prefix, conflict)
180
if new_is_working_tree and show_pending:
181
show_pending_merges(new, to_file, short)
154
conflict_title = True
159
print >> to_file, "%s %s" % (prefix, conflict)
160
if new_is_working_tree and show_pending:
161
show_pending_merges(new, to_file, short)
228
204
mm_revision = branch.repository.get_revision(mmerge)
233
209
print >> to_file, prefix, line_log(mm_revision, width - 5)
234
210
ignore.add(mmerge)
235
211
except errors.NoSuchRevision:
240
216
print >> to_file, prefix, merge
218
def list_paths(header, paths, specific_files, to_file, short_status_letter=''):
221
if specific_files and not is_inside_any(specific_files, path):
223
if not short_status_letter and not done_header:
224
print >>to_file, '%s:' % header
226
print >>to_file, '%s %s' % (short_status_letter, path)