want scheme://host/repo to access ~/repo
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Bazaar |
Won't Fix
|
Wishlist
|
Unassigned |
Bug Description
As of bzr 1.3-1, there is no way to specify bzr+ssh URLs relative to a user's home dir. The syntax requires a full path:
bzr+ssh:
The sftp transport does support it, but in a different manner than most other systems:
It would be nice to change the default to match other systems. For example:
(svn) svn+ssh://host/repo
(hg) ssh://host/repo
(unison) ssh://host/repo
In those, a single slash between host and repo means relative to home, and a double slash starts at the root dir. This seems like a reasonable default, since most of the time users want a relative path, and the other cases are easily handled with an extra slash.
An example use for this is running a central repo server, with all repos under a "bzr" user. Users would then access the repo by adding a "mybzr" host alias in ~/.ssh/config, which specifies the correct host name and "bzr" user. Then pull a copy with "bzr branch bzr+ssh:
This also would allow switching between http:// repos and bzr+ssh:// repos without changing anything other than the protocol, since http already uses relative paths.
Changed in bzr: | |
importance: | Undecided → Wishlist |
status: | New → Confirmed |
The sftp:// URLs used by bzr actually conflict with the standard.
RFC 1738 says that ftp URLs are relative to the login directory.
So sftp:// example. com/foo should refer to foo in the login directory,
but in bzr it refers to /foo.
To refer to /foo the standard says to use sftp:// example. com//foo.
Can fix? :-)