SVN:即使更新后文件仍然存在冲突

时间:2012-07-11 15:48:18

标签: svn

我无法弄清楚为什么我从SVN收到此消息。 SVN告诉我某个文件存在冲突。所以我更新文件......

Daves-MacBook-Pro:didoclient davea$ svn up src/test/java/org/myco/myproject/dao/AccessCodeDAOTest.javaUpdating 'src/test/java/org/myco/myproject/dao/AccessCodeDAOTest.java':
At revision 27.

但是,当我尝试并立即提交后,我收到的消息是文件仍然存在冲突......

Daves-MacBook-Pro:didoclient davea$ svn commit -m "… my message ..."
svn: E155015: Commit failed (details follow):
svn: E155015: Aborting commit: '/Users/davea/Dropbox/workspace/didoclient/src/test/java/org/myco/myproject/dao/AccessCodeDAOTest.java' remains in conflict

发生了什么事?我如何提交我的文件? - 戴夫

2 个答案:

答案 0 :(得分:14)

原因是上述文件中存在合并冲突。

svn已解决[filename-or-directory-that-give-trouble]

最佳,

答案 1 :(得分:5)

有人对此文件进行了更改,这些更改与您的更改相冲突。这些可能包括对相同代码行的更改。在大多数情况下(如果不是全部),SVN无法合并更改,因为它们触及代码的相同部分。在将任何文件提交到存储库之前,必须至少将冲突标记为已解决,通常是通过修复它们。

您可以将文件与其他地方的更改一起复制,然后从您的存储库中获取最新版本(您可以通过删除本地副本并再次运行svn up来执行此操作),然后修改您刚从中获取的文件您的仓库,再次添加更改。

在这个过程中有一些工具可能会有所帮助,例如Windows平台上TortoiseSVN的tortoise-merge,但所使用的技术总是某种应用这两种变化(已经在repo上的那个并且您的更改)到原始文件。