由于一个文件,SVN不会让我提交移动的树

时间:2012-03-09 01:54:41

标签: svn

我已将SVN中的整个网络树从'www /'移动到'public_html /'(以便与我的开发服务器匹配),这似乎没问题:

$svn move www public_html
A         public_html
D         www/contact.php
[tons and tons of this for all my files and folders in www/, ending with]
D         www

...现在我只是尝试提交新移动的public_html /所以它将被锁定。当我这样做时,SVN慢慢地通过我的所有文件然后死掉:

svn: Commit failed (details follow):
svn: File 'public_html/zzzz.txt' is out of date
svn: '/root/!svn/wrk/d1ab8d20-f948-4391-ba64-9b41569e2eae/lmiv/public_html/zzzz.txt' path not found

请注意,“zzzz.txt”不在public_html /中(并且不在www /中)。所以我尝试了这些命令,但无济于事:

$ svn cleanup 'public_html/zzzz.txt'
svn: 'public_html/zzzz.txt' does not exist
$ svn up 'public_html/zzzz.txt'
At revision 149.

$ svn del 'public_html/zzzz.txt'
D         public_html/zzzz.txt
$ svn ci  'public_html/zzzz.txt' -m ''
svn: Commit failed (details follow):
svn: '/root/lmiv/public_html' path not found

(注意,最后一个没有错误,但它不能解决问题。)

最重要的是,我的目标是能够完全提交public_html /,所以我只想让zzzz.txt摆脱困境!该文件现在不存在,我不希望它回来 - 我不需要它或以任何方式关心它。我甚至不顾一切的唯一原因它完全阻止我检查整个public_html /文件夹,我想把它塞进我的存储库。

1 个答案:

答案 0 :(得分:1)

这些事总是很难弄明白,因为可能会发生很多事情。

请记住svn status是你的朋友。这将告诉你Subversion认为zzzz.txt正在发生什么。您可能必须使用--verbose标志,并确保工作目录中的所有内容都处于同一版本。

我还建议你对存储库而不是工作目录执行svn log。使用--verbose标志,以便查看文件历史记录。通过这种方式,您可以看到zzzz.txt标志发生了什么,以及为什么它会导致您遇到这么多问题。

所有这些都有助于您诊断答案。它可能是你忽略的非常简单的东西。

如果所有其他方法都失败,请撤消移动,然后执行其他操作:

$ svn revert www
$ svn delete --force public_html
$ svn status --verbose