Remote SSH Connect

Lee Brewington 4 years ago updated by Eugen Wiens 4 months ago 7

The ability to use a ssh connection or tunnel to remotely control git commands on a remote server. This would allow me to connect to other servers and do git / pull /logs...etc.

This would be enormously helpful to me, and to many other remote workers. The central office has the powerful server, but I'm quite a few milliseconds of latency away. I've tried file sharing, but it's super-duper-doggy-slow. Having (most of) the processing done on the remote machine would really speed things up.

Please describe more detailed what exactly should be provided in SmartGit. Making remote repositories directly accessible without a local clone would be something which we'd consider low priority. But maybe external tools could already help to execute some ssh command that performs some remote command on the server.

Remote machines always support ssh, but almost never file sharing. Even if sshfs is used, the latency to the server makes file sharing far too slow for the disk-access-heavy actions that git and SmartGit use. This means that we must go back to caveman days and use command-line git to manipulate files on the remote machine.

Yes, I could use a local clone, but the remote machine is a monster Linux compile engine with the cross-platform development tools I need. It's also proximal to the hardware I'm developing for. I'd have to commit and check out every time I wanted to compile. Note also that I'm compiling the Linux kernel, which can only be done on a case-sensitive file system, and macOS and Windows are case-insensitive. (Separate gripe: tens of thousands of source files, and somehow it's important to have those twelve pairs of files whose names differ only by case? Grrrrr...)

I don't know SmartGit's internals, but it seems to do a lot of its intensive file access by directly calling the git tool. The obvious thought is to have SmartGit reach across the network and call git on the remote machine, thus drastically cutting back on the network traffic required. This ignores when SmartGit directly accesses the file system, but perhaps that's well-capsulated and so could be easily redirected across ssh.

(I understand about the low priority, but we can dream, can't we?)

I don't know SmartGit's internals, but it seems to do a lot of its

intensive file access by directly calling the git tool.

No, it is rather the opposite - SmartGit uses JGit and direct access to the file system to report the status.

Just like the Visual Studio Code remote development mode.

Split SmartGit into a server and a GUI client. All operations are performed on the server. And a GUI client can choose to connect to a local/remote server. That'll do it.

It would be very cool if I can use SmaritGit to work on my remote Code.