我们如何克服svn"过时"错误?

时间:2020-03-05 19:00:09  来源:igfitidea点击:

我一直试图在Subversion中将目录结构从一个位置移动到另一个位置,但是我收到一个'Item'*'已过期'提交错误。

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

解决方案

回答

我们确定我们已经检查了标题,而不是较低版本吗?另外,我们是否进行了更新以确保拥有最新版本?

在http://svn.haxx.se/users/archive-2007-01/0170.shtml上对此进行了讨论。

回答

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

回答

我相信此问题来自.svn文件。在旧的父母,新的父母或者旧的父母中这是不正确的。我会尝试回到起点。使用导出获取文件夹的干净副本。将干净副本移动到新位置,然后使用添加和删除进行移动。那是手动执行SVN的操作,但它可能有效。

回答

我有时在Windows上使用TortoiseSVN来获得此功能。对我来说,解决方案是svn update目录,即使没有要下载或者更新的修订版。它对元数据起到了一定作用,从而神奇地对其进行了修复。

回答

就像@ Alexander-Klyubin建议的那样,在存储库中移动。它还将更快,特别是如果我们要移动大量数据时,因为我们不必再​​次通过网络传输所有这些数据。

svn mv https://username@server/svn/old/ https://username@server/svn/new/

应该很好

回答

我们是使用svn mv还是只是mv来移动它?我认为仅使用mv可能会导致此问题。

回答

试图更新本地副本,并还原有问题的项目,但仍然出现"过期"错误。这样做是出于某种原因:

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

回答

当我使用主干中的文件更新了较早版本的分支时,发生了这种情况。我使用Windows资源管理器从主干结帐文件夹中复制文件夹,并将其粘贴到发行分支结帐文件夹的Eclipse视图中。现在,Windows资源管理器已配置为不显示以"。"开头的"隐藏"文件,因此我没有将所有不正确的.svn文件粘贴到发行分支签出文件夹中。 h!

我的解决方案是删除损坏的Eclipse项目,再次将其检出,然后更仔细地复制新文件。我还更改了Windows以显示"隐藏"文件。

回答

我将目录移动到本地计算机进行安全保存,然后svn删除了愚蠢的目录,然后提交了。当我尝试从本地计算机添加文件夹时,它仍然抛出错误(当我尝试重命名文件夹时,SVN移动执行了相同的操作)。所以我还原了,然后我做了一个mkdir DIRNAME,添加并提交。然后,我在其中添加了内容并提交,它起作用了。