Sublime Forum

Can you manage repository on remote server via ssh?


Is there a way for Sublime Merge to access and manage repositories located on a remote server via ssh?


I work in an HPC environment where all my code is located on remote machines. I used SSHFS before to mount the remote file system on my local machine, which made it possible to use Sublime Merge with it. I ditched SSHFS because it was unreliable. I now develop remotely only using the VSCode Remote - SSH package. I would really like to use Sublime Merge with this workflow.



I do it for my personal projects. I had to do nothing on Sublime Merge.
This is my workflow:

  1. create the new empty repository on the remote server, by command line.
  2. clone that repository locally using command line git: git clone git-user@remoteserver:repo-name
  3. add files and just run Sublime Merge. That’s it.


This does unfortunately not fit my use-case. I rely heavily on the storage and computational power of the remote HPC cluster as I work with big genomic data sets. This also means testing and debugging a lot before committing changes to the code-base. This requires the development to be done remotely, not locally. My desktop computer at the moment is nothing but a glorified ssh shell.



I understand. As far as I know your only option is a reliable network filesystem.

Or, if it is feasable, you can keep locally the git repository and copy/keep synced it on the remote server using rsync. Obviously this isn’t the classic local/remote repository configuration but exactly the same directory tree. Usually, rsync through ssh is pretty fast when only small differences need to be aligned at each invocation, even with a big number of files/directories (I do this, also).



Unfortunately, the rsync solution is not feasible. One data set alone is typically larger than the HDD of my desktop computers. The data is not part of tracked in the git repository, but typically in the same folder and gitignored.

I was hoping there is a way for Sublime Merge to hook into a remote file system and work from there, very much like VSCode with the Remote - SSH package.



That dataset cannot stay only on the remote server? Seems like you don’t need it on your local machine. You can just rsync the source files and/or the git repository. Rsync lets you to exclude paths from the sync operation.



This is not a feasible solution. Rsyncing 50+ git repos to a local file system just to be able to manage it’s contents with Sublime Merge is not a efficient solution, especially considering that I need to be careful to exclude everything that is not managed. The benefit of the nice Sublime Merge UI does not outweigh the disadvantages. I much rather go for the built-in GIT tools of VSCode if Sublime Merge cannot hook into the remote GIT repo.

Thanks a lot for the suggestions though.