shorter bzr+ssh url syntax
Robert Collins
robertc at robertcollins.net
Thu Jun 21 02:39:36 BST 2007
On Thu, 2007-06-21 at 11:15 +1000, Martin Pool wrote:
> https://bugs.launchpad.net/bugs/121195
>
> Since this seems to need some discussion here it is on the list.
>
> "bzr+ssh://" is 12 keystrokes (counting shifts) to type, which is a
> bit high if it is to become the standard way of getting to remote
> branches. Some options include:
bzr+ssh://bazaar.launchpad.net/~username/demoproject/trunk
What percentage of the total path is allocated to bzr+ssh:// ?
> 0- leave it as it is
My vote is for this option.
> 1- ssh:// -- arguably wrong because we are not just opening a plain
> ssh session, but on the other hand this is correctly identifying the
> "resource" of a machine reached by ssh, and then bzr does something
> with it
An advantage of bzr+ssh is that browsers can be taught to open bzr viz
or other parts of the relevant GUI if they get bzr+ssh: urls. (Just as
they can for bzr: and bzr+http: urls). I think this is a very nice
facility.
> 2- user at host:patch or host:path -- concise and consistent with rsync,
> darcs, other systems; if no username is given this is slightly
> ambiguous with other url schemes but can still be discerned unless the
> hostname is a scheme name
Wasn't rsync written before URLs became a widespread lingua franca for
talking about resources and locations? What I don't like about this is
that it special cases bzr+ssh, when I think that if anything, bzr's
native protocol is the one we should be making as easy as possible -
think of windows users for instance, where getting ssh is significantly
harder that bringing up 'bzr serve'.
> 3- ssh:host
>
> I would be happy to add 1. I think we should support the syntax of 2,
> but it should be used for the most standard works-almost-everywhere
> method, and at the moment it seems likely that will be bzr+ssh, but
> that's perhaps not quite settled? (ie would people rather use
> bzr+https, or a hypothetical bzr+ssl?)
Given that we remember branch urls, that we have a configuration system
that can generate all the urls for branches in a common prefix for the
user, that bzr+ssh:// is a *small* fraction of the data required to talk
about everything else, I think its a mistake to try to shrink it
massively. Better to do what ssh itself does and offer a config system
to provide nicknames for hosts that can include:
host name aliases
protocol selection
change the default path
credentials
This would let *much* shorter paths be specified by the user, while
allowing bzr to still generate correct external urls and so on.
-Rob
--
GPG key available at: <http://www.robertcollins.net/keys.txt>.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20070621/d3c4c9c3/attachment.pgp
More information about the bazaar
mailing list