[MERGE] bzr+http:// should always try POSTing to the same location, not lots of child locations.
John Arbash Meinel
john at arbash-meinel.com
Fri Dec 22 13:28:51 GMT 2006
-----BEGIN PGP SIGNED MESSAGE-----
Andrew Bennetts wrote:
> There's a problem with the current bzr+http:// transport. If you do e.g. "bzr
> branch bzr+http://host/foo", it ought to just POST lots of requests to
> http://host/foo/.bzr/smart, but it ends up POSTing to many different URLs below
> that point, e.g. http://host/foo/.bzr/branch/.bzr/smart. That is, instead of
> sending "get\x01.bzr/branch/format" to $URL/.bzr/smart, it will send
> "get\x01format" to $URL/.bzr/branch/.bzr/smart.
> This is preventing bzr.dev from working with bzr+http://bazaar.launchpad.net/*
> URLs at the moment.
> This bundle fixes that, by making cloning of SmartHTTPTransport remember the
> inital URL, so that it can always POST to the intended location.
> It also teaches urlutils.normalize_url to unescape certain characters that STD
> 66 says can be safely normalised like that. E.g. "%7E" can safely be converted
> to "~". This is helpful when comparing http://host/~bob and http://host/%7Ebob,
> and the SmartHTTPTransport fix I describe needs it because at some point the
> HTTP transport over-zealously escapes URLs.
What about repositories that are outside the branch. Specifically:
I realize we don't want to be sending to:
But we don't want to be sending:
to jam-integration/.bzr/branch either.
So maybe have something different for clone('..')
So I'm -0 with your current fix. I think it fixes the Launchpad case,
but it really breaks other cases. I *really* don't want to send any
paths with '..' in them.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
More information about the bazaar