Mihai Lutescu <[email protected]> writes:

> Wow,

Hi,

> That's exactly what I did the last weekend.
>
> I crafted a toy tramp method that I called `ext', because it relays on
> an 'external' mount method for most operations that deal with files.
> That may be sshfs or whatever else.
>
> My feeling is, that method is much faster then scp or other tramp method
> that I tried. 

Sounds promising. Have you profiled your settings, in order to have
numbers for comparision? Lets say "ssh" vs "sftp(gvfs)" vs "ext(sshfs)".

> My implementation mounts sillently a directory "/tmp/u...@host" to the
> remote path "/ext:u...@host:/".  That mapping is hardcoded right now,
> but it's trivial to change it.

I see the trick. However, you assume, that the user is capable to mount
at "/". Many users might miss such rights.

And, secondly, it won't work for XEmacs. There is another file name
syntax for remote files; you would need to mount at "/[ext/u...@host]/" -
that's really ugly.

A more general approach is what tramp-gvfs.el uses. It lets GVFS mount
the remote directory at "~/.gvfs/WebDAV on remote.host" (example), and
uses functions to map between this internal names, and Tramp's file names.

Something like this could be used for sshfs as well.

> The only problem that I found after a few days of using it is the
> expansion of "~" in remote paths like "/ext:u...@host:~/".  That would
> not too be to difficult to fix too, but requires to think about how to
> map home directories to '/ext:' paths, which I was to lazy to.  For now
> using a '~' will map to your local home directory.

There are also more problems. What do you do with symlinks? I haven't
tried, but does your implementation of start-file-process works on
remote hosts? You also map the arguments of process calls - this might
be dangerous. Tramp avoids this for good reasons, and let the caller do
the right thing (the best guess is to use relative file names as argument).

> Find bellow the 'tramp-ext.el' method.
>
> If you want to try that stuff, don't forget to modify mine
> `tramp-login-program'.  (I use to use an expect script to launch
> external processes)

This might be a problem as well. It expects from the user an own login
script - in my experience, users appreciate a complete solution. This
part shall be offered in your package as well.

> I'm interested in your feedback.  If there is interest I could
> volonteer to maintain it.

I'm happy for every volunteer. But please keep in mind, that Tramp is
copyrighted by the FSF. This requires for every contributor of
non-trivial changes to sign the legal papers of the FSF. Would you be
willing to do so?

> Best regards,
> Mihai LuĹŁescu

Best regards, Michael.

_______________________________________________
Tramp-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/tramp-devel

Reply via email to