~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/workingtree.py

  • Committer: Martin Pool
  • Date: 2005-05-11 08:07:56 UTC
  • Revision ID: mbp@sourcefrog.net-20050511080756-ce1fdb2d72f5e028
- more status form test fixes

Show diffs side-by-side

added added

removed removed

Lines of Context:
20
20
import bzrlib.tree
21
21
from errors import BzrCheckError
22
22
from trace import mutter
23
 
import statcache
 
23
 
24
24
 
25
25
class WorkingTree(bzrlib.tree.Tree):
26
26
    """Working copy tree.
37
37
        self._inventory = inv
38
38
        self.basedir = basedir
39
39
        self.path2id = inv.path2id
40
 
        self._update_statcache()
41
40
 
42
41
    def __iter__(self):
43
42
        """Iterate through file_ids for this tree.
45
44
        file_ids are in a WorkingTree if they are in the working inventory
46
45
        and the working file exists.
47
46
        """
 
47
        self._update_statcache()
48
48
        inv = self._inventory
49
49
        for file_id in self._inventory:
50
50
            # TODO: This is slightly redundant; we should be able to just
83
83
        # files that have been deleted are excluded
84
84
        if not self.inventory.has_id(file_id):
85
85
            return False
 
86
        self._update_statcache()
86
87
        if file_id in self._statcache:
87
88
            return True
88
89
        return os.path.exists(self.abspath(self.id2path(file_id)))
102
103
 
103
104
 
104
105
    def get_file_sha1(self, file_id):
 
106
        import statcache
 
107
        self._update_statcache()
105
108
        return self._statcache[file_id][statcache.SC_SHA1]
106
109
 
107
110