如何让SVN针对所有二进制冲突采取特定的解决方案而不提示每个冲突?

Mat*_*ead 8 svn conflict svn-update

运行时svn up我会经常遇到这个提示:

Conflict discovered in 'lib/somelibrary.so'.
Select: (p) postpone,
        (mf) mine-full, (tf) theirs-full,
        (s) show all options:
Run Code Online (Sandbox Code Playgroud)

击中s显示的选项mctc,矿冲突和他们的冲突,据称允许我采取任何我的版本或将其用于所有冲突版本,而不是只somelibrary.so.

但是,这些选项不起作用.我收到这条消息:

Invalid option; cannot choose based on conflicts in a binary file.
Run Code Online (Sandbox Code Playgroud)

埃德温的回答清楚地表明,我误解了如何mctc工作,但我还是希望能够承担每一个冲突的文件相同的分辨率.有没有办法让svn使用mftf在每次冲突时都不会在第一次之后再次提示我?

Pak*_*ker 11

要自动解决冲突上svn update,svn switch,svn merge,使用--accept标志.

SVN Book - svn选项:

--accept ACTION
指定自动解决冲突的操作.可能的操作是推迟,基础,全部,他们的完整,编辑和启动.

每个动作的含义可以在svn resolve 规范中看到:

您可以根据所需的分辨率将以下参数传递给--accept命令:

base在更新工作副本之前,选择BASE版本的文件.也就是说,您在进行最新编辑之前检出的文件.

工作假设您已手动处理冲突解决方案,请选择当前位于工作副本中的文件版本.

mine-full使用在运行svn update之前的文件副本解析所有冲突的文件.

他们的全部解析所有冲突的文件,包含运行svn update时从服务器获取的文件的副本.

mine-conflict通过优先于在每个文件内容的冲突区域中从服务器获取的更改进行本地修改来解析所有冲突的文件.

他们冲突通过优先考虑从服务器获取的更改而不是每个文件内容的冲突区域中的本地修改来解决所有冲突的文件.

另请参阅Resolve Any Conflict部分.

最后,一个例子.要mine-full在更新时自动解决所有冲突,请执行:

$ svn up --resolve mine-full
Run Code Online (Sandbox Code Playgroud)