Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Won't Fix
-
1.0-beta-7
-
None
-
None
Description
Currently, a sftp URI of sftp://example.org/some/project essentially translates to the following commands:
sftp example.org
cd /
cd some
cd project
...
But this is inconsistent with the interpretation of ftp URIs (as standardized by <http://www.ietf.org/rfc/rfc1738> and followed by wagon-ftp):
ftp example.org
cd some
cd project
...
Unlike wagon-ftp, wagon-ssh seems to treat the slash after example.org as a part of the path already.
But at least for the ftp URI scheme this is wrong (according to RFC 1738):
url-path
The rest of the locator consists of data specific to the
scheme, and is known as the "url-path". It supplies the
details of how the specified resource can be accessed. Note
that the "/" between the host (or port) and the url-path is
NOT part of the url-path.
The url-path of a FTP URL has the following syntax:
<cwd1>/<cwd2>/.../<cwdN>/<name>;type=<typecode>
Where <cwd1> through <cwdN> and <name> are (possibly encoded) strings
and <typecode> is one of the characters "a", "i", or "d". The part
";type=<typecode>" may be omitted. The <cwdx> and <name> parts may be
empty. The whole url-path may be omitted, including the "/"
delimiting it from the prefix containing user, password, host, and
port.The url-path is interpreted as a series of FTP commands as follows:
Each of the <cwd> elements is to be supplied, sequentially, as the
argument to a CWD (change working directory) command.
...
It would be great if an option could be added to wagon-ssh such that interprets sftp in a RFC-1738-compliant fashion.
In particular, it would make the life of Maven users easier who do not have any control over the location of their remote home directory. Such a setup (common with shared webhosting) makes it hard if not impossible to include an absolute URI in one's POM (e.g., sftp://example.org//path/could/change/at/any/moment/some/project; note the double slash) as a workaround.