如何使emacs + egg(git)与远程文件一起工作(通过ssh访问)

时间:2012-12-14 16:22:36

标签: git emacs ssh tramp sshfs

访问本地系统中的repos / dirs /文件时,我有emacs + egg正常工作。

此外,通过ssh打开和编辑文件也可以正常工作,例如

ctrl-f /ssh:jds@dev.acme.com:/home/jds/src/test.py

但是当执行egg-status时,我得到......

Opening input file: no such file or directory, /HEAD

请注意,如果我打开shell并将ssh打开到远程系统,所有git命令都能正常工作。

感谢您提供帮助以使其发挥作用。

2 个答案:

答案 0 :(得分:2)

我同意Alex's answer您应该使用更高级且更棒的magit package

关于为什么egg不能按照你想要的方式工作的故事是这样的:鸡蛋被写入的方式不能使用TRAMP对远程文件进行操作,因为egg.el使用{{1}功能,而magit使用call-process中所述支持的start-file-process

5.4 Integration with other Emacs packages.

tramp supports running processes on a remote host. This allows to
exploit Emacs packages without modification for remote file names.
[...]
process-file and start-file-process work on the remote host when the
variable default-directory is remote:

     (let ((default-directory "/ssh:remote.host:"))
       (start-file-process "grep" (get-buffer-create "*grep*")
                           "/bin/sh" "-c" "grep -e tramp *"))

答案 1 :(得分:0)

magit package可以正常使用远程文件(只需重新检查:-)。我认为,它在所有Emacs / Git软件包之间最先进。