I've generated a gc-plain-chk255 version of the bzr 1.12 branch. Trying to benchmark this fails because the branch commands fails. The currently running code is brisbane-core rev 3845 and groupcompress rev 56. The branch was converted on 26/02/2009 so it was done with slightly earlier versions.
Here's the error ...
$ bzr-brisbane branch work_root_for-bzr-gcchk255 xx -Derror
bzr: ERROR: bzrlib.errors.RevisionNotPresent: Revision {[('purpose.txt-20050309044946-a4132525edac8d4c', '<email address hidden>')]} not present in "<bzrlib.plugins.groupcompress.groupcompress.GroupCompressVersionedFiles object at 0x1fdc8d0>".
Traceback (most recent call last):
File "/home/ian/bzr/repo/brisbane-core/bzrlib/commands.py", line 921, in run_bzr_catch_errors
return run_bzr(argv)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/commands.py", line 866, in run_bzr
ret = run(*run_argv)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/commands.py", line 547, in run_argv_aliases
return self.run(**all_cmd_args)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/builtins.py", line 1102, in run
source_branch=br_from)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/bzrdir.py", line 1121, in sprout
result_repo.fetch(source_repository, revision_id=revision_id)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/repository.py", line 1161, in fetch
find_ghosts=find_ghosts)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/decorators.py", line 192, in write_locked
result = unbound(self, *args, **kwargs)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/repository.py", line 2857, in fetch
pb=pb, find_ghosts=find_ghosts)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/fetch.py", line 115, in __init__
self.__fetch()
File "/home/ian/bzr/repo/brisbane-core/bzrlib/fetch.py", line 142, in __fetch
self._fetch_everything_for_search(search, pp)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/fetch.py", line 161, in _fetch_everything_for_search
stream, from_format, [])
File "/home/ian/bzr/repo/brisbane-core/bzrlib/repository.py", line 3806, in insert_stream
return self._locked_insert_stream(stream, src_format)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/repository.py", line 3818, in _locked_insert_stream
self.target_repo.texts.insert_record_stream(substream)
File "/home/ian/.bazaar/plugins/groupcompress/groupcompress.py", line 669, in insert_record_stream
for _ in self._insert_record_stream(stream):
File "/home/ian/.bazaar/plugins/groupcompress/groupcompress.py", line 711, in _insert_record_stream
raise errors.RevisionNotPresent([record.key], self)
RevisionNotPresent: Revision {[('purpose.txt-20050309044946-a4132525edac8d4c', '<email address hidden>')]} not present in "<bzrlib.plugins.groupcompress.groupcompress.GroupCompressVersionedFiles object at 0x1fdc8d0>".
ian@humpback:~/scm-benchmark/bm.common/results/2009-03-02-0557/bzr-gcchk255-20090213.tar.bz2-8738$ bzr-brisbane branch work_root_for-bzr-gcchk255 xx -Derror
bzr: ERROR: bzrlib.errors.RevisionNotPresent: Revision {[('purpose.txt-20050309044946-a4132525edac8d4c', '<email address hidden>')]} not present in "<bzrlib.plugins.groupcompress.groupcompress.GroupCompressVersionedFiles object at 0x1fdc8d0>".
Traceback (most recent call last):
File "/home/ian/bzr/repo/brisbane-core/bzrlib/commands.py", line 921, in run_bzr_catch_errors
return run_bzr(argv)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/commands.py", line 866, in run_bzr
ret = run(*run_argv)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/commands.py", line 547, in run_argv_aliases
return self.run(**all_cmd_args)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/builtins.py", line 1102, in run
source_branch=br_from)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/bzrdir.py", line 1121, in sprout
result_repo.fetch(source_repository, revision_id=revision_id)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/repository.py", line 1161, in fetch
find_ghosts=find_ghosts)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/decorators.py", line 192, in write_locked
result = unbound(self, *args, **kwargs)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/repository.py", line 2857, in fetch
pb=pb, find_ghosts=find_ghosts)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/fetch.py", line 115, in __init__
self.__fetch()
File "/home/ian/bzr/repo/brisbane-core/bzrlib/fetch.py", line 142, in __fetch
self._fetch_everything_for_search(search, pp)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/fetch.py", line 161, in _fetch_everything_for_search
stream, from_format, [])
File "/home/ian/bzr/repo/brisbane-core/bzrlib/repository.py", line 3806, in insert_stream
return self._locked_insert_stream(stream, src_format)
File "/home/ian/bzr/repo/brisbane-core/bzrlib/repository.py", line 3818, in _locked_insert_stream
self.target_repo.texts.insert_record_stream(substream)
File "/home/ian/.bazaar/plugins/groupcompress/groupcompress.py", line 669, in insert_record_stream
for _ in self._insert_record_stream(stream):
File "/home/ian/.bazaar/plugins/groupcompress/groupcompress.py", line 711, in _insert_record_stream
raise errors.RevisionNotPresent([record.key], self)
RevisionNotPresent: Revision {[('purpose.txt-20050309044946-a4132525edac8d4c', '<email address hidden>')]} not present in "<bzrlib.plugins.groupcompress.groupcompress.GroupCompressVersionedFiles object at 0x1fdc8d0>".
Note that we seemed to actually have this working in brisbane-core, but recently I encountered this again in the new '--dev6' codebase.
Specifically, I'm using a Launchpad conversion, which has a lot of old "Arch-1:" ghosts in the ancestry.
Note that I am seeing this when doing "bzr branch" after converting to --dev6 and *not* using Stacked branches.
The traceback in that case is: jameinel/ dev/bzr/ bzr.dev/ bzrlib/ commands. py", line 729, in exception_ to_return_ code jameinel/ dev/bzr/ bzr.dev/ bzrlib/ commands. py", line 924, in run_bzr jameinel/ dev/bzr/ bzr.dev/ bzrlib/ commands. py", line 560, in run_argv_aliases **all_cmd_ args) jameinel/ dev/bzr/ bzr.dev/ bzrlib/ builtins. py", line 1133, in run branch= br_from) jameinel/ dev/bzr/ bzr.dev/ bzrlib/ bzrdir. py", line 1178, in sprout repo.fetch( source_ repository, fetch_spec= fetch_spec) jameinel/ dev/bzr/ bzr.dev/ bzrlib/ repository. py", line 1521, in fetch ghosts= find_ghosts, fetch_spec= fetch_spec) jameinel/ dev/bzr/ bzr.dev/ bzrlib/ decorators. py", line 192, in write_locked jameinel/ dev/bzr/ bzr.dev/ bzrlib/ repository. py", line 3085, in fetch find_ghosts) jameinel/ dev/bzr/ bzr.dev/ bzrlib/ fetch.py" , line 82, in __init__ jameinel/ dev/bzr/ bzr.dev/ bzrlib/ fetch.py" , line 108, in __fetch _fetch_ everything_ for_search( search) jameinel/ dev/bzr/ bzr.dev/ bzrlib/ fetch.py" , line 137, in _fetch_ everything_ for_search jameinel/ dev/bzr/ bzr.dev/ bzrlib/ repository. py", line 3963, in insert_stream insert_ stream( stream, src_format) jameinel/ dev/bzr/ bzr.dev/ bzrlib/ repository. py", line 4011, in _locked_ insert_ stream jameinel/ dev/bzr/ bzr.dev/ bzrlib/ groupcompress. py", line 1349, in insert_ record_ stream record_ stream( stream, random_id=False): jameinel/ dev/bzr/ bzr.dev/ bzrlib/ groupcompress. py", line 1406, in _insert_ record_ stream RevisionNotPres ent(record. key, self) 1:brad. ..--devel- -0--patch- 154',)} not present in "<bzrlib. groupcompress. GroupCompressVe rsionedFiles object at 0x880be6c>"
151.024 Traceback (most recent call last):
File "/home/
return the_callable(*args, **kwargs)
File "/home/
ret = run(*run_argv)
File "/home/
return self.run(
File "/home/
source_
File "/home/
result_
File "/home/
find_
File "/home/
result = unbound(self, *args, **kwargs)
File "/home/
pb=pb, find_ghosts=
File "/home/
self.__fetch()
File "/home/
self.
File "/home/
stream, from_format, [])
File "/home/
return self._locked_
File "/home/
substream)
File "/home/
for _ in self._insert_
File "/home/
raise errors.
RevisionNotPresent: Revision {('Arch-
At this point it is inserting 'revisions', I really don't understand why the source stream is grabbing a revision which is a ghost.
I should also point out that this revision does not seem to be on the mainline, as the history of Launchpad seems to travel back to rev 1: 'Arch-1:<email address hidden> %soyuz- -devel- -0--base- 0' just fine.
At first, I thought my symptoms might have been bug #368418, but that one has to do with stacking and missing parent inventories, and my case is about the StreamSource trying to transmit an Absent record for a revision text..