~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/workingtree.py

  • Committer: Robert Collins
  • Date: 2006-09-07 07:31:51 UTC
  • mto: (1991.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 1992.
  • Revision ID: robertc@robertcollins.net-20060907073151-24ad889e938b4b05
WorkingTree has a new api ``unversion`` which allow the unversioning of
entries by their file id. (Robert Collins)

Show diffs side-by-side

added added

removed removed

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