shorter bzr+ssh url syntax

John Arbash Meinel john at arbash-meinel.com
Fri Jun 22 16:41:46 BST 2007


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

Vincent Ladeuil wrote:
>>>>>> "robert" == Robert Collins <robertc at robertcollins.net> writes:
> 
>     robert> 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.
> 
> Then I'll say: "let's discuss that again *when* ssh has become
> the standard way of getting branches". 
> 
> IMHO:
> 
> - http is and will, for a long time, be the standard way of
>   getting branches,
> 
> - [s]ftp is and will, for a long time be the standard way of
>   committing to branches,
> 
> - bzr+http: may become the standard way of getting and committing
>   to branches (and I strongly hope so).
> 
> - bzr+ssh: may become the preferred way of getting and committing
>   to branches for developers who *can* configure their own server
>   (which may be a tiny fraction of the user base).
> 
>     >> Some options include:
> 
>     robert> bzr+ssh://bazaar.launchpad.net/~username/demoproject/trunk
> 
>     robert> What percentage of the total path is allocated to bzr+ssh:// ?
> 
> And when does the user *have* to type it considering that it
> will be stored in 'locations.conf' ?

Well, I think Launchpad is moving to implement bzr+ssh:// and then
actually deprecate sftp://. Mostly because of the "initial push"
problem. Where sftp has about 3x the latency overhead of bzr+ssh://
*right now*.

I think they have actually discussed using the same BranchReference
trick they used for the http side (https://launchpad.net/project
eventually redirects you to
http://bazaar.launchpad.net/~group/project/trunk) so that pushing to
"sftp://bazaar.launchpad.net/..." will redirect you to
"bzr+ssh://bazaar.launchpad.net/...".

I know that I've ~90% switched to bzr+ssh.

> 
>     >> 0- leave it as it is
> 
>     robert> My vote is for this option.
> 
> Same here.
> 
>     >> 1- ssh:// ...
> 
>     robert> An advantage of bzr+ssh is that browsers can be taught
> 
> Good point. No, more, neat point ;)
> 
> And a very strong argument against going away from the URL syntax
> which is a sort of guarantee that bzr branches and repositories
> can be addressed in a coherent way by foreign tools.
> 
>     >> 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
> 
> Bad feeling about that one here, URL syntax is good, let's stick
> with it and let's avoid magical tricks.

I generally would agree. I think people have asked for user at host:path,
though. And it may be something they are more familiar with. I think
Martin is correct that it should at least be thought about.

Then again, if we have partial aliases, you could just do "^repo:branch"
which could be a much larger win than trying to do anything at the
location layer.

> 
> bzr uses:
> - URLs
> - decorators
> 
> Reducing the name space is a tough call. I strongly prefer
> relying on the URI syntax, well defined, established and known by
> everybody.
> 

It is nice as a relatively unambiguous syntax. It just has the downside
of being relatively verbose to achieve the same thing. Which is where
stuff like aliases could really help. (we need another name for them
since we already have command aliases taking up the [ALIASES] portion of
our config settings)


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

iD8DBQFGe+25JdeBCYSNAAMRAk3DAKDUBrni+8FvBxxL6HVwMuladmGjlgCgzitg
BMMWuH/748rA9xEl8B2mwUU=
=hs8C
-----END PGP SIGNATURE-----



More information about the bazaar mailing list