[RFC] Trying to get something better that revno:N:branch to deal with remote revs

Jan Hudec bulb at ucw.cz
Tue Aug 15 08:53:37 BST 2006


On Mon, Aug 14, 2006 at 09:58:42AM -0500, John Arbash Meinel wrote:
> My personal favorite is still '<url>;<spec>'. It was discussed to use

I prefer this as well.

To reduce ambiguity I would suggest considering '<url>;rev=<spec>' as an
option.

Pros:
  - It's more like the RFC meant it to be used.
  - It allows other future uses for ';' (though I can't really think of
    any)
  - It reduces ambiguity by matching on the whole ';rev='.
Cons:
  - It's 4 more characters to type.

> ',' but I use commas in my paths, and don't want to escape them to %2c
> all the time. I don't use ';' because it is a shell metacharacter.

An option would be to have the character configurable on client,
defaulting to ';'.

> But doing 'bzr diff http://remote/branch\;revid:foo' is easier to type
> than using parenthesis, etc.
> 
> If there is a real ';' in the path, we already support having it be
> specified as '%3b', which would have to happen in a real http url.

Well, ';' is an option separator, but for server-side options, not
client-side ones -- only the fragment ('#') is client-side according to
the RFC IIRC. But this is not really a fragment, because we are reading
different data from the server depending on this parameter. Also when
a smart-server exists, it will be the server interpreting the options.
(And note, that in such case the ';' of the rev spec will be really
travelling unescaped over the wire)

--------------------------------------------------------------------------------
                  				- Jan Hudec `Bulb' <bulb at ucw.cz>




More information about the bazaar mailing list