我一直试图将目录结构从一个位置移动到Subversion中的另一个位置,但我得到一个项目“*”是过期提交错误。

我已经检查了最新的版本(据我所知)。SVN st -u除了mv命令外没有其他区别。


当前回答

尝试更新本地副本,并恢复有问题的项目,但仍然得到“过期”错误。出于某种原因,这种方法奏效了:

svn update --force /path/to/dir/or/file

其他回答

直接在.svn中尝试了所有的更改。没有任何帮助,所以这是我的解决方案。

在Eclipse >窗口>显示视图>历史我已经看到该文件不是在最新的修订,尽管我做了多个svn“覆盖和更新”/“恢复”/删除文件和签出。

所以我去包资源管理器>右键单击文件>替换为>最新从存储库。

再次查看历史记录视图显示该文件现在处于最新修订。

将服务器和客户端升级到Subversion 1.9。

如果过期错误在正常情况下不会发生的情况下随机发生,则在运行提交时,可能表明您正在使用过时且不受支持的Subversion 1.7或更老的客户端或服务器。

为了解决这个问题,您应该升级服务器和客户端。请参阅相关的Subversion 1.9发行说明条目:通过HTTPv1提交时出现“过期”错误。

如果你正在使用github的svn网桥,很可能是因为github这边的东西发生了变化。解决方案很简单,你只需要运行svn switch,让它正确地找到自己,然后更新,一切都将工作。只需从签出的根目录运行以下命令

svn info | grep Relative 
svn switch path_from_previous_command
svn update

or

svn switch `svn info | grep Relative | sed 's_.*: __'`
svn update

这个解决方案的基础来自Lee Preimesberger的博客

我设法通过点击更新按钮来解决这个问题

我这样做了,对我很有效: 1. 备份你的文件。您可以简单地将代码复制到文本文件中。 2. 右键单击要提交>> Team >> Show History的文件。 3.在“显示历史”面板中,您将看到该文件的所有修订。右键单击文件>>的最新版本获取修订:它将覆盖您的本地更改。 4. 现在,将您的代码与最新文件合并到备份文件中(步骤#1)。 5. 同步并提交新合并的文件。