0

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

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

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

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

4

2 回答 2

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”,并在隧道 X 上使用 Meld。

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

于 2012-06-27T19:28:42.250 回答
1

我不确定为什么您不能直接在您的 SMB 共享上使用 svn - .svn 文件夹在客户端计算机上根本不可见吗?

无论如何,使用SSHFS而不是 SMB 安装工作目录可能会更好。另请参阅此链接以获取有关 OS X 的特定信息。

于 2012-06-28T12:48:05.577 回答