~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/bundle/bundle_data.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2010-09-29 22:03:03 UTC
  • mfrom: (5416.2.6 jam-integration)
  • Revision ID: pqm@pqm.ubuntu.com-20100929220303-cr95h8iwtggco721
(mbp) Add 'break-lock --force'

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006 Canonical Ltd
 
1
# Copyright (C) 2005-2010 Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
278
278
        if rev.revision_id != revision_id:
279
279
            raise AssertionError()
280
280
        if sha1 != rev.inventory_sha1:
281
 
            open(',,bogus-inv', 'wb').write(s)
 
281
            f = open(',,bogus-inv', 'wb')
 
282
            try:
 
283
                f.write(s)
 
284
            finally:
 
285
                f.close()
282
286
            warning('Inventory sha hash mismatch for revision %s. %s'
283
287
                    ' != %s' % (revision_id, sha1, rev.inventory_sha1))
284
288
 
285
289
    def _validate_revision(self, inventory, revision_id):
286
290
        """Make sure all revision entries match their checksum."""
287
291
 
288
 
        # This is a mapping from each revision id to it's sha hash
 
292
        # This is a mapping from each revision id to its sha hash
289
293
        rev_to_sha1 = {}
290
294
 
291
295
        rev = self.get_revision(revision_id)
327
331
                try:
328
332
                    name, value = info_item.split(':', 1)
329
333
                except ValueError:
330
 
                    raise 'Value %r has no colon' % info_item
 
334
                    raise ValueError('Value %r has no colon' % info_item)
331
335
                if name == 'last-changed':
332
336
                    last_changed = value
333
337
                elif name == 'executable':
711
715
                ie.symlink_target = self.get_symlink_target(file_id)
712
716
            ie.revision = revision_id
713
717
 
714
 
            if kind in ('directory', 'symlink'):
715
 
                ie.text_size, ie.text_sha1 = None, None
716
 
            else:
 
718
            if kind == 'file':
717
719
                ie.text_size, ie.text_sha1 = self.get_size_and_sha1(file_id)
718
 
            if (ie.text_size is None) and (kind == 'file'):
719
 
                raise BzrError('Got a text_size of None for file_id %r' % file_id)
 
720
                if ie.text_size is None:
 
721
                    raise BzrError(
 
722
                        'Got a text_size of None for file_id %r' % file_id)
720
723
            inv.add(ie)
721
724
 
722
725
        sorted_entries = self.sorted_path_id()