Comment 13 for bug 250480

Revision history for this message
Robert Collins (lifeless) wrote :

So, first steps for me retackling this post-travel :)

robertc@lifeless-64:/tmp$ cd conduit
robertc@lifeless-64:/tmp/conduit$ ls
robertc@lifeless-64:/tmp/conduit$ bzr branch http://bzr-mirror.gnome.org/conduit/trunk/
Branched 1515 revision(s).
robertc@lifeless-64:/tmp/conduit$ bzr branch http://www.johnstowers.co.nz/bzr/test-bzr-conduit
Branched 1457 revision(s).
robertc@lifeless-64:/tmp/conduit$ cp -a test-bzr-conduit/ test
robertc@lifeless-64:/tmp/conduit$ cd test
robertc@lifeless-64:/tmp/conduit/test$ bzr merge ../trunk/
bzr: ERROR: Revision {<email address hidden>} not present in "809@1811c9d2-c306-0410-a128-ae57aa55c946:trunk:help%2FC".
robertc@lifeless-64:/tmp/conduit/test$ vim ~/.bzr.log

  File "/home/robertc/source/baz/bzr-test-fixes/bzrlib/repository.py", line 2765, in fetch
    revision_ids).pack()
  File "/home/robertc/source/baz/bzr-test-fixes/bzrlib/repofmt/pack_repo.py", line 594, in pack
    return self._create_pack_from_packs()
  File "/home/robertc/source/baz/bzr-test-fixes/bzrlib/repofmt/pack_repo.py", line 743, in _create_pack_from_packs
    self._check_references()
  File "/home/robertc/source/baz/bzr-test-fixes/bzrlib/repofmt/pack_repo.py", line 705, in _check_references
    missing_file_id)
RevisionNotPresent: Revision {<email address hidden>} not present in "809@1811c9d2-c306-0410-a128-ae57aa55c946:trunk:help%2FC".

So - fetch is fetching the new content. Which is delta'd against a text that is a ghost in the target.

This doesn't talk about inventories or anything at this point.

Its possible for a text referenced in an inventory to be deltad against a non-LHS revision (from that inventories perspective) if the text-change is one that was made in a non-LHS revision and no concurrent changes were made before it was merged; that is how you can get a revision referenced in an inventory in svn that was not part of the svn lhs history.