[MERGE] Initialize before transfer for BzrDir.clone() and sprout()

Aaron Bentley aaron.bentley at utoronto.ca
Thu Jan 4 21:46:33 GMT 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

John Arbash Meinel wrote:
> Aaron Bentley wrote:
> 
>>>Aaron Bentley has voted -0.
>>>Status is now: Semi-approved
>>>Comment:
>>>Instead of creating a blank branch, how about creating temp directories
>>>and moving them into place once they're properly initialized.  That
>>>seems simpler and very hard to break.
>>>
>>>For details, see:
>>>http://bundlebuggy.aaronbentley.com/request/%3C458B19D2.3090704%40arbash-meinel.com%3E
>>>
> 
> 
> But that doesn't support resuming if you cancel in the middle.

I guess I'm biased toward making it really robust.  I tend to think
resuming isn't very important.

> It would be possible to not create a "Branch" at the beginning, and
> instead create it on the second push (if you find a .bzr and a
> .bzr/repository, just create the .bzr/branch and then do a regular push).

I am not certain that it makes sense to push into a BzrDir that has a
pre-existing repository, but no branch.  I'll have to think about that.

One way around it would be for the repository's temp directory to have a
predictable name, so that we know if 'repository.tmp' exists, we were
interrupted during clone.

Since we build trees rather than using transform.revert, I don't think
we can resume meaningfully if we are interrupted in the middle of
building the tree.

> I guess the probably could also be seen that "bzr push" only supports
> either "clone" or "fetch", and not the middle ground where something has
> been created, but hasn't been completed.

Yeah, this goes back to the "should push create branches?" question.

Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFFnXW50F+nu1YWqI0RAvihAJ46vxBEqW/InI+e34AUrWLPfI95IgCdHRfm
Chln1kO+2jd8HKaizQfYLNM=
=7/Wi
-----END PGP SIGNATURE-----



More information about the bazaar mailing list