termie/git-bzr-ng

bzr 2.4.1 - ERROR: exceptions.AttributeError: 'BTreeBuilder' object has no attribute '_find_ancestors'

Opened this issue · 4 comments

I have no idea what I've done wrong or what this issue is, but here's a complete log of what I did...

tim@atom:/projects/communication-book
$ git bzr clone lp:tim-abell/communication/trunk
Branched 39 revision(s).ching revisions:Finishing stream:Done 3950/39503833
21:07:19 Calculating the revisions to include ...
21:07:19 Starting export of 39 revisions ...
21:07:21 Exported 39 revisions in 0:00:02
Already on 'master'
tim@atom:
/projects/communication-book
$ cd trunk/
tim@atom:
/projects/communication-book/trunk
$ cd ..
tim@atom:/projects/communication-book
$ mv trunk/ code
tim@atom:
/projects/communication-book
$ cd code
tim@atom:~/projects/communication-book/code
$ cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[bzr "master"]
bzr = bzr/master
[bzr "bzr/master"]
upstream = lp:tim-abell/communication/trunk
tim@atom:
/projects/communication-book/code
$ git bzr marks
Marks file: /home/tim/projects/communication-book/code/.git/bzr/map/master-git
:1 f961e8145df7553f0fdeedc31afd3cb7a9531d0b
:2 d2b939c912a47b32d4c7cfccf030e57f4538a75d
:3 12a8f608e920d3dde078c3d204259c90f6676061
:4 2cfe84811f578bd5959769784635543bc0d025a6
:5 56d2fd53c6eeb636406b5f1b628e776218aae0b3
:6 3e209ed7ddefa93b050faa16eccd0fd6e77ef2ae
:7 9c2d274107311a6bbe6bfd9288253fdd8b65e99c
:8 08f3a1532ef4d71f096aaf508f8b22adc49762e1
:9 65778766a9e09c974448d2f3ca125b83b4118c02
:10 ab93b3306def11e9def9dca1a6d94c0ecff099d7
:11 da9e38f510393a74640bcc24e20ee1c200a015ac
:12 25ca011d872b05c625bbdaf2e199752088c9666d
:13 f91ca9a7de62b4d646ca04633f1084fc799b63e0
:14 929ce15434da1bb3180fbfc1a51d01dd4a0c42c9
:15 eb8a215a726db73a3c1e6f9c0cf9d8b52cb27a5c
:16 7b4e4d64666a7694f2f113cdcfd2eabc4bd48e83
:17 7380da9e3aad2b3761ebb5920adfdfe67c2bd4c7
:18 f4c40c610200192031dde2c6b0032950a9d63a27
:19 a291d935b3b90c9ba9b813a62f15b38e173d5e54
:20 54221b78ca0960e6fde77a8b05634022df5f5398
:21 cfe3cface22e3284aff09e2b85a2b8923d48f961
:22 97a4c0b14507d1bffa972e6b590bcf6446e2ea73
:23 f46bb14404debbfdf978d201347304124071a08f
:24 350614668017a8e69773442f947125d2e1c06b3c
:25 e3bf1e6eb6c587485b2c124619d13a046f0ca9ee
:26 e79ea2971c4cd8f825c17d7d566ad34257468bf7
:27 7f732be1db029a60bbeac2e5f0b5846c9a2bb275
:28 89ea5926ab5e7b5ef35f68c454871818360c9d0d
:29 dc98769d6fba1b405ce3ca1de9c8c715be36e797
:30 2286484a9bd0c9cffe4b8d0bde0684795c3f8dc3
:31 97469395572fb39895a59418733230f3ea9fd55e
:32 50d99ac7e821f73fdeef409d3be1c35c2fd93d5e
:33 107fc4bc01974b53bd7d285f6b0c0247ac7324d1
:34 e810518d9c032b23a26d37bebed14635544efa03
:35 99483df49e842435bfecef77ee789c5e92b8f3ab
:36 b33acb8f8d1c7f26e08bdc0987af401dd60815cb
:37 3788099135e9f1874d3ec5f3425fbcd2d109ccde
:38 d0f25f0891cefe6c1ca68af80c2dee58101c2775
:39 490203f0afe7668918bfd3c2e22527a35c3db908

tim@atom:/projects/communication-book/code
$ git bzr import lp:john-d-morton-o/communication/trunk john
Branched 1 revision(s).nding revisions
21:08:41 Calculating the revisions to include ...
21:08:41 Starting export of 1 revisions ...
21:08:41 Exported 1 revision in 0:00:00
tim@atom:
/projects/communication-book/code
$ git bzr import lp:communication central
Branched 39 revision(s).ching revisions:Finishing stream:Estimate 10/30
21:09:22 Calculating the revisions to include ...
21:09:22 Starting export of 39 revisions ...
21:09:23 Exported 39 revisions in 0:00:01
tim@atom:
/projects/communication-book/code
$ git checkout master
Already on 'master'
tim@atom:~/projects/communication-book/code
$ git pull ../codex/ master
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From ../codex

  • branch master -> FETCH_HEAD
    Updating 490203f..848046c
    Fast-forward
    .classpath | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)
    tim@atom:/projects/communication-book/code
    $ git bzr push
    21:10:30 Calculating the revisions to include ...
    21:10:30 Starting export of 39 revisions ...
    21:10:30 Exported 39 revisions in 0:00:00
    21:10:31 Starting import ...
    21:10:31 Updating branch information ...
    branch master now has 40 revisions and 0 tags
    21:10:31 Imported 1 revision, updating 1 branch and 0 trees in 0:00:00
    To refresh the working tree for other branches, use 'bzr update' inside that branch.
    Pushed up to revision 40.hing revisions:Finishing stream:Done 10/10
    tim@atom:
    /projects/communication-book/code
    $ git bzr sync
    21:10:52 Calculating the revisions to include ...
    21:10:52 Starting export of 40 revisions ...
    21:10:52 Exported 40 revisions in 0:00:00
    tim@atom:~/projects/communication-book/code
    $ cat .git/config
    [core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    [bzr "master"]
    bzr = bzr/master
    [bzr "bzr/master"]
    upstream = lp:~tim-abell/communication/trunk
    [bzr "john"]
    bzr = bzr/john
    [bzr "bzr/john"]
    upstream = lp:john-d-morton-o/communication/trunk
    [bzr "central"]
    bzr = bzr/central
    [bzr "bzr/central"]
    upstream = lp:communication
    tim@atom:
    /projects/communication-book/code
    $ git bzr pull
    21:11:21 Calculating the revisions to include ...
    21:11:21 Starting export of 40 revisions ...
    21:11:21 Exported 40 revisions in 0:00:00
    From .
  • branch bzr/master -> FETCH_HEAD
    tim@atom:/projects/communication-book/code
    $ git bzr sync
    21:11:40 Calculating the revisions to include ...
    21:11:40 Starting export of 40 revisions ...
    21:11:40 Exported 40 revisions in 0:00:00
    tim@atom:
    /projects/communication-book/code
    $ git checkout central
    Switched to branch 'central'
    tim@atom:/projects/communication-book/code
    $ git merge master
    Updating 490203f..848046c
    Fast-forward
    .classpath | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)
    tim@atom:
    /projects/communication-book/code
    $ git bzr push
    21:12:16 Calculating the revisions to include ...
    21:12:16 Starting export of 39 revisions ...
    21:12:16 Exported 39 revisions in 0:00:00
    21:12:16 Starting import ...
    bzr: ERROR: exceptions.AttributeError: 'BTreeBuilder' object has no attribute '_find_ancestors'

Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 946, in exception_to_return_code
return the_callable(_args, *_kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 1150, in run_bzr
ret = run(_run_argv)
File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 699, in run_argv_aliases
return self.run(__all_cmd_args)
File "/usr/lib/python2.7/dist-packages/bzrlib/commands.py", line 721, in run
return self._operation.run_simple(_args, *_kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 135, in run_simple
self.cleanups, self.func, *args, *_kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/cleanup.py", line 165, in _do_with_cleanups
result = func(_args, *_kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/plugins/fastimport/cmds.py", line 314, in run
user_map=user_map)
File "/usr/lib/python2.7/dist-packages/bzrlib/plugins/fastimport/cmds.py", line 40, in _run
return proc.process(p.iter_commands)
File "/usr/lib/python2.7/dist-packages/bzrlib/plugins/fastimport/processors/generic_processor.py", line 311, in process
super(GenericProcessor, self)._process(command_iter)
File "/usr/lib/python2.7/dist-packages/fastimport/processor.py", line 76, in _process
handler(self, cmd)
File "/usr/lib/python2.7/dist-packages/bzrlib/plugins/fastimport/processors/generic_processor.py", line 536, in commit_handler
handler.process()
File "/usr/lib/python2.7/dist-packages/fastimport/processor.py", line 159, in process
self.post_process_files()
File "/usr/lib/python2.7/dist-packages/bzrlib/plugins/fastimport/bzr_commit_handler.py", line 662, in post_process_files
self._get_inventories)
File "/usr/lib/python2.7/dist-packages/bzrlib/plugins/fastimport/revision_store.py", line 376, in load_using_delta
rev.parent_ids)
File "/usr/lib/python2.7/dist-packages/bzrlib/decorators.py", line 154, in read_locked
result = unbound(self, _args, *_kwargs)
File "/usr/lib/python2.7/dist-packages/bzrlib/vf_repository.py", line 1828, in get_known_graph_ancestry
known_graph = self.revisions.get_known_graph_ancestry(revision_keys)
File "/usr/lib/python2.7/dist-packages/bzrlib/versionedfile.py", line 1440, in get_known_graph_ancestry
parent_map, missing_keys = self._index.find_ancestry(keys)
File "/usr/lib/python2.7/dist-packages/bzrlib/groupcompress.py", line 2102, in find_ancestry
return self._graph_index.find_ancestry(keys, 0)
File "/usr/lib/python2.7/dist-packages/bzrlib/index.py", line 1527, in find_ancestry
search_keys = index._find_ancestors(search_keys,
AttributeError: 'BTreeBuilder' object has no attribute '_find_ancestors'

You can report this problem to Bazaar's developers by running
apport-bug /var/crash/bzr.1000.2012-02-06T21:12.crash
if a bug-reporting window does not automatically appear.
ERROR:root:bzr import failed
tim@atom:~/projects/communication-book/code
$ bzr --version
Bazaar (bzr) 2.4.1
Python interpreter: /usr/bin/python 2.7.2
Python standard library: /usr/lib/python2.7
Platform: Linux-3.0.0-15-generic-x86_64-with-Ubuntu-11.10-oneiric
bzrlib: /usr/lib/python2.7/dist-packages/bzrlib
Bazaar configuration: /home/tim/.bazaar
Bazaar log file: /home/tim/.bzr.log

Copyright 2005-2011 Canonical Ltd.
http://bazaar.canonical.com/

bzr comes with ABSOLUTELY NO WARRANTY. bzr is free software, and
you may use, modify and redistribute it under the terms of the GNU
General Public License version 2 or later.

Bazaar is part of the GNU Project to produce a free operating system.

apparently this is the upstream bug in bzr: https://bugs.launchpad.net/bzr/+bug/541626 which at time of writing remains unresolved

Minimal(ish) script to reproduce (from scratch):

#! /usr/bin/env bash
set -u -e

mkdir test-bzr
cd test-bzr

bzr init
echo start >> test
bzr add test
bzr commit -m "Bzr commit"
bzr push lp:~/+junk/test-0

cd ..

git bzr clone lp:~/+junk/test-0 test-git
cd test-git
echo test0 >> test && git commit -am "git Update 0"
git bzr push
echo test1 >> test && git commit -am "git Update 1"
git bzr push lp:~/+junk/test-1
echo test2 >> test && git commit -am "git Update 2"
git bzr push lp:~/+junk/test-2

just wanted to point out that comment 38 from https://bugs.launchpad.net/bzr/+bug/541626 fixed it for me. which is fine. i don't need graphing at this time

Link to comment: https://bugs.launchpad.net/bzr/+bug/541626/comments/38
The fix has also been added bzr-fastimport 0.13.0-4 in Ubuntu Trusty / Debian testing.