2011-10-25 45 views
6

假设你有这样的SVN仓库结构库中移动SVN项目不结账

Root 
    Foo 
     Project1 
     Project2 
    Bar 
     Project3 

而你要到Project移到顶层:

Root 
    Foo 
     Project2 
    Bar 
     Project3 
    Project1 

开发商已经PROJECT1顶部他们的本地文件夹树的级别,所以移动它们毫无意义,并且您希望在不需要开发人员进行结账等的情况下完成此操作(这会迫使他们处理大量未版本控制的文件)。

这可能吗?

我们使用的是Tortoise SVN,但如果需要使用svn.exe,我们没有问题。

TIA

回答

9

最好的办法是做一个SVN移动,将Project1移动到根目录下,并在已经签出的项目上执行SVN切换。

移动PROJECT1

svn move -m "message" http://<svn-url>/Foo/Project1 http://<svn-url>/Project1 

开关已经签出库在本地机器上

svn switch http://<svn-url>/Project1 

你可以使用TortoiseSVN做同样的。

4

是的。使用资源库浏览器移动项目,并要求开发人员切换到新位置(右键单击,TortoiseSVN,Switch)。如果他们没有任何未提交的文件,它们会更容易。在移动项目之前请他们提交。

+0

如果他们可以切换,那么他们是否有未提交的更改应该没有关系,但为了安全起见,它总是值得提交(即使是新分支)。 – Rup

2

您可以使用svn mv命令。只需将源和目标指定为URL即可。
使用svn switch将工作副本更新到不同的URL。