~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/workingtree_4.py

merge dirstate and trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
1228
1228
        return w.annotate_iter(self.inventory[file_id].revision)
1229
1229
 
1230
1230
    def _comparison_data(self, entry, path):
 
1231
        """See Tree._comparison_data."""
1231
1232
        if entry is None:
1232
1233
            return None, False, None
1233
1234
        # trust the entry as RevisionTree does, but this may not be
1275
1276
        """Create and set self.inventory from the dirstate object.
1276
1277
 
1277
1278
        (So this is only called the first time the inventory is requested for
1278
 
        this tree; it then remains in memory.)
 
1279
        this tree; it then remains in memory until it's out of date.)
1279
1280
 
1280
1281
        This is relatively expensive: we have to walk the entire dirstate.
1281
1282
        """
1396
1397
    def _get_inventory(self):
1397
1398
        if self._inventory is not None:
1398
1399
            return self._inventory
 
1400
        self._must_be_locked()
1399
1401
        self._generate_inventory()
1400
1402
        return self._inventory
1401
1403
 
1409
1411
    def has_filename(self, filename):
1410
1412
        return bool(self.path2id(filename))
1411
1413
 
 
1414
    def kind(self, file_id):
 
1415
        return self.inventory[file_id].kind
 
1416
 
1412
1417
    def is_executable(self, file_id, path=None):
1413
1418
        ie = self.inventory[file_id]
1414
1419
        if ie.kind != "file":
1415
1420
            return None
1416
1421
        return ie.executable
1417
1422
 
1418
 
    @needs_read_lock
1419
 
    def kind(self, file_id):
1420
 
        return self.inventory[file_id].kind
1421
 
 
1422
1423
    def list_files(self, include_root=False):
1423
1424
        # We use a standard implementation, because DirStateRevisionTree is
1424
1425
        # dealing with one of the parents of the current state