/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to commit.py

More test fixes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
61
61
        self._blobs = {}
62
62
        self._any_changes = False
63
63
        self._will_record_deletes = False
 
64
        self._override_fileids = {}
 
65
        self._mapping = self.repository.get_mapping()
64
66
 
65
67
    def any_changes(self):
66
68
        return self._any_changes
70
72
        raise NotImplementedError(self.record_entry_contents)
71
73
 
72
74
    def record_delete(self, path, file_id):
 
75
        self._override_fileids[path] = None
73
76
        self._blobs[path] = None
74
77
        self._any_changes = True
75
78
 
123
126
                continue
124
127
            _, st = workingtree.get_file_with_stat(file_id, path[1])
125
128
            yield file_id, path[1], (file_sha1, st)
 
129
            self._override_fileids[path[1]] = file_id
126
130
        if not seen_root and len(self.parents) == 0:
127
131
            raise RootMissing()
128
132
        if getattr(workingtree, "basis_tree", False):
145
149
                else:
146
150
                    blob.data = basis_tree.get_file_text(entry.file_id, path)
147
151
                self._blobs[path.encode("utf-8")] = (entry_mode(entry), blob.id)
 
152
        if not self._lossy:
 
153
            try:
 
154
                fileid_map = dict(basis_tree._fileid_map.file_ids)
 
155
            except AttributeError:
 
156
                fileid_map = {}
 
157
            fileid_map.update(self._override_fileids)
 
158
            if fileid_map:
 
159
                fileid_blob = self._mapping.export_fileid_map(fileid_map)
 
160
                self.store.add_object(fileid_blob)
 
161
                self._blobs[self._mapping.BZR_FILE_IDS_FILE] = (stat.S_IFREG | 0644, fileid_blob.id)
 
162
            else:
 
163
                self._blobs[self._mapping.BZR_FILE_IDS_FILE] = None
148
164
        self.new_inventory = None
149
165
 
150
166
    def get_basis_delta(self):
187
203
 
188
204
        assert len(c.id) == 40
189
205
        if self._new_revision_id is None:
190
 
            self._new_revision_id = self.repository.get_mapping().revision_id_foreign_to_bzr(c.id)
 
206
            self._new_revision_id = self.mapping.revision_id_foreign_to_bzr(c.id)
191
207
        self.store.add_object(c)
192
208
        self.repository.commit_write_group()
193
209
        return self._new_revision_id