2014-01-24 15 views
0

我使用龟的VisualSVN客户端/服务器的最新版本更新项目后。 我试着更新到之前的修订版本,但是情况并没有改变。SVN:新修订的文件复制到计算机上,但不会添加到项目

任何人都知道为什么会发生这种情况?

@Ben 是的,我知道这一点。但你不明白我的问题。例如,一个人提交一个文件image.jpg。我将我的项目工作副本更新为新版本。但是这个文件没有被添加到解决方案中,并且在构建解决方案(例如)中没有找到file image.jpg时出现错误。但是我可以手动将此文件添加到解决方案中,因为它位于我的项目文件夹中(在升级到最新版本后它会下载)。你懂我的?

UPD。

好的。感谢所有想要帮助我的人。也许我不是很清楚解释,所以再详细一点。

我有一个服务器(PC)与VisualSVNserver和存储库。我在PC上安装了Visual Studio的TortoiseSVN和VisualSVN插件。

我们制作的项目(我不是一个),并成功提交更改和结账。经过一次提交(我不知道数字,有几个),有一个这样的问题。

如果我更新VisualStudio,我看到存储库中的文件,但解决方案文件忽略它吗?或者,我甚至没有在我的Visual Studio布局中看到该文件。

如果我没有看到在VisualStudio的文件,我看到使用Windows Explorer文件? (并确保Windows资源管理器设置为显示不可见文件!)

是的,是的,在此提交后,存储库包含更改。我在存储库(通过Web服务器接口)中看到它,并使用Windows资源管理器(在我的PC上,在具有本地工程副本的项目文件夹中)看到它,但是当我在VS中打开解决方案时看不到它我可以在解决方案资源管理器中使用Add-> Existing项目并添加这些文件,但我认为这是错误的)。

所以,我试图更新之前的修订并回(我认为这可以解决我的问题),但是这是行不通的。

是的,也许这是因为有些文件没有添加到版本库INSIDE VS,但我如何解决项目? (现在我已经打破了项目)。

如果我在不使用VisualStudio的情况下使用TortoiseSVN进行清理检查,我会看到该文件吗?

你是什么意思 “没有VisualStudio的”?我总是使用VisualSVN插件。我做了一个干净的结帐,但它不能解决问题。

+0

SVN控制文件,你的意思是“添加到项目中”你的意思是像你的建筑环境,如视觉工作室? – nrathaus

+0

@nrathaus,我的意思是下载新文件,但是当我在VS2010中打开项目时,我没有看到它们 – Brian

+0

这是因为Visual Studio从不自己添加新文件。您需要明确告诉它将它们添加到您的项目中。通过在SVN中添加文件,您只能将该文件添加到SVN存储库。出于某种原因,您似乎认为您的SVN存储库和Visual Studio项目是一回事。他们不是。如果您想在更新时自动将文件添加到项目中,则添加文件的人也需要将文件添加到Visual Studio项目文件,然后将视觉工作室项目文件提交给SVN。 – Ben

回答

1

Visual Studio将文件列表保存在自己的项目文件中。如果您想将文件添加到项目中并让其他人在他们的项目中选取这些文件,则还需要将项目文件置于版本控制之下。

+0

谢谢,但你不明白我的问题 – Brian

0

您使用VisualStudio吗?你应该使用VisualStudio的INTERNAL Subversion插件而不是TortoiseSVN。我个人最喜欢的是AnkhSVN。但是,VisualSVN确实也成为一个。您是否将VisualSVN插件用于VisualStudio?

你的描述并不说明太多:

我使用龟的VisualSVN客户端/服务器的最新版本。我尝试更新到之前的修订版本,但情况没有改变。

任何人都知道为什么会发生这种情况?

什么是情况没有改变?你是什​​么意思你更新到以前的修订版本,并返回?

Subversion不会更改存储库,直到这些更改成功将承诺提交到存储库。您可以添加和删除文件。您可以修改文件。但是,直到你承诺这些变化,没有人会看到它们。

而且,为了让某人看到最近提交的更改,该用户必须更新其工作副本。添加了image.jpg的用户是否已提交其变更以及是否添加了该文件?如果他们不这样做,那就是你现在遇到的问题。

你说的文件没有被添加到解决方案

  • 如果我更新VisualStudio,是否可以在存储库中看到该文件,但解决方案文件会忽略它?或者,我甚至没有在我的Visual Studio布局中看到该文件。
  • 如果我在VisualStudio中看不到该文件,是否使用Windows资源管理器查看该文件? (并确保Windows资源管理器设置为显示隐形文件!)
  • 如果我使用TortoiseSVN 进行清理结帐,而不是 VisualStudio,我能看到该文件吗?

如果该文件是有在干净的检出直接从TortoiseSVN的完全的VisualStudio外完成,这意味着已成功添加的文件,但VisualStudio中被忽略了。如果用户添加VisualStudio IDE的外部文件OUTSIDE(可能直接与TortoiseSVN),则会发生这种情况。这是一个很大的喇叭不响。

为了让VisualStudio工作,您必须让VisualStudio处理所有文件。您在VisualStudio中添加文件。这允许VisualStudio知道该文件并确保它在解决方案文件中。如果你使用的是AnkhSVN,当你添加文件INSIDE VisualStudio时,它会自动将添加到你的Subversion版本库中。 (您仍然需要更改为Subversion以便将文件实际存储在存储库中,以便其他人可以读取它)。

像VisualStudio这样的IDE旨在让您的生活更轻松。这些IDE跟踪您的文件并确保它们包含在构建中,并放置在最终可部署工件的正确位置。在过去,我们手写了Makefiles(当时我们没有键盘,只有墨水瓶和羽毛笔)。 Makefiles非常复杂。看看一些examples。 IDE为你做这个,所以你可以专注于编写你的程序,而不是确保你有什么正确建立

但是,要使IDE能够完成工作,您必须在IDE中切实执行所有工作,以便IDE知道发生了什么。当您添加,移动,重命名,删除或修改文件时,您必须确保它已完成VisualStudio IDE的INSIDE。这样,VisualStudio知道该文件,并可以根据需要修改其解决方案。 IDE还知道临时不可见文件,例如VisualStudio中的*.suo*.user文件,并且知道不要将这些类型的文件添加到Subversion源代码库中。

我不确定这是否回答你的问题。你需要更具体。给我们一些更好的例子。请准确告诉我们您所做的步骤以及您看到的内容。

浏览本网站的其他问题,并看到一些很好的详细问题的一些例子。如果我没有回答你的问题。不要只告诉我我不明白你的问题。改善你的问题,所以我可以理解。现在,我只是在黑暗中拍摄terrible assumptions关于你的问题可能基于我过去的经验。

如果这有帮助,请选择答案的复选标记,以便我们知道此问题已得到解答。同时添加一条评论,解释如何帮助。而且,还是回过头来重新说出你最初的问题,以确切地说明问题所在。这样,如果其他人有类似的问题,他们可以搜索这个问题,并看看解决方案将是什么。

它使这个网站对数百万依靠这个网站的程序员更有用。

相关问题