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

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


当前回答

如果一旦解决了类似的问题,只需签出一个新的工作副本,并用这个新签出的目录替换抛出提交错误的.svn目录。在我的例子中,原因是在存储库损坏和从备份恢复之后,工作副本指向一个在恢复的存储库中不存在的修订。还得到了“项目过期”错误。在提交之前更新工作副本并不能解决这个问题,但是替换上面描述的.svn可以解决这个问题。

其他回答

当我试图提交一些文件时,我得到了这个错误,只有它是一个文件/文件夹,在我的工作副本中不存在。我真的不想经历移动文件和重新签出的麻烦,最后,我最终编辑了.svn/entries文件并删除了冒犯的目录引用。

如果你正在使用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的博客

直接在存储库中执行移动。

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

我发现这对我很管用:

svn update
svn resolved <dir>
svn commit