Item '*' is out of date
提交错误。 我已经签出了最新版本(据我所知)。
svn st -u
除了mv命令外没有其他差异。#1 楼
我有时在Windows上使用TortoiseSVN来获得此功能。对于我来说,解决方案是svn update
目录,即使没有要下载或更新的修订版。它对元数据起到了一定作用,从而神奇地对其进行了修复。评论
我更改了文件夹的svn:ignore属性,并开始获取过时错误。但是正如您所说,只需对其进行更新即可。
–兴奋剂
09-10-21在6:49
当我尝试更新该目录时,出现“ svn:两个没有目标的顶级报告”的另一个讨厌仇视SVN的原因。使用git时,我从未遇到过诸如移动目录之类的基本操作这类愚蠢的问题。
– Dan Dascalescu
2010年6月5日,0:21
使用版本GUI时,我的父文件夹上出现“过期”错误。我更新了父文件夹,然后提交而没有错误。
– Milesmeow
2010-12-15 20:18
这也是由于更改svn:对我而言忽略而svn update修复了它。谢谢!
–内森·史威文(Nathan Schwermann)
2011-3-8在4:43
在Subclipse中,使用“团队->更新为HEAD”。和我一起工作很好。
– NeoRamza
2014年1月25日18:19
#2 楼
在尝试了所有明显的操作以及此处的一些其他建议之后,没有任何运气,谷歌搜索导致了该链接(该链接不再起作用)-Subversion说:您的文件或目录可能已过期对我来说什么也没做。
评论
做到了!谢谢!有人对这种情况如何发生以及如何避免它有任何建议?
–杰西·巴纳姆(Jesse Barnum)
13年14月14日17:13
为我工作。我最终不得不删除所有“ all-wcprops”文件:find。 -name all-wcprops -exec rm -rf {} \;
– Peter Hough
2014年5月20日上午10:49
我想您应该可以通过svn工具和选项解决此问题,而无需删除结构中的文件
–augusto
2014年7月11日在10:14
+1,这是唯一对我有用的东西。其他解决方案则没有。
–克莱顿公爵
2014年7月23日下午13:49
不是为我工作,.sv目录中没有所有wcprops文件
–ulkas
2014-09-18 8:52
#3 楼
我相信此问题来自.svn文件。在旧父母,新父母或旧父母中这都不正确。我会尝试回到您的起点。使用导出获取文件夹的干净副本。将干净副本移动到新位置,然后使用添加和删除进行移动。这是手动执行SVN的操作,但它可能有效。评论
Subversion实际上确实先复制然后删除,这与在此处删除并添加非常不同。
–蛇
11年8月18日在18:37
#4 楼
我发现这对我有用:svn update
svn resolved <dir>
svn commit
评论
在没有做过svn update的情况下为我工作,但我有一种情况需要避免更新。 (所以我只是做出了决心并做出了承诺,所以它奏效了)
– BornToCode
13年3月3日在18:04
这一直是我的处境之道,无济于事。谢谢!
–texasdave
19年8月2日,0:40
#5 楼
试图更新本地副本,并还原有问题的项目,但仍然出现“过期”错误。这样做是出于某种原因:svn update --force /path/to/dir/or/file
#6 楼
我只是在几个文件夹中遇到了同样的问题,这就是我要提交的内容:1)在“ Team Synchronize”团队透视图中,右键单击文件夹> Override and Update
2)再次删除该文件夹
3)提交并保持快乐
#7 楼
谢谢。svn update --force / path到filename /
如果您本地目录中的最新文件相同,则不会出现提示。如果文件不同,则会提示输入tf,mf等...选择mf(我的文件已满)可确保没有任何内容被覆盖,并且在完成后我可以提交。
Jay
CompuMatter
#8 楼
我设法通过点击更新按钮来解决它#9 楼
就像@ Alexander-Klyubin建议的那样,在存储库中移动。它还会更快,尤其是如果您要移动大量数据时,因为您不必再次通过网络传输所有数据。svn mv https://username@server/svn/old/ https://username@server/svn/new/
应该可以正常工作
评论
我正在通过svn遇到这个问题。 svn mv命令系列,这个技巧很好。谢谢。
–DopeGhoti
15/12/28在18:38
#10 楼
在执行命令之前,先使用删除文件或路径
sudo rm -r /path/to/dir/
之后:
svn up and commit or delete
#11 楼
您确定您已经检查了标题,而不是较低版本吗?另外,您是否进行了更新以确保拥有最新版本?http://svn.haxx.se/users/archive-2007-01/上对此进行了讨论。 0170.shtml。
评论
假设您要签入旧副本?那么,使签到工作最简单的方法是什么?
– OJW
2011年6月30日10:00
如果您要还原到旧副本,只需照常签入即可。它将获得一个新的修订号。
– jgreep
2011年7月14日在18:15
#12 楼
直接在存储库中执行移动。#13 楼
消息“过期”错误至少还有其他原因。在我的情况下,问题是.svn / dir-props,它是通过运行“ svn propset svn:ignore -F .gitignore”创建的。首次。删除.svn / dir-props似乎是一个坏主意,并且可能导致其他错误,因此最好使用“ svn propdel”来清理错误的“ svn propset”。# Normal state, works fine.
> svn commit -m"bump"
Sending eac_cpf.xsl
Transmitting file data .
Committed revision 509.
# Set a property, but forget to commit.
> svn propset svn:ignore -F .gitignore .
property 'svn:ignore' set on '.'
# Edit a file. Should have committed before the edit.
> svn commit -m"bump"
Sending .
svn: Commit failed (details follow):
svn: File or directory '.' is out of date; try updating
svn: resource out of date; try updating
# Delete the property.
> svn propdel svn:ignore .
property 'svn:ignore' deleted from '.'.
# Now the commit works fine.
> svn commit -m"bump"
Sending eac_cpf.xsl
Transmitting file data .
Committed revision 510.
#14 楼
如果您使用的是github svn桥,则可能是因为github方面的某些更改。解决方案很简单,您只需要运行svn switch
,它可以使其正确找到自身,然后进行更新,一切将正常进行。只需从结帐的根目录运行以下内容即可:svn info | grep Relative
svn switch path_from_previous_command
svn update
或
svn switch `svn info | grep Relative | sed 's_.*: __'`
svn update
此解决方案的基础来自Lee Preimesberger的博客
#15 楼
您是使用svn mv
还是仅使用mv
移动它?我认为仅使用mv
可能会导致此问题。#16 楼
我将目录移动到本地计算机进行安全保存,然后svn删除了愚蠢的目录,然后提交了。当我尝试从本地计算机添加文件夹时,它仍然抛出错误(当我尝试重命名文件夹时,SVN移动执行了相同的操作)。所以我还原了,然后我做了一个mkdir DIRNAME,添加并提交。然后,我将内容添加到并提交,并且有效。评论
我会避免更改存储库内容(svn删除),因为我的本地结帐已被损坏。
–拉尔斯·诺钦斯基(Las Noschinski)
2012年12月8日上午10:26
#17 楼
在删除一些包含一些文件的目录后,我随机收到此错误。我通过Netbeans删除了目录,并意识到它实际上并没有删除它们。似乎只是删除目录中的所有内容,并删除了Netbeans中对该目录的引用。但是它们确实仍然存在于文件系统上。确保已从文件系统中将其删除,然后再次尝试提交。#18 楼
如果曾经解决过类似的问题,只需检出一个新的工作副本并替换为.svn目录,并使用此新检出的副本抛出提交错误。在我的情况下,原因是在存储库损坏并从备份还原后,工作副本指向的是还原的存储库中不存在的修订。还出现“项目过时”错误。在提交之前更新工作副本并不能解决问题,但是如上所述替换.svn可以解决问题。#19 楼
我这样做了,对我有用:1。备份您的文件。您只需将代码复制到文本文件即可。
2。右键单击要提交的文件>>团队>>显示历史记录。
3。在“显示历史记录”面板中,您将看到该文件的所有修订版。右键单击文件的最新版本>>获取修订:它将覆盖您的本地更改。
4。现在,将代码与具有备份文件的最新文件合并(步骤1)。
5。同步并提交新合并的文件。
#20 楼
将服务器和客户端升级到Subversion 1.9。如果在正常情况下不应随机发生out of date
错误,则在运行commit时,它可能表明您使用的是过时且不受支持的Subversion 1.7或更旧的客户端或服务器。您应该升级服务器和客户端以解决该问题。请参见相关的Subversion 1.9发行说明条目:通过HTTPv1提交时出现“过时”错误。
评论
Windows上的TortoiseSVN 1.8.8甚至发生在我身上。更新到1.9有所帮助。
–马丁·佩卡(Martin Pecka)
16年7月11日在16:22
#21 楼
错误是因为您没有更新该特定文件,而是先更新然后才可以提交该文件。#22 楼
尝试了所有内容,但直接更改了.svn。没有帮助,所以这是我的解决方案。在Eclipse>窗口>显示视图>历史记录中,尽管我多次执行svn“ Override&Update” /“ Revert “ /删除文件并签出。
,所以我去了程序包资源管理器>右键单击文件>替换为>来自存储库的最新版本。现在是最新的修订版。
#23 楼
“清理”它将使您步入正轨。右键单击svn文件夹,然后单击“清理”,如果出现此错误,请执行此操作。
#24 楼
当我使用主干中的文件更新了较早版本的分支时,发生了这种情况。我使用Windows资源管理器从主干结帐文件夹中复制文件夹,并将其粘贴到发行分支结帐文件夹的Eclipse视图中。现在,Windows资源管理器已配置为不显示以“。”开头的“隐藏”文件,因此我没有将所有不正确的.svn文件粘贴到发行分支签出文件夹中。 Doh!我的解决方案是删除损坏的Eclipse项目,再次将其检出,然后更仔细地复制新文件。我还更改了Windows以显示“隐藏”文件。
#25 楼
尝试提交某些文件时出现此错误,只是它是我的工作副本中不存在的文件/文件夹。我真的不想经历移动文件和重新签出的麻烦,最后,我最终编辑了.svn / entries文件并删除了令人讨厌的目录引用。#26 楼
就我而言,仅删除本地版本并重新签出新副本是解决方案。#27 楼
我刚收到这个错误。我建议您首先检查服务器上是否有原始文件。有时您的本地文件夹中没有进行更改。如果遇到这种情况,只需删除您的文件夹并再次签出即可。
#28 楼
为了解决该问题,我需要还原有问题的文件,并更新我的工作副本,然后我再次修改了该文件,在执行了这些步骤之后,该错误不再发生了。#29 楼
只需将svn移到命令行中,或者如果您在Windows中,请选择svn更新选项。完成此操作后,您就可以进行进一步的操作,例如提交和执行其他操作。
#30 楼
当我尝试从commit
目录访问trunk
时,我刚收到此消息。从svn update
目录执行trunk
不能解决错误;但是,从父目录(svn update
目录所属的目录)执行.svn
确实解决了该错误。我对发生的事情(除了一个用例,可能有多种原因导致此“ svn: E160024:资源已过期;请尝试更新”):除了
trunk
之外,还有一个branches
目录。我从GitHub将branches/branch-1
拉入master
。从父目录(即我的工作副本的根目录)执行svn update
而不是trunk
似乎除了在branches
之外还在trunk
中做了一些操作。当我再次尝试commit
时,没有错误。但是,正如我上面所说的,这可能是许多其他情况中的一种。
侧面说明:与某人不同建议,我认为在
.svn
目录中手动播放不是一个好主意。
评论
您尝试过svn吗?一个简单的问题避免者是:如果要删除文件夹和内容,请先仅删除内容,即svn,然后再删除文件夹,然后再次svn。
相关说明:subversion.apache.org/docs/release-notes/…