textmate / rmate

Edit files from an ssh session in TextMate
http://blog.macromates.com/2011/mate-and-rmate/
516 stars 81 forks source link

Request to support directories #9

Closed squatch closed 11 years ago

squatch commented 11 years ago

It would be very useful if rmate /some/dir worked the same as it does locally.

sorbits commented 11 years ago

For this you should mount your server’s file system on your Mac, there are several clients which can do that via sftp, and it’s outside rmate’s domain (so closing issue).

seocam commented 11 years ago

That's a shame... It would be very useful if rmate could provide that by itself.

AJ-Acevedo commented 11 years ago

@sorbits If you reopen this issue I'd create a Bounty for this feature on BountySource

This is a feature many of us would love to see without having to use a work around like mounting the server's file system via sshfs or using sftp.

Anyone else willing to back this on BountySource?

squatch commented 11 years ago

Issue doesn't have to be open to create a bounty for it, does it?

Reasons this is better than simply mounting remote filesystem:

I'd back on BountySource.

AJ-Acevedo commented 11 years ago

Yes, I confirmed the Issue indeed needs to be open to create a Bounty.

seocam commented 11 years ago

There is one thing about using TM with a mounted remote fs which really bothers me: it doesn't support SCM badges. It looks like the reason is that fuse doesn't support fs events. My hope is that using rmate I would get it working properly just like in a local file edition.

AJ-Acevedo commented 11 years ago

Here are two additional reasons I'm not in favor of the sftp or sshfs alternative:

  1. It adds two additional steps to my workflow. I have to connect and disconnect the sftp/sshfs connection in addition to connecting via ssh.
  2. sshfs FUSE does not have proper support for symbolic links.
sorbits commented 11 years ago

This request doesn’t belong wih rmate.

When you open a folder with ‘mate’ it passes a local file system path to TextMate, which then offers a plethora of disk-based operations on the items in the folder opened, the ability to navigate to parent folder, etc.

What ‘rmate’ does for a single file is copy that file to your local file system and open that local copy, setting up a callback to send back changes to the server.

If an entire folder is desired, it requires that desired folder to be mounted via a virtual file system (sftp), any other solution would simply re-invent sftp.

I hear two things in this thread:

  1. rmate should do it becaues sftp has latency. rmate would suffer from same latency as sftp if it had to offer a virtual file system.
  2. rmate should do it because mounting sftp is tedious. This sounds like a different project: make a script to run on the server that tells your Mac to mount the current directory via sftp and then open the mount point in TextMate.

On Apr 6, 2013, at 0:21, AJ notifications@github.com wrote:

@sorbits If you reopen this issue I'd create a Bounty for this feature on BountySource

This is a feature many of us would love to see without having to use a work around like mounting the server's file system via sshfs or using sftp.

— Reply to this email directly or view it on GitHub.

vladimirprieto commented 11 years ago

@sorbits:

taking your explanation about what rmate does, i can suggest:

1.- make/create different file browser for remote files, wich will be filled by rmate. rmate will walk to the entire folder/subfolders and send just the tree as a text. this new file browser will not work like the textmate file browser (disk-based operations). this new file browser would be just like a read-only remote file browser. this sound like a plugin.

2.- taking 1 as done, would be a matter of some kind of sync between textmate and rmate in the way that textmate ask rmate for a file to be downloaded and rmate send it.

from there, rmate will be the same as now.

...just an idea...

sorbits commented 11 years ago

@seocam Lack of badges is a decision made because the newer version control systems (like Git and Mercurial) work by hashing file content to see if there are changes. This means running something like git status on a network folder require sending all content of all tracked files over your network, since the content hash is produced on your Mac.

We could probably allow enabling it for users where network speed is not an issue, though lack of fs-events is then a secondary problem (not knowing when to refresh version control status) and having an sftp server/client built into rmate/TextMate doesn’t really solve that.

ghost commented 3 years ago

You could use Mountain Duck

ghost commented 3 years ago

You could use Mountain Duck

Left comment in wrong place