SVN:本地副本缺少文件

8
我使用Eclipse Subversion客户端从svn仓库检出我的项目。 我的同事提交了2个新文件,我可以在svn远程仓库中看到它们,但是当我从head更新时,我无法获取它们。 这两个文件与我在trunk中的位置相同。 有人有想法吗?

它们是什么类型的文件?它们在子目录中吗?当您尝试更新时会显示什么? - Pekka
2
首先,"svn status -u" 对这些文件有什么说法? - Avi
这些文件的路径是否超过255个字符?https://dev59.com/1k3Sa4cB1Zd3GeqPxbEA - matth
4个回答

9
也许你有一个稀疏检出?那么你可以尝试对文件进行明确的更新:
svn update path/to/missing/file.txt

我也在使用这个,因为我的检出很稀疏。但我想找到一种获取所有缺失文件的方法...仍在搜索中。 - Andrew
这对我不起作用,它拒绝下载,因为在删除之前存在合并冲突。即使文件已经不存在了,合并冲突仍然存在,这会阻止它恢复文件 :S - Owl

5

虽然这个问题比较老,但我遇到了类似的问题。

以下是我的解决方法。请检查:

svn ls

与...相比较

ls -1

那么

svn ls | xargs svn up

如果要进行递归操作,只需添加 -R 参数。

svn ls -R | xargs svn up

请注意,如果您的代码库很大,这将需要一些时间。

很棒的回答!顺便说一下,我很遗憾地发现Eclipse Subversion不能被信任以保持svn同步。我的意思是,一个简单的svn ls就可以揭示问题——这个Eclipse软件到底做了什么可怕的事情,以至于它会错过项目中的svn文件,而简单的命令行指令却能够发现? - DragonMoon

1

您也可以使用“-r”显式地更新到某个版本,然后是当前的版本号:

svn update -r 1234 path/to/missing/file.txt

0

我切换到HEAD,然后在Eclipse团队菜单中将递归选项设置为全。现在它可以工作 :-) 我之前就很好奇HEAD。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接