~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commit.py

merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# Copyright (C) 2005, 2006 Canonical Ltd
2
 
 
 
2
#
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
499
499
        """
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
        entries.next()
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
517
518
            else:
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()
521
522
                else: