我正在尝试提交一些工作,但是svn总是失败并且告诉我我修改的文件已经过时了。我先尝试更新,但不起作用。清理不起作用。如果我还原文件,复制我的更改并尝试,它仍然会失败。它不仅仅是一个特定的文件,如果我将整个内容恢复到以前的版本,并修改任何文件,这个问题仍然会发生。
我没有想法。有人有什么?
感谢。
答案 0 :(得分:5)
尝试创建新的结帐,然后将更改复制到其中。 TortoiseSVN也遇到了一些莫名其妙的问题,这是唯一有帮助的问题。
答案 1 :(得分:4)
如果您可以更新文件,则工作副本似乎可以正常工作。
您是更新目录还是仅更新文件?我遇到svn无法提交的情况,因为存储库中的目录属性已更改。目录的更新解决了这个问题。
另一种尝试是使用svn cleanup。
新结账是最后的选择。
答案 2 :(得分:2)
这是我见过的一个常见情景,导致很多人头疼。您可能处于这种状态:
这里的致命错误是当开发人员备份dir'foo'时,他们还备份了嵌套在foo中的所有隐藏的“.svn”目录。
所以,解决方案(根据我的经验),是使用togoise svn的“导出”功能来制作foo的备份副本。 Tortoise svn Export将创建一个没有任何svn元数据(.svn dirs)的目录结构的副本。这样,一旦你回到第3步并且svn很高兴,当你将备份复制回工作副本目录时,svn应该能够正确捕获更改。
然后,如果它只是一个文件,你正在创建一个备份副本,那么,这将无济于事。
答案 3 :(得分:0)
对我来说,这个程序有效: 在一个文件中,我已经恢复到该文件的旧版本。 当我想提交项目时,我得到的消息是这个特定的文件已经过时而且没有提交。
应该做的是复制文件的内容并返回到该文件的最新svn版本。
完成后,将您保存的内容复制到文件中,然后提交。 这对我有用。
答案 4 :(得分:0)
我在重命名java包(svn的目录)时遇到了这个错误。
我通过对已删除的目录执行“覆盖和更新”来解决它(在我的项目中为空)。然后使用文件提交新目录。之后再次删除了在项目中重命名并再次提交。
答案 5 :(得分:0)