2

我可以使用 Meld 设置 svn 命令行来区分,并使用 Macbook Pro,我会ssh -X到 Linux 机器,以便 Linux 机器可以执行 Meld 可以将窗口发送到 Mac。

但有时,文件可能有 2000 行,我知道只有一两行差异,我只想要一个快速差异,否则 Meld 会很慢,通过窗口发送并且滚动到很慢差异线。有没有办法调用不同的差异工具?如

svn diff        <-- the usual visual diff
svn textdiff    <-- doing just text diff
4

1 回答 1

1

我不确定您是否可以自定义svn命令,所以刻薄的答案是“使用git”:P

非刻薄的答案是,您可以设置一个 shell 别名或一个 shell 脚本,它将svn diff以您想要的方式调用。

例如,如果你使用bash,你可以把它放到你的启动文件中:

alias svntdiff="svn diff --diff-cmd /usr/bin/diff"

然后使用svntdiffvs. svn diff(可能会使用 Meld,就像你配置的那样)


我可以推荐的另一件事是不要通过网络传递 Meld 显示,而是传递文件。为此,我经常使用以下脚本 ( ~/bin/sshm):

#!/bin/bash

HOST=$1
if [ -z "$HOST" ]; then
  echo Error: hostname not specified >&2
  exit 1
fi
mkdir -p /Volumes/$HOST
sshfs $HOST:/ -ofollow_symlinks /Volumes/$HOST
ssh $HOST
umount /Volumes/$HOST

您将需要安装sshfs( brew install sshfs)。鉴于此,现在您可以sshm进入您的 linuxbox,但通过/Volumes/linuxbox. 然后在本地运行 Meld,指向挂载的远程文件。(或者更确切地说mvimdiff,在我的情况下)。同样的事情还允许我使用 MacVim 在远程服务器上编辑东西,而我的所有配置和插件都完好无损。

(您也可以替换sshfs $HOST:/ ...sshfs $HOST: ...仅挂载您的目录,而不是整个文件系统。)

于 2013-02-26T08:56:21.593 回答