SVN仍然存在冲突?

时间:2010-03-09 03:35:07

标签: svn

如何让这个目录摆脱冲突?我不在乎是否使用“他们的”或“我的”或其他什么来解决......

PS C:\Users\Mark\Desktop\myproject> svn ci -m "gr"
svn: Commit failed (details follow):
svn: Aborting commit: 'C:\Users\Mark\Desktop\myproject\addons' remains in conflict

PS C:\Users\Mark\Desktop\myproject> svn resolve --accept working C:\Users\Mark\Desktop\myproject\addons
Resolved conflicted state of 'C:\Users\Mark\Desktop\myproject\addons'

PS C:\Users\Mark\Desktop\myproject> svn ci -m "grr"
svn: Commit failed (details follow):
svn: Commit item 'addons' has copy flag but an invalid revision

PS C:\Users\Mark\Desktop\myproject> svn update
   C addons
svn: Can't move 'addons\debug_toolbar\templates\debug_toolbar\.svn\tmp\entries' to 'addons\debug_toolbar\templates\debug
_toolbar\.svn\entries': The file or directory is corrupted and unreadable.

PS C:\Users\Mark\Desktop\myproject> svn cleanup

PS C:\Users\Mark\Desktop\myproject> svn update
Skipped 'addons'
At revision 51.
Summary of conflicts:
  Skipped paths: 1

PS C:\Users\Mark\Desktop\myproject> svn ci -m "grrr"
svn: Commit failed (details follow):
svn: Aborting commit: 'C:\Users\Mark\Desktop\myproject\addons' remains in conflict

12 个答案:

答案 0 :(得分:427)

提供以下命令:

svn resolved <filename or directory that gives trouble>

(感谢@Jeremy Leipzig在评论中回答这个问题)

答案 1 :(得分:275)

好的,这是如何解决它:

svn remove --force filename
svn resolve --accept=working  filename
svn commit

更多详情请见:http://svnbook.red-bean.com/en/1.8/svn.tour.treeconflicts.html

答案 2 :(得分:33)

仅限我还原 - 深度无限选项已修复 Svn的目录仍然存在问题:

svn revert --depth infinity "<directory name>"
svn update "<directory name>"

答案 3 :(得分:15)

  1. svn resolve
  2. svn cleanup
  3. svn update
  4. ..这三个svn CLI命令在这个顺序中,而cd-ed到正确的目录对我有用。

答案 4 :(得分:11)

如果您正在使用Eclipse IDE并在提交时偶然发现此错误,那么这里是您的工具内解决方案。我正在使用Subclipse,但Subversive的解决方案可能类似。

你可能没有注意到的是冲突文件上有一个额外的符号,它将文件标记为“冲突”。

右键单击该文件,选择“团队”和“编辑冲突...”。选择适当的操作。我之前在文本级别手动合并了文件,因此我选择了第一个选项,它将本地副本的当前状态作为“已解决的解决方案”。现在点击“确定”即可。

冲突的符号应该已经消失,你应该能够再次提交。

答案 5 :(得分:6)

下面还有一个解决方案,

如果删除整个文件夹并且svn抛出错误“admin file .svn is missing”,则以下内容将用于解决冲突到工作状态。

svn resolve --accept working "file / directory name "

答案 6 :(得分:3)

Tortoise SVN说明

导航到您看到此错误的目录。 如果您没有任何更改,请执行以下操作

一个。右键单击并执行“恢复”
湾选择所有文件
C。然后再次更新目录

答案 7 :(得分:2)

如果您无法解析(像我一样)并且您无法删除和更新资源,因为您对它们进行了很多更改,而且您使用的是eclipse颠覆而非本机客户端,请按照以下步骤操作:

  1. 制作整个项目的副本dir
  2. 执行团队&gt;在eclipse中断开连接,并选择删除svn元数据
  3. 然后选择团队&gt;共享项目,并指向项目所在的文件夹
  4. 选择yes,并提交所有内容(您可能希望排除一些非常本地的资源,如配置文件)
  5. 如果您在第一次提交试用之前删除或移动了一些资源,请删除那些旧资源(它们应该加倍,一个位于旧位置,一个位于新位置)并提交这些删除。
  6. 你已经完成了。

答案 8 :(得分:2)

我猜适当的解决方案是:

(1) backup your-file/your-directory
(2) svn revert your-file/your-directory
(3) svn update your-file/your-directory
(4) Merge the backup your-file/your-directory to the updated one.
(5) svn ci -m "My work done"

答案 9 :(得分:2)

我使用以下命令以使用命令行删除冲突

svn revert "location of conflict folder" -R
svn cleanup
svn update

用于恢复当前目录

svn revert . -R

答案 10 :(得分:0)

我有类似的问题,这是如何解决的

xyz @ ip:〜/ formsProject_SVN $ svn 已解决 formsProj / templates / search

解决了&#39; formsProj / templates / search&#39;

的冲突状态

现在更新你的项目

xyz @ ip:〜/ formsProject_SVN $ svn update

更新&#39;。&#39;:

选择:(mc)保持受影响的局部动作,         (r)标记已解决(中断移动),(p)推迟,         (q)退出解决方案,(h)帮助: r (选择&#34; r&#34;选项解决)

解决了&#39; formsProj / templates / search&#39;

的冲突状态

冲突摘要:   树冲突:剩余0个(已解决1个)

答案 11 :(得分:0)

我在linux上遇到了同样的问题,但我无法用接受的答案修复它。我能够通过使用cd转到正确的文件夹然后执行:

来解决它
svn remove --force filename  
syn resolve --accept=working filename  
svn up

这就是全部。