~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commit.py

Convert the test_delta tests to intertree_implementation and workingtree_implementation tests as appropriate.

Show diffs side-by-side

added added

removed removed

Lines of Context:
497
497
        None; inventory entries that are carried over untouched have their
498
498
        revision set to their prior value.
499
499
        """
 
500
        # ESEPARATIONOFCONCERNS: this function is diffing and using the diff
 
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?
 
503
        # ADHB 11-07-2006
500
504
        mutter("Selecting files for commit with filter %s", self.specific_files)
501
 
        # iter_entries does not visit the ROOT_ID node so we need to call
502
 
        # 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()
503
508
        self._emit_progress_update()
504
 
        for path, new_ie in self.work_inv.iter_entries():
 
509
        for path, new_ie in entries:
505
510
            self._emit_progress_update()
506
511
            file_id = new_ie.file_id
507
512
            mutter('check %s {%s}', path, file_id)
534
539
            else:
535
540
                self.reporter.snapshot_change(change, path)
536
541
 
 
542
        if not self.specific_files:
 
543
            return
 
544
 
 
545
        # ignore removals that don't match filespec
 
546
        for path, new_ie in self.basis_inv.iter_entries():
 
547
            if new_ie.file_id in self.work_inv:
 
548
                continue
 
549
            if is_inside_any(self.specific_files, path):
 
550
                continue
 
551
            ie = new_ie.copy()
 
552
            ie.revision = None
 
553
            self.builder.record_entry_contents(ie, self.parent_invs, path,
 
554
                                               self.basis_tree)
 
555
 
537
556
    def _emit_progress_update(self):
538
557
        """Emit an update to the progress bar."""
539
558
        self.pb.update("Committing", self.pb_count, self.pb_total)