您可以为每个文件类型(扩展名)配置比较 (diff) 和合并工具。这可以通过工具 -> 选项 -> 源代码管理 -> Visual Studio Team Foundation Server -> 配置用户工具”按钮 或通过命令行使用 tf diff /configure
为了设置比较工具,您将指定扩展名(如果您希望将其用于所有未指定的文件,请使用 .*),您正在设置的操作(比较或合并) ,要调用的命令和命令的参数。对于参数,可用的变量如下:
%1 = Original file (in diff, the pre-changes file, in merge, the "server" or "theirs" file, the file that is the base file after "their" changes were applied)
%2 = Modified file (in diff, the post-changes file, in merge the "yours" file - the base file with "your" changes applied)
%3 = Base file (in the 3-way merge operation, the file which both "theirs" and "yours" are derived from - the common ancestor. This doesn't mean it's the version the changes were based from, since this may be a cherry-pick merge)
%4 = Merged file (The output file for the merge operation - the filename that the merge tool should write to)
%5 = Diff options (any additional command-line options you want to pass to your diff tool - this comes into play only when using "tf diff /options" from the command-line)
%6 = Original file label (The label for the %1 file)
%7 = Modified file label (The label for the %2 file)
%8 = Base file label (The label for the %3 file)
%9 = Merged file label (The label for the %4 file)
要使用 TortoiseSVN——它似乎可以满足你的要求——你可以将命令指定为 TortoiseMerge.exe 的文件路径
对于比较,请指定参数:/base:%1 /mine:%2 /basename:%6 /minename:%7
对于合并,请指定参数:/base:%3 /mine:%2 /theirs:%1 /basename:%8 /minename:%7 /theirsname:%6 /merged:%4 /mergedname:%9
可以在on James Manning's MSDN blog 找到有关各种合并工具(包括其他单词比较工具,如DiffDoc.exe)的参数的此信息和其他信息。您还可以在 invoking the word comparison tool from the command line 上的另一个 stackoverflow 问题中找到用处。