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:
151.024 Traceback (most recent call last):
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/commands.py", line 729, in exception_to_return_code
return the_callable(*args, **kwargs)
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/commands.py", line 924, in run_bzr
ret = run(*run_argv)
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/commands.py", line 560, in run_argv_aliases
return self.run(**all_cmd_args)
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/builtins.py", line 1133, in run
source_branch=br_from)
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/bzrdir.py", line 1178, in sprout
result_repo.fetch(source_repository, fetch_spec=fetch_spec)
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/repository.py", line 1521, in fetch
find_ghosts=find_ghosts, fetch_spec=fetch_spec)
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/decorators.py", line 192, in write_locked
result = unbound(self, *args, **kwargs)
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/repository.py", line 3085, in fetch
pb=pb, find_ghosts=find_ghosts)
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/fetch.py", line 82, in __init__
self.__fetch()
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/fetch.py", line 108, in __fetch
self._fetch_everything_for_search(search)
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/fetch.py", line 137, in _fetch_everything_for_search
stream, from_format, [])
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/repository.py", line 3963, in insert_stream
return self._locked_insert_stream(stream, src_format)
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/repository.py", line 4011, in _locked_insert_stream
substream)
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/groupcompress.py", line 1349, in insert_record_stream
for _ in self._insert_record_stream(stream, random_id=False):
File "/home/jameinel/dev/bzr/bzr.dev/bzrlib/groupcompress.py", line 1406, in _insert_record_stream
raise errors.RevisionNotPresent(record.key, self)
RevisionNotPresent: Revision {('Arch-1:brad...--devel--0--patch-154',)} not present in "<bzrlib.groupcompress.GroupCompressVersionedFiles object at 0x880be6c>"
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..
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..