Comment 36 for bug 347729

Jelmer:

I just tried out the branch lp:~ian-clatworthy/bzr-fastimport/new-marks-format

and I still get an error. but it's a different one this time:

bzr: ERROR: exceptions.KeyError: 0

Traceback (most recent call last):
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 853, in exception_to_return_code
    return the_callable(*args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 1055, in run_bzr
    ret = run(*run_argv)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 661, in run_argv_aliases
    return self.run_direct(**all_cmd_args)
  File "/usr/lib/python2.5/site-packages/bzrlib/commands.py", line 665, in run_direct
    return self._operation.run_simple(*args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/cleanup.py", line 122, in run_simple
    self.cleanups, self.func, *args, **kwargs)
  File "/usr/lib/python2.5/site-packages/bzrlib/cleanup.py", line 156, in _do_with_cleanups
    result = func(*args, **kwargs)
  File "/home/gabster/.bazaar/plugins/fastimport/__init__.py", line 339, in run
    params, verbose)
  File "/home/gabster/.bazaar/plugins/fastimport/__init__.py", line 108, in _run
    return proc.process(p.iter_commands)
  File "/home/gabster/.bazaar/plugins/fastimport/processor.py", line 95, in process
    self._process(command_iter)
  File "/home/gabster/.bazaar/plugins/fastimport/processors/generic_processor.py", line 275, in _process
    processor.ImportProcessor._process(self, command_iter)
  File "/home/gabster/.bazaar/plugins/fastimport/processor.py", line 109, in _process
    self.pre_process()
  File "/home/gabster/.bazaar/plugins/fastimport/processors/generic_processor.py", line 134, in pre_process
    self.cache_mgr.revision_ids = mark_info[0]
KeyError: 0

bzr 2.1.2 on python 2.5.4 (Linux-2.6.32-5-openvz-686-i686-with-debian-squeeze-sid)
arguments: ['/usr/bin/bzr', 'fast-import', '--import-marks=/home/gabster/test/lolo/.git/bzr/map/master-bzr', '--export-marks=/home/gabster/test/lolo/.git/bzr/map/master-bzr', '-', '/home/gabster/test/lolo/.git/bzr/repo/master']
encoding: 'UTF-8', fsenc: 'UTF-8', lang: 'en_CA.UTF-8'
plugins:
  bzrtools /usr/lib/python2.5/site-packages/bzrlib/plugins/bzrtools [2.1.0]
  fastimport /home/gabster/.bazaar/plugins/fastimport [0.9.0dev]
  launchpad /usr/lib/python2.5/site-packages/bzrlib/plugins/launchpad [2.1.2]
  netrc_credential_store /usr/lib/python2.5/site-packages/bzrlib/plugins/netrc_credential_store [2.1.2]
  news_merge /usr/lib/python2.5/site-packages/bzrlib/plugins/news_merge [2.1.2]

*** Bazaar has encountered an internal error. This probably indicates a
    bug in Bazaar. You can help us fix it by filing a bug report at
        https://bugs.launchpad.net/bzr/+filebug
    including this traceback and a description of the problem.
No new revisions to push.

In the file processors/generic_processor.py, the marks_file.import_marks() function returns a dictionary of marks as {revno: rev-hash} affected to mark_info, so retrieving mark_info[0] is wrong.
also, cache_mgr is expecting a dictionary of revisions in revsion_ids. I tried changing line 134 to "self.cache_mgr.revision_ids = mark_info". It stops crashing but no import is actually done on the bzr repo, so I'm probably missing something.