首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否将TortoiseMerge设置为外部合并工具?

是否将TortoiseMerge设置为外部合并工具?
EN

Stack Overflow用户
提问于 2010-02-28 03:44:59
回答 2查看 4.7K关注 0票数 4

是否可以使用"svn merge“命令行将TortoiseMerge (随TortoiseSVN提供)设置为当遇到合并冲突时弹出的外部合并工具?我尝试将我的环境变量"SVN_MERGE“设置为指向TortoiseMerge.exe,但这似乎还不够。当我选择"l“(启动一个外部工具)时,TortoiseMerge就会弹出,询问我要合并哪些文件。我希望将此信息自动推送到工具中。

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-03-02 20:25:06

我不知道您使用的是哪个版本的Subversion,所以我将尝试参考Subversion documentation的最新版本1.6中的信息。(他们在该页面上添加了“如果您添加书签或链接到特定部分,这些链接可能会因继续开发而失效。”但是1.6没有稳定的版本。)

首先,bad news

要使用合并工具,您需要在Subversion配置文件中设置SVN_MERGE环境变量或定义

-SVN_MERGE-cmd选项(有关详细信息,请参阅“配置选项”一节)。Subversion将向合并工具传递四个参数:文件的基本修订版、作为更新的一部分从服务器接收的文件修订版、包含本地编辑的文件副本和文件的合并副本(包含冲突标记)。如果您的合并工具需要不同顺序或格式的参数,则需要编写一个包装器脚本以供Subversion调用。

稍微好一点的消息是,Subversion在某种程度上已经预料到了你的问题。参见Using External Differencing and Merge Tools小节;有外部合并工具包装器的模板。

在您的特定情况下,TortoiseMerge documentation提供了an appendix,解释如何从命令行使用它。基本的开关是/base/mine/theirs,但是您可能希望使用更多的开关(毕竟,您是在编写自己的包装器脚本)。TortoiseMerge还允许命令的“简化形式”:

代码语言:javascript
复制
TortoiseMerge BaseFilePath MyFilePath TheirFilePath

将合并结果传递回Subversion的方法是将合并后的文件写入标准输出并返回适当的值。此信息位于Subversion手册中的包装器模板的显著位置。

票数 3
EN

Stack Overflow用户

发布于 2010-07-15 00:44:49

创建一个bat脚本,如下所示:

代码语言:javascript
复制
"c:\Program Files\TortoiseSVN\bin\TortoiseMerge.exe" /base:"%1" /theirs:"%2" /mine:"%3" /merged:"%4"

然后将SVN_MERGE环境变量设置为该bat脚本:

代码语言:javascript
复制
set SVN_MERGE=c:\bin\svnmerge.bat
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2348692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档