colo-ify shouldn't be purging revisions, although it does make a new repository and branch the existing branch into that repository using BzrDir.sprout. The relevant code in colo-ify is:
Am I misusing one of the API calls here? sprout()? It looks like BzrDir.sprout eventually runs Repository.fetch to get the revisions into the newly created repository. Could that not be pulling in all of the necessary revisions? Seems very unlikely...
colo-ify shouldn't be purging revisions, although it does make a new repository and branch the existing branch into that repository using BzrDir.sprout. The relevant code in colo-ify is:
def run(self, other_location_ list=[] , trunk_name= 'trunk' ): BzrDir. open_containing (u'.')
the_bzrdir. root_transport. mkdir(COLOCATED _LOCATION)
repo_location = urlutils. join(the_ bzrdir. root_transport. base,
COLOCATED_ LOCATION)
new_transport = transport. get_transport( repo_location,
possible_ transports= [the_bzrdir. root_transport] ) cloning_ metadir( ).initialize_ on_transport(
new_ transport) create_ repository( shared= True)
new_repo. set_make_ working_ trees(False)
the_bzrdir, relpath = bzrdir.
new_bzrdir = the_bzrdir.
new_repo = new_bzrdir.
the_branch = _mod_branch. Branch. open_containing (u'.')[ 0]
branch_ location = urlutils. join(repo_ location, trunk_name)
new_branch_ bzrdir = the_bzrdir. sprout( branch_ location,
source_ branch= the_branch,
create_ tree_if_ local=False) bzrdir. open_branch( )
new_branch. set_parent( None)
self._ copy_locations( the_branch, new_branch)
new_branch = new_branch_
Am I misusing one of the API calls here? sprout()? It looks like BzrDir.sprout eventually runs Repository.fetch to get the revisions into the newly created repository. Could that not be pulling in all of the necessary revisions? Seems very unlikely...