Comment 2 for bug 205579

Revision history for this message
John A Meinel (jameinel) wrote :

I also was able to duplicate this with a simple "bzr serve" and "bzr checkout bzr://localhost/".

This is actually related to bug #103195. What I'm seeing is that "bzr co" tries to figure out the target format using bzrdir.cloning_metadir(). Which then inspects a couple of the objects to be compatible. However there is this code:

else:
    # XXX TODO: This isinstance is here because we have not implemented
    # the fix recommended in bug # 103195 - to delegate this choice the
    # repository itself.
    repo_format = source_repository._format
    if not isinstance(repo_format, remote.RemoteRepositoryFormat):
        result_format.repository_format = repo_format

Which means that for the 'bzr://' protocol, the target format is always initialized with the default repository format.

Another workaround for this is to create a target repository ahead of time.

bzr init-repo --rich-root-pack repo
cd repo
bzr co bzr+ssh://branch/which/is/in/non/default/format

Should work.