Repository conversion problems

Gavin Carr gavin at openfusion.com.au
Wed Aug 5 03:32:00 BST 2009


I'm now trying to convert a bzr shared repository to format 2a to workaround
this problem I'm having with control characters in filenames with the 
pack-0.92 format, and running into difficulties (bzr 1.17 on linux).

Doing a 'bzr check --repo' fails about halfway through the 'checking revisions'
phase, with: 'bzr: ERROR: not well-formed (invalid token): line 90, column 81',
apparently on deserialising the inventory:

  Wed 2009-08-05 12:13:54 +1000
  0.031  bzr arguments: [u'check', u'--repo']
  0.051  looking for plugins in /home/gavin/.bazaar/plugins
  0.051  looking for plugins in /usr/lib/python2.4/site-packages/bzrlib/plugins
  0.129  encoding stdout as sys.stdout encoding 'ANSI_X3.4-1968'
  [27125] 2009-08-05 12:13:55.614 INFO: Checking repository at 'file:///home/gavin/bzre/'.
  11.833  Traceback (most recent call last):
    File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 835, in exception_to_return_code
      return the_callable(*args, **kwargs)
    File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 1030, in run_bzr
      ret = run(*run_argv)
    File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 647, in run_argv_aliases
      return self.run(**all_cmd_args)
    File "/usr/lib/python2.4/site-packages/bzrlib/builtins.py", line 3130, in run
      check_dwim(path, verbose, do_branch=branch, do_repo=repo, do_tree=tree)
    File "/usr/lib/python2.4/site-packages/bzrlib/check.py", line 318, in check_dwim
      result = repo.check()
    File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 138, in read_locked
      result = unbound(self, *args, **kwargs)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 2551, in check
      return self._check(revision_ids)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 2555, in _check
      result.check()
    File "/usr/lib/python2.4/site-packages/bzrlib/check.py", line 86, in check
      self.check_one_rev(rev_id)
    File "/usr/lib/python2.4/site-packages/bzrlib/check.py", line 203, in check_one_rev
      self._check_revision_tree(rev_id)
    File "/usr/lib/python2.4/site-packages/bzrlib/check.py", line 232, in _check_revision_tree
      tree = self.repository.revision_tree(rev_id)
    File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 138, in read_locked
      result = unbound(self, *args, **kwargs)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 2363, in revision_tree
      inv = self.get_revision_inventory(revision_id)
    File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 138, in read_locked
      result = unbound(self, *args, **kwargs)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 2322, in get_revision_inventory
      return self.get_inventory(revision_id)
    File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 138, in read_locked
      result = unbound(self, *args, **kwargs)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 2179, in get_inventory
      return self.iter_inventories([revision_id]).next()
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 2199, in _iter_inventories
      yield self.deserialise_inventory(revision_id, text)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 2221, in deserialise_inventory
      entry_cache=self._inventory_entry_cache)
    File "/usr/lib/python2.4/site-packages/bzrlib/xml_serializer.py", line 77, in read_inventory_from_string
      raise errors.UnexpectedInventoryFormat(e)
  UnexpectedInventoryFormat: not well-formed (invalid token): line 90, column 81

  11.834  return code 3


An upgrade fails similarly about halfware through the total number of revisions:

  Wed 2009-08-05 12:15:22 +1000
  0.016  bzr arguments: [u'upgrade', u'--2a']
  0.036  looking for plugins in /home/gavin/.bazaar/plugins
  0.036  looking for plugins in /usr/lib/python2.4/site-packages/bzrlib/plugins
  0.143  encoding stdout as sys.stdout encoding 'ANSI_X3.4-1968'
  0.383  creating repository in file:///home/gavin/bzre/.bzr/.
  5.485  checking remap as 80 deletions
  5.495  checking remap as 80 deletions
  5.646  checking remap as 88 deletions
  <snip>
  13.450  checking remap as 196 deletions
  13.483  checking remap as 27 deletions
  13.490  checking remap as 28 deletions
  14.156  Traceback (most recent call last):
    File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 835, in exception_to_return_code
      return the_callable(*args, **kwargs)
    File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 1030, in run_bzr
      ret = run(*run_argv)
    File "/usr/lib/python2.4/site-packages/bzrlib/commands.py", line 647, in run_argv_aliases
      return self.run(**all_cmd_args)
    File "/usr/lib/python2.4/site-packages/bzrlib/builtins.py", line 3154, in run
      upgrade(url, format)
    File "/usr/lib/python2.4/site-packages/bzrlib/upgrade.py", line 85, in upgrade
      Convert(url, format)
    File "/usr/lib/python2.4/site-packages/bzrlib/upgrade.py", line 40, in __init__
      self.convert()
    File "/usr/lib/python2.4/site-packages/bzrlib/upgrade.py", line 79, in convert
      self.bzrdir = converter.convert(self.bzrdir, self.pb)
    File "/usr/lib/python2.4/site-packages/bzrlib/bzrdir.py", line 3010, in convert
      converter.convert(repo, pb)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 3809, in convert
      self.source_repo.copy_content_into(converted)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 1395, in copy_content_into
      return InterRepository.get(self, destination).copy_content(revision_id)
    File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 192, in write_locked
      result = unbound(self, *args, **kwargs)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 3168, in copy_content
      self.target.fetch(self.source, revision_id=revision_id)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 1544, in fetch
      find_ghosts=find_ghosts, fetch_spec=fetch_spec)
    File "/usr/lib/python2.4/site-packages/bzrlib/decorators.py", line 192, in write_locked
      result = unbound(self, *args, **kwargs)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 3735, in fetch
      self._fetch_all_revisions(revision_ids, pb)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 3689, in _fetch_all_revisions
      basis_id = self._fetch_batch(batch, basis_id, cache)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 3596, in _fetch_batch
      for tree in self.source.revision_trees(revision_ids):
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 2373, in revision_trees
      for inv in inventories:
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 2199, in _iter_inventories
      yield self.deserialise_inventory(revision_id, text)
    File "/usr/lib/python2.4/site-packages/bzrlib/repository.py", line 2221, in deserialise_inventory
      entry_cache=self._inventory_entry_cache)
    File "/usr/lib/python2.4/site-packages/bzrlib/xml_serializer.py", line 77, in read_inventory_from_string
      raise errors.UnexpectedInventoryFormat(e)
  UnexpectedInventoryFormat: not well-formed (invalid token): line 90, column 81

  14.156  return code 3


What are my options at this point? Can I force the conversion somehow? Should 
I just start a new 2a repository and branch all branches in the old repository?


Thanks,
Gavin








More information about the bazaar mailing list