~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/workingtree.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2006-09-07 23:06:08 UTC
  • mfrom: (1991.1.1 integration)
  • Revision ID: pqm@pqm.ubuntu.com-20060907230608-4f18ec1bbe03eb8f
(robertc) Improve performance of bzr commit by eliminating the need for one inventory parse.

Show diffs side-by-side

added added

removed removed

Lines of Context:
557
557
        args = (DEPRECATED_PARAMETER, message, ) + args
558
558
        committed_id = Commit().commit( working_tree=self, revprops=revprops,
559
559
            *args, **kwargs)
560
 
        self._set_inventory(self.read_working_inventory())
561
560
        return committed_id
562
561
 
563
562
    def id2abspath(self, file_id):
1092
1091
        for subp in self.extras():
1093
1092
            if not self.is_ignored(subp):
1094
1093
                yield subp
1095
 
 
 
1094
    
 
1095
    @needs_write_lock
 
1096
    def unversion(self, file_ids):
 
1097
        """Remove the file ids in file_ids from the current versioned set.
 
1098
 
 
1099
        When a file_id is unversioned, all of its children are automatically
 
1100
        unversioned.
 
1101
 
 
1102
        :param file_ids: The file ids to stop versioning.
 
1103
        :raises: NoSuchId if any fileid is not currently versioned.
 
1104
        """
 
1105
        for file_id in file_ids:
 
1106
            if self._inventory.has_id(file_id):
 
1107
                self._inventory.remove_recursive_id(file_id)
 
1108
            else:
 
1109
                raise errors.NoSuchId(self, file_id)
 
1110
        if len(file_ids):
 
1111
            # in the future this should just set a dirty bit to wait for the 
 
1112
            # final unlock. However, until all methods of workingtree start
 
1113
            # with the current in -memory inventory rather than triggering 
 
1114
            # a read, it is more complex - we need to teach read_inventory
 
1115
            # to know when to read, and when to not read first... and possibly
 
1116
            # to save first when the in memory one may be corrupted.
 
1117
            # so for now, we just only write it if it is indeed dirty.
 
1118
            # - RBC 20060907
 
1119
            self._write_inventory(self._inventory)
 
1120
    
1096
1121
    @deprecated_method(zero_eight)
1097
1122
    def iter_conflicts(self):
1098
1123
        """List all files in the tree that have text or content conflicts.