将 Beyond Compare 与远程 linux 服务器一起使用——在单个会话中打开变更集

Using Beyond Compare with remote linux server -- open changeset in single session

我有一个在 Windows PC 上工作的环境,我的工作区位于远程 linux 服务器上,我可以通过 ssh 连接到该服务器。我正在处理 Dos 批处理文件以自动比较我工作区中所有修改过的文件。到目前为止,我有一些东西可以打开所有文件,但出于某种原因,它会在单独的会话中打开每个文件,并且在 windows 之间切换很痛苦。我想知道是否有任何技巧可以在同一会话中使用不同的选项卡打开所有文件。目前,我的脚本如下所示:

plink ott-ads -l %user% -i %ppk_file% ^
  "cd %root%; for f in %files%; do git show %commitid%:$f > $f.gitupstream; done; echo $files | tr ' ' '\n' | dospath > files.dos.gitupstream;"

for /F "tokens=*" %%A in (%dosroot%\files.dos.gitupstream) do echo "C:\Program Files\Beyond Compare 4\BCompare.exe %%A.gitupstream %%A" & START /B "C:\Program Files\Beyond Compare 4\BCompare.exe" %%A.gitupstream %%A

(其中 %files% 是要比较的预填充文件列表,%commitid% 是我要比较的提交,dospath 是一个简单的脚本,它翻译 linux进入dos的路径)

This link 似乎建议使用脚本来 'synchronize with BC4',但没有建议如何执行此操作。欢迎任何想法。 (注:使用“beyond compare 4”和windows10)

有 3 种方法可以解决这个问题:

  1. 如果 git 存储库在您的 Windows 计算机上,configure Beyond Compare as an external difftool,则 运行 git difftool --dir-diff 在文件夹比较中启动差异。

  2. 如果您可以在远程机器上为 Linux 安装 Beyond Compare,另一种选择是将 Beyond Compare 配置为该机器上 git 的差异工具,使用X-Window 客户端在 Windows 机器上 display BC for Linux remotely,然后 运行 git difftool --dir-diff

  3. 将Linux机器上要比较的修订导出到文件夹,然后使用Beyond Compare 4 Pro的built-in SFTP支持加载文件夹比较中的两个文件夹你的 Windows 机器。 bcompare.exe sftp://user@server/1 sftp://user@server/2