~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/revisiontree.py

[merge] bzr.dev 2298 (broken)

Show diffs side-by-side

added added

removed removed

Lines of Context:
63
63
        return self._revision_id
64
64
 
65
65
    def get_weave(self, file_id):
 
66
        file_id = osutils.safe_file_id(file_id)
66
67
        return self._weave_store.get_weave(file_id,
67
68
                self._repository.get_transaction())
68
69
 
69
70
    def get_file_lines(self, file_id):
 
71
        file_id = osutils.safe_file_id(file_id)
70
72
        ie = self._inventory[file_id]
71
73
        weave = self.get_weave(file_id)
72
74
        return weave.get_lines(ie.revision)
73
75
 
74
76
    def get_file_text(self, file_id):
 
77
        file_id = osutils.safe_file_id(file_id)
75
78
        return ''.join(self.get_file_lines(file_id))
76
79
 
77
80
    def get_file(self, file_id):
 
81
        file_id = osutils.safe_file_id(file_id)
78
82
        return StringIO(self.get_file_text(file_id))
79
83
 
80
84
    def annotate_iter(self, file_id):
81
85
        """See Tree.annotate_iter"""
 
86
        file_id = osutils.safe_file_id(file_id)
82
87
        w = self.get_weave(file_id)
83
88
        return w.annotate_iter(self.inventory[file_id].revision)
84
89
 
85
90
    def get_file_size(self, file_id):
 
91
        file_id = osutils.safe_file_id(file_id)
86
92
        return self._inventory[file_id].text_size
87
93
 
88
94
    def get_file_sha1(self, file_id, path=None, stat_value=None):
 
95
        file_id = osutils.safe_file_id(file_id)
89
96
        ie = self._inventory[file_id]
90
97
        if ie.kind == "file":
91
98
            return ie.text_sha1
92
99
        return None
93
100
 
94
101
    def get_file_mtime(self, file_id, path=None):
 
102
        file_id = osutils.safe_file_id(file_id)
95
103
        ie = self._inventory[file_id]
96
104
        revision = self._repository.get_revision(ie.revision)
97
105
        return revision.timestamp
98
106
 
99
107
    def is_executable(self, file_id, path=None):
 
108
        file_id = osutils.safe_file_id(file_id)
100
109
        ie = self._inventory[file_id]
101
110
        if ie.kind != "file":
102
 
            return None 
 
111
            return None
103
112
        return ie.executable
104
113
 
105
114
    def has_filename(self, filename):
116
125
            yield path, 'V', entry.kind, entry.file_id, entry
117
126
 
118
127
    def get_symlink_target(self, file_id):
 
128
        file_id = osutils.safe_file_id(file_id)
119
129
        ie = self._inventory[file_id]
120
130
        return ie.symlink_target;
121
131
 
122
132
    def kind(self, file_id):
 
133
        file_id = osutils.safe_file_id(file_id)
123
134
        return self._inventory[file_id].kind
124
135
 
125
136
    def _comparison_data(self, entry, path):