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