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

John Arbash Meinel john at arbash-meinel.com
Thu Jan 4 22:05:14 GMT 2007


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

Aaron Bentley wrote:
> 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.

I think when you are uploading 10MB of data, it is nice to be able to
resume after 5MB. It is also nice to have "bzr branch http://remote" be
resumable.

> 
>>> 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

Well, I've often thought that should be the domain of 'bzr branch'. But
I think we have already gone down the path that 'bzr push' can be used
as an implementation of 'bzr publish'.

John
=:->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFnXoaJdeBCYSNAAMRAnywAKCJH4CumbNN8L1FTaViTbCZfo7YowCcDVcu
iha9Vn9ZPvE4P3ZnOvqb/sk=
=Qa76
-----END PGP SIGNATURE-----



More information about the bazaar mailing list