207
211
delta = compare_trees(old_tree, new_tree, want_unchanged=False,
208
212
specific_files=specific_files)
211
214
for path, file_id, kind in delta.removed:
213
215
print >>to_file, '=== removed %s %r' % (kind, path)
214
old_tree.inventory[file_id].diff(diff_file, old_label + path, old_tree,
215
DEVNULL, None, None, to_file)
217
diff_file(old_label + path,
218
old_tree.get_file(file_id).readlines(),
216
223
for path, file_id, kind in delta.added:
218
224
print >>to_file, '=== added %s %r' % (kind, path)
219
new_tree.inventory[file_id].diff(diff_file, new_label + path, new_tree,
220
DEVNULL, None, None, to_file,
222
for (old_path, new_path, file_id, kind,
223
text_modified, meta_modified) in delta.renamed:
225
prop_str = get_prop_change(meta_modified)
226
print >>to_file, '=== renamed %s %r => %r%s' % (
227
kind, old_path, new_path, prop_str)
228
_maybe_diff_file_or_symlink(old_label, old_path, old_tree, file_id,
229
new_label, new_path, new_tree,
230
text_modified, kind, to_file, diff_file)
231
for path, file_id, kind, text_modified, meta_modified in delta.modified:
233
prop_str = get_prop_change(meta_modified)
234
print >>to_file, '=== modified %s %r%s' % (kind, path, prop_str)
229
new_tree.get_file(file_id).readlines(),
232
for old_path, new_path, file_id, kind, text_modified in delta.renamed:
233
print >>to_file, '=== renamed %s %r => %r' % (kind, old_path, new_path)
235
234
if text_modified:
236
_maybe_diff_file_or_symlink(old_label, path, old_tree, file_id,
237
new_label, path, new_tree,
238
True, kind, to_file, diff_file)
242
def get_prop_change(meta_modified):
244
return " (properties changed)"
249
def _maybe_diff_file_or_symlink(old_label, old_path, old_tree, file_id,
250
new_label, new_path, new_tree, text_modified,
251
kind, to_file, diff_file):
253
new_entry = new_tree.inventory[file_id]
254
old_tree.inventory[file_id].diff(diff_file,
255
old_label + old_path, old_tree,
256
new_label + new_path, new_entry,
235
diff_file(old_label + old_path,
236
old_tree.get_file(file_id).readlines(),
237
new_label + new_path,
238
new_tree.get_file(file_id).readlines(),
241
for path, file_id, kind in delta.modified:
242
print >>to_file, '=== modified %s %r' % (kind, path)
244
diff_file(old_label + path,
245
old_tree.get_file(file_id).readlines(),
247
new_tree.get_file(file_id).readlines(),