2013-03-24 1155 views
2

我们使用TortoiseSVN GUI进行我们的日常修订控制活动。SVN错误“<folder>已经是另一个URL的工作副本”究竟是什么意思?

我试图设置CruiseControl.Net,连接到Linux机器上的SVN存储库。什么样的恶梦!我们应该说,“挑战”是在Windows上获得svn命令行来连接到SVN Linux服务器。耶,现在所有人都在工作。在我的Windows命令提示符下,我可以键入

svn co svn+ssh://[email protected]/repos/QTSS 

并且它将QTSS存储库复制到我的Windows机器上。因此,使用上面的'svn co'命令,我完成了对CCNet工作文件夹的完整结帐:C:\users\build\repos\QTSS

在repos/QTSS/trunk文件夹下面,我们有许多子文件夹,每个它自己的VS2010解决方案源文件。为了顺应CCNet,我为其中一个子文件夹配置了一个名为SparsePointSurface的CCNet项目;最终我会为每个子文件夹建立一个CCNet项目。当CCNET运行时,它给人的错误:

Source control operation failed: svn: E155000: 'C:\Users\build\repos\QTSS\trunk\SparsePointSurface' is already a working copy for a different URL 

在Windows命令提示符窗口,我cd到该文件夹​​,然后键入

svn checkout svn+ssh://[email protected]/repos/QTSS/trunk/ C:\Users\build\repos\QTSS\trunk\SparsePointSurface --no-auth-cache --non-interactive 

这是相同的命令CCNET正在发出。果然,我在命令提示符处发生了与CCNet中相同的错误。所以这是SVN的问题,而不是CCNet。

这个SVN错误究竟意味着什么,我该如何解决?尽管有很多谷歌搜索,我还没有找到这个错误的原因和解决方案的很好的解释。大多数情况是svn switch/merge操作出现问题,但这不是我想要做的。

请注意,在TortoiseSVN GUI中,我可以右键单击File Explorer中的SparsePointSurface,选择“SVN Checkout”并且它工作正常。

+0

dupe:http://stackoverflow.com/questions/933390/try-to-svn-checkout-but-get-svn-is-already-a-working-copy-for-a-different – Daedalus 2013-03-24 22:05:36

+0

我不' t认为这是一个骗局,因为它看起来像SVN已经拥有的文件夹中有多个签出,这将导致svn抛出一个合法的摇摆。 – 2013-03-24 22:35:18

回答

1

好的我终于找到了解决方案。在我的ccnet.config中,我有项目,svn控制块和msbuild任务都指向'C:\ Users \ build \ repos \ QTSS \ trunk \ SparsePointSurface'。我用WD将项目和svn控制块更改为'C:\ Users \ build \ repos \ QTSS \ trunk \',这是.svn文件夹所在的位置。我将msbuild任务的WD离开到.sln文件的特定位置。最后在CCNet下成功构建。活泉!谢谢Chris Henry;你的意见让我走上修复之路。

0

任何你每次退房的原因?

这个错误通常意味着你正试图将一个SVN仓库结帐到一个已经显示在SVN控制下的文件夹中。至少在早期版本的SVN中,您可以通过查找.svn文件夹来告诉文件夹处于SVN控制之下。

在我看来,你应该在克鲁斯控制内做一个更新,而不是完整的结帐。或者,您可以每次都进行全面结帐,但您需要删除当前所有文件。

+0

...或者,每个CCNet项目都检出到自己的文件夹中。我更喜欢那种分离。 – 2013-03-25 11:24:07

+0

我没有专门做结账。我的CCNet svn源代码控制块非常简单,只包含标签。我手动欺骗我的SparsePointSurface文件夹强制CCNet必须检出文件并执行构建。 CCNet调试跟踪表明它正在执行检测修改的svn log命令,然后CCNet发出svn checkout。 – TJH 2013-03-25 15:13:15

+0

.svn文件夹位于QTSS文件夹中。我只是没有很好的理解为什么SVN给出错误。我在我的存储库的子文件夹中,并告诉SVN在服务器上完成相应文件夹的签出。使用TortoiseSVN GUI时,此操作正常工作的事实使我更加困惑。 – TJH 2013-03-25 15:19:04

相关问题