如何接受'他们的冲突'来解决树冲突:本地添加,合并后的传入添加

时间:2012-02-10 06:53:42

标签: svn merge tree-conflict

我遇到了以下基本树冲突:本地添加,合并时传入添加。

我知道我们可以使用svn resolve --accept working file解决此问题,但SVN阻止我使用accept their-conflict接受传入版本。

有人能告诉我如何通过传入的文件替换我的本地文件吗?是否可以以任何方式使用svn resolved file

3 个答案:

答案 0 :(得分:14)

正确的做法是在之前的--dry-run中检测此问题,并在执行合并之前使用svn delete删除本地冲突的目录。

第一种情况:已完成合并的工作副本。 解决方案:删除工作副本,签出干净的副本并做正确的事。

第二种情况:在svn resolve --accept=working之后已经提交了错误的目录。

您必须svn delete冲突的目录,并从忽略mergeinfo的冲突目录的父目录重新运行合并。还原除了上一个冲突目录之外的所有对象(现在没有冲突)。检查并提交更改。

实施例。工作副本un WC文件夹。您在A / conflictDir目录中的冲突:

cd A
svn delete conflictDir
svn merge --ignore-ancestry -rbeginRev:endRev <URLrepo/A>
svn -R revert `ls | grep -v conflictDir`
<... check ...>
svn ci -m "conflictDir fixed"

答案 1 :(得分:6)

我有类似的问题,我在svn更新了一个与我的本地文件冲突的文件。我希望远程副本替换我的本地副本。我做的是     svn delete file_name, 然后     svn revert file_name。 它恢复到远程副本。我不确定第一个svn删除是否必要。

答案 2 :(得分:0)

Tree conflict on 'wp-content/plugins/cm-alpha/condensed-back.js'
> local file replace, incoming file edit upon update
Select: (mc) keep affected local moves,
    (r) mark resolved (breaks moves), (p) postpone,
    (q) quit resolution, (h) help: 

我回复了r

Resolved conflicted state of 'wp-content/plugins/cm-alpha/condensed-back.js'
Summary of conflicts:
Tree conflicts: 0 remaining (and 1 already resolved)

...并且继续进行更新

Updating 'wp-content/plugins':
A    wp-content/plugins/cm-jobs/both-ends/php/ajax-prc
U    wp-content/plugins/cm-eats/condensed-front.css
U    wp-content/plugins/cm-eats/condensed-front.min.css
U    wp-content/plugins/cm-estore/condensed-front.css
Updated to revision 304.
At revision 304.

完成后,我用“之前”的方式查看了有问题的文件

ls wp-content/plugins/cm-alpha/condensed-back.js -l
-rwxrwxrwx 1 www-data www-data 793528 Oct 19 21:13 condensed-back.js

然后我运行了这两个命令:

sudo svn delete condensed-back.js --force
sudo svn revert condensed-back.js

然后,我对相关文件进行了“之后”检查,确认该文件实际上已更新为最新的回购版本

ls wp-content/plugins/cm-alpha/condensed-back.js -l
-rwxr-xr-x 1 root root 794427 Oct 25 22:08 condensed-back.js

您会看到字节大小有所不同,并且日期是最近的日期。因此,此过程按本文中其他地方提到的进行。我只是想在程序上显示它以除去过程中的任何灰色区域。