2

我通过以下设置将此作为差异工具工作:

差异命令:C:\Program Files (x86)\ExamDiff Pro\ExamDiff.exe

论据:$LOCAL $REMOTE

如果我为合并设置设置类似:

差异命令:C:\Program Files (x86)\ExamDiff Pro\ExamDiff.exe

论据:/merge $REMOTE $BASE $LOCAL

我得到一个 ExamDiff 控制台窗口,有点像一个信息窗口,但不是预期的 GUI。

如果我手动构建合并命令并在命令行运行它,它工作没有问题,所以我认为它一定是 SourceTree 正在做的事情。

如果有人有这项工作并且可以提供帮助,将不胜感激!

4

4 回答 4

3

我在这里找到了一个带有 git 的 ExamDiff Pro 的一般用法网页:http: //www.prestosoft.com/edp_versioncontrol.asp

从那以后,我有了尝试这个的想法:

差异命令:C:/Program Files/ExamDiff Pro/ExamDiff.exe

论据://merge $REMOTE $BASE $LOCAL //o:$MERGED //dn1:Theirs //dn2:Base //dn3:Yours //dno:Output //nh

//nh代表无历史记录,并防止 ExamDiff 将 repo 路径存储在其差异历史记录中。同样可以添加到 diff 命令的参数中。

为我工作,希望它对你有用。干杯

PS:注意合并命令前面有双斜线

于 2015-09-29T15:14:59.107 回答
1

从 git 2.9(2016 年 6 月)开始,您无需再做任何事情

git config --global merge.tool examdiff
git mergetool --tool=examdiff

请参阅Jacob Nisnevich ( )的commit 35d62bbcommit e36d716(2016 年 3 月 25 日) 。(由Junio C Hamano 合并——提交 34e859d中,2016 年 4 月 13 日)jacobnisnevich
gitster

" git mergetools" 学会了驾驶 ExamDiff。

mergetools: 添加对 ExamDiff 的支持

于 2016-04-16T00:32:29.960 回答
0

托马斯给出的答案对我来说只是部分起作用。它不适用于子目录中的文件。在文件名周围添加“引号”并阅读页面http://www.prestosoft.com/edp_versioncontrol.asp后,我想出了:

Diff 命令:( C:/Program Files/ExamDiff Pro/ExamDiff.exe与 Thomas 的版本相同)

论据: -merge "$REMOTE" "$BASE" "$LOCAL" -o:"$MERGED" -dn1:Theirs -dn2:Base -dn3:Yours -nh

是的,您可以使用ExamDiff-option代替,/option这在使用 Unix 样式文件路径时非常有用。

顺便说一句:如果您也想在命令行上将 ExamDiff 用作 git diff-/mergetool,这是我的配置来使其正常工作:(上面页面上给出的配置不起作用!)

在您的 Git Bash 窗口中,输入以下命令:

git config --global diff.tool edp
git config --global difftool.edp.cmd '"C:/Program Files/ExamDiff Pro/ExamDiff.exe" "$REMOTE" "$LOCAL" -nh'
git config --global difftool.prompt false

git config --global merge.tool edp
git config --global mergetool.edp.cmd '"C:/Program Files/ExamDiff Pro/ExamDiff.exe" -merge "$REMOTE" "$BASE" "$LOCAL" -o:"$MERGED" -dn1:Theirs -dn2:Base -dn3:Yours -nh'
git config --global mergetool.edp.trustExitCode false
git config --global mergetool.prompt false
git config --global mergetool.keepBackup false

提示:您可能需要调整 ExamDiff.exe 的路径。

这对我有用(SourceTree 1.6.22.0 with external git 2.6.1 64bit, ExamDiff Pro 6.0.3.12 64bit on Windows 8.1 Pro 64bit)

于 2015-10-14T16:15:09.227 回答
0

我有一种情况,GIT 对使用 ExamDiff Pro 非常满意,但 Sourcetree 却不是。

  • 源树 3.3.8
  • Git 2.24.1.windows.2(嵌入,作为 Sourcetree 的一部分安装)
  • ExamDiff Pro 11.0(测试版)

首先,我遵循了http://www.prestosoft.com/edp_versioncontrol.asp#git上的建议(已经提到过)

经过大量调查,Sourcetree 似乎没有使用全局 git 配置 C:\Users\myusername\.gitconfig

但在 C:\Users\myusername\AppData\Local\Atlassian\SourceTree\git_local\etc\gitconfig

这是非常违反直觉的,因为从 Sourcetree 打开终端并从命令行运行 git,它使用第一个配置文件,但右键单击并选择“外部差异”它使用第二个配置文件。

我通过将我的设置从第一个文件复制到第二个文件来解决了这个问题,现在终端和右键单击的行为完全相同。

无论如何,我希望对某人有所帮助。

于 2020-03-21T11:03:33.720 回答