1
1
# Copyright (C) 2005, 2006 Canonical Ltd
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
5
5
# the Free Software Foundation; either version 2 of the License, or
500
500
# ESEPARATIONOFCONCERNS: this function is diffing and using the diff
501
501
# results to create a new inventory at the same time, which results
502
# in bugs like #46635. Any reason not to use/enhance compare_trees?
502
# in bugs like #46635. Any reason not to use/enhance Tree.changes_from?
503
503
# ADHB 11-07-2006
504
504
mutter("Selecting files for commit with filter %s", self.specific_files)
505
# iter_entries does not visit the ROOT_ID node so we need to call
506
# self._emit_progress_update once by hand.
505
# at this point we dont copy the root entry:
506
entries = self.work_inv.iter_entries()
507
508
self._emit_progress_update()
508
for path, new_ie in self.work_inv.iter_entries():
509
for path, new_ie in entries:
509
510
self._emit_progress_update()
510
511
file_id = new_ie.file_id
511
mutter('check %s {%s}', path, file_id)
512
# mutter('check %s {%s}', path, file_id)
512
513
if (not self.specific_files or
513
514
is_inside_or_parent_of_any(self.specific_files, path)):
514
mutter('%s selected for commit', path)
515
# mutter('%s selected for commit', path)
515
516
ie = new_ie.copy()
516
517
ie.revision = None
518
mutter('%s not selected for commit', path)
519
# mutter('%s not selected for commit', path)
519
520
if self.basis_inv.has_id(file_id):
520
521
ie = self.basis_inv[file_id].copy()