Visual svn来自ssh'd远程服务器

时间:2012-06-27 19:17:26

标签: macos svn diff command-line-interface

我在一家小公司工作,我们通过SSH连接到我们的开发环境进行提交,并通过SMB查看文件结构。

在我提交代码之前,我希望能够看到我提交的文件的一个很好的GUI Diff。我使用Coda 2进行编程,不幸的是它的源代码控制支持是糟糕的,并且不会检测到我的开发目录所在的SMB安装驱动器也是SVN工作副本,所以它的所有SCM工具在工作中完全没用。

无论如何,因为我是SSH,我不能使用opendiff或diffmerge命令(因为它们安装在我的本地计算机上,而不是安装在远程服务器上)。

我想知道是否有人可以给我一个关于如何从命令行调用svn diff的提示,但是然后在一个漂亮的GUI显示中查看它而不是SVN给你的文本 - / +表示法命令行。

2 个答案:

答案 0 :(得分:1)

如果您在服务器中安装了首选的GUI工具,只需通过ssh隧道X,如:

ssh -X yourworkserver

然后,只需在服务器中选择您的工具,就像它是一个支持X的终端一样。

如果您的服务器没有(能够使用)工具,您可以始终同步要提交到本地计算机的内容。例如。

rsync -a --delete --partial --progress --rsh=ssh  username@yourserver:/path/to/code/about/to/be/committed /path/to/the/snapshot/in/your/machine

然后在本地运行您喜欢的GUI工具。您可以添加-az以通过压缩流量来加速进程。

如果您的服务器有Ubuntu,请让有权限的人运行“sudo apt-get install meld”,并使用Meld覆盖隧道X.

大多数体面的文本编辑器(例如Emacs,Vim,...)都具有默认配置中包含的diff语法突出显示,并且它们也具有文本模式。

答案 1 :(得分:1)

我不确定为什么你不能直接在你的SMB共享上使用svn - 客户端机器上根本看不到.svn文件夹?

无论如何,使用SSHFS代替SMB安装工作目录可能会更好。有关OS X的具体信息,另请参阅this link