~ubuntu-branches/ubuntu/maverick/bzr-git/maverick

« back to all changes in this revision

Viewing changes to inventory.py

  • Committer: Bazaar Package Importer
  • Author(s): Jelmer Vernooij
  • Date: 2010-03-18 16:09:25 UTC
  • mfrom: (1.1.9 upstream) (8.1.3 sid)
  • Revision ID: james.westby@ubuntu.com-20100318160925-p96lipgudc5iw3u5
Tags: 0.5.0-1
* New upstream release.
 + Fixes breakage with newer versions of Python 2.6.
* Bump standards version to 3.8.4.
* Switch to dpkg-source 3.0 (quilt) format.

Show diffs side-by-side

added added

removed removed

Lines of Context:
50
50
        self.path = path
51
51
        self.revision = self._inventory.revision_id
52
52
        self.executable = executable
53
 
        self.file_id = self._inventory.mapping.generate_file_id(path.encode('utf-8'))
 
53
        self.file_id = self._inventory.mapping.generate_file_id(
 
54
            path.encode('utf-8'))
54
55
 
55
56
    @property
56
57
    def object(self):
126
127
 
127
128
    def copy(self):
128
129
        other = inventory.InventoryLink(self.file_id, self.name, self.parent_id)
 
130
        other.executable = self.executable
129
131
        other.symlink_target = self.symlink_target
130
132
        other.revision = self.revision
131
133
        return other
182
184
                          'file': GitInventoryFile,
183
185
                          'symlink': GitInventoryLink,
184
186
                          'tree-reference': GitInventoryTreeReference}[mode_kind(mode)]
185
 
            self._children[basename] = kind_class(self._inventory, self.file_id, hexsha, child_path, basename, executable)
 
187
            self._children[basename] = kind_class(self._inventory,
 
188
                self.file_id, hexsha, child_path, basename, executable)
186
189
 
187
190
    def copy(self):
188
191
        other = inventory.InventoryDirectory(self.file_id, self.name,
257
260
        self.mapping = mapping
258
261
        self.index = index
259
262
        self._contents_read = False
 
263
        self.store = store
260
264
        self.root = self.add_path("", 'directory',
261
265
            self.mapping.generate_file_id(""), None)
262
266
 
263
267
    def iter_entries_by_dir(self, specific_file_ids=None, yield_parents=False):
264
268
        self._read_contents()
265
 
        return super(GitIndexInventory, self).iter_entries_by_dir(specific_file_ids=specific_file_ids, yield_parents=yield_parents)
 
269
        return super(GitIndexInventory, self).iter_entries_by_dir(
 
270
            specific_file_ids=specific_file_ids, yield_parents=yield_parents)
266
271
 
267
272
    def has_id(self, file_id):
 
273
        if type(file_id) != str:
 
274
            raise AssertionError
268
275
        try:
269
276
            self.id2path(file_id)
270
277
            return True
278
285
        return super(GitIndexInventory, self).has_filename(path)
279
286
 
280
287
    def id2path(self, file_id):
 
288
        if type(file_id) != str:
 
289
            raise AssertionError
281
290
        path = self.mapping.parse_file_id(file_id)
282
291
        if path in self.index:
283
292
            return path
314
323
                    file_id = self.mapping.generate_file_id(path)
315
324
                else:
316
325
                    file_id = old_ie.file_id
 
326
                if type(file_id) != str:
 
327
                    raise AssertionError
317
328
                kind = mode_kind(mode)
318
329
                if old_ie is not None and old_ie.hexsha == sha:
319
330
                    # Hasn't changed since basis inv
322
333
                else:
323
334
                    ie = self.add_path(path, kind, file_id,
324
335
                        self.add_parents(path))
325
 
                    data = store[sha].data
 
336
                    data = self.store[sha].data
326
337
                    if kind == "symlink":
327
338
                        ie.symlink_target = data
328
339
                    else:
345
356
            if ie.file_id in self.basis_inv:
346
357
                ie.revision = self.basis_inv[ie.file_id].revision
347
358
            file_id = ie.file_id
 
359
        if type(file_id) != str:
 
360
            raise AssertionError
348
361
        return file_id
349
362