SVN:同事将一个文件夹提交到代码库中,但我无法更新到最新版本

9
昨天,当我们向同事展示如何使用SVN时,我们在现有的Visual Studio解决方案中创建了一个测试文件夹和文件。我们将其称为“Test”文件夹,包括两个文件,“Test.ascx”和“Test.ascx.cs”。我们添加了它(或者说是Visual SVN添加的,因为它真的很棒),并提交了它。我们还添加并提交了项目中其他文件的更改。
我们可以在版本库中看到它(以及其他文件)。
在我的机器上进行更新以拉取这些新文件,结果其他文件被正确地拉下来了,但是Test文件夹没有出现。无论我在VS和TortoiseSVN(呕吐)Repo浏览器中尝试多少次更新,都无法看到需要拉取的任何更改。
我错在哪里了?
6个回答

12

这是一个已知问题

你可以使用

$ svn update --depth=infinity

来强制更新。使用TortoiseSVN时,使用子菜单中的“更新到修订版”命令,然后将深度组合框更改为“完全递归”。


谢谢!这证明了我并不是唯一一个有这个问题的人。可惜有人认为值得扣分来降低一个看似合理的问题。 - Program.X
谢谢!我已经为此苦苦挣扎了一年多。你提供的链接对话是非常好的阅读材料。 - Christoffer Lette

3

我之前遇到过类似的幽灵错误,发现最简单的解决方法是删除父文件夹并更新其父级:

Project Root
    Project
        NewFolder

删除 项目,然后更新 项目根目录

0
我们可以在代码库(和其他文件)中看到它。
无论我尝试从VS和TortoiseSVN(呃)Repo浏览器的各个点更新多少次,它都无法看到需要拉取的任何更改。
那么您能否在代码库浏览器中看到它?

我们可以看到测试文件夹和内容以及存储库中的其他文件。 - Program.X
如果您使用Tortoise创建一个新的工作副本并从存储库获取最新代码,会发生什么?那么您是否可以看到这些文件?如果没有,那么我猜它们被提交到与您的工作副本使用不同的分支。 - Igor Brejc
刚刚尝试了一下,出现了“'C:\dev2008\MIGTurbo2\MIGTurbo2_WEB\secure'已经是不同URL的工作副本”的错误。目前我们只有一个主干副本。 - Program.X
你需要在一个干净,空的,新的目录中完成它,而不是现有的目录。绝对不能包含任何以前存在的.svn目录。 - Igor Brejc
同意,我后来尝试了这个方法,使用一个技巧来删除 .svn 文件夹。所以,将文件夹复制出来,删除 .svn 文件夹,然后再次尝试...但仍然会出现冲突。 - Program.X
抱歉,看起来你没有在听...我建议通过使用新的Windows目录创建一个新的独立工作副本...不要"杀死"任何.svns或其他东西...我认为你应该花时间阅读http://svnbook.red-bean.com/,甚至在尝试在SO上寻求帮助之前。这里的人们正在尝试帮助,但如果您不了解SVN的基础知识,他们就无法提供帮助...当你说你"讨厌" TortoiseSVN时,这表明你缺乏对SVN的经验。 - Igor Brejc

0
你是否提交并更新了Test文件夹的父文件夹?

我们提交了整个解决方案,其中包括“其他文件”和测试文件夹,该文件夹深度为数个文件夹。 - Program.X

0

我不知道,svn总是让我清理,你试过了吗?


实际上我刚刚尝试了一下。TortoiseSVN崩溃了。我有没有提到我非常讨厌TortoiseSVN? - Program.X
你需要确保Tortoise使用的SVN版本与VisualSVN兼容。我建议使用最新的Tortoise...自从我开始使用它以来,大约两年时间里,我没有遇到过任何有关Tortoise的问题。 - Igor Brejc
我已经升级到TortoiseSVN 1.6.1和VisualSVN 1.7.1,但仍然没有变化。谢谢你的帮助。 - Program.X

0

我知道这不是一个答案,但我已经尝试了你们友好建议的所有解决方案,结果只有冲突、TortoiseSVN 崩溃和 Karma 堆积。因此,在 .svn/entries 文件中进行可靠的编辑就解决了问题。

到目前为止,我一直是单个开发人员,只使用 SVN 管理我的源代码。其他人没有问题,而我只是检查一些东西。我使用 Visual SVN 作为 .NET 的层来欺骗 SVN(它对此并不擅长),但似乎总是遇到问题。我执行非常简单的操作,甚至没有分支/标记。非常简单。但我还是遇到了问题?


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