是什么决定了svn副本的速度

时间:2010-09-15 08:41:04

标签: svn deployment

哪些因素决定了在发布版本的主干中打包标记时调用svn copy的速度?

我一直在使用git一两年,在最近的一个项目中我不得不回到使用subversion,并且在我提交之前调用svn copy需要2到25分钟才能在我的机器上完成,与每次改变的代码数量没有太大关联。

您通常采取哪些步骤来加快包装过程,或至少使其更具可预测性?

我知道聪明的事情就是使用git-svn,但是当我尝试时我无法推送到正确的分支,团队中的其他人都在使用svn,所以我对采用不熟悉的东西很谨慎工具中途的工具。

1 个答案:

答案 0 :(得分:7)

这取决于您是在存储库还是在磁盘上执行svn copy。该命令有两个参数, source destination ,每个参数可以是工作副本中的文件夹,也可以是存储库中的URL。

target 是本地文件夹时,svn将在您的文件系统中执行复制操作,这可能需要很长时间。然后,必须先将该复制操作提交到存储库中。

但是,如果 target 是存储库中的URL,则会立即在存储库中进行复制(无需提交)。这是一个O(1)操作,应该很快 如果使用此语法,请不要忘记指定提交消息。此外,如果您想实际使用您创建的分支/标记,则必须检查它(这又需要很长时间)或将当前工作副本切换到它(这应该很快,因为不应该对分支机构做出任何改变)。