svn:将导出的树转换为工作副本

时间:2011-01-02 07:04:47

标签: svn export working-copy

为了将我们的应用程序快速部署到新的远程服务器,我们将分支导出到本地目录,将其压缩,然后在新服务器上解压缩。

现在,我们希望将导出的副本(它是repo中分支的精确副本)转换为工作副本。这可能吗?

2 个答案:

答案 0 :(得分:0)

如果导出只是分支的副本,为什么不从分支机构结账?

当然,我注意到只要存在所有的subversion元文件,就可以将项目连接回存储库。如果您的服务器上有一个subversion客户端并且不怕使用命令行,那么您可以尝试使用“svn status”来查看是否可以连接到存储库。

答案 1 :(得分:0)

对我来说,我使用以下工作流程:

  1. 从repo导出特定修订并将其上传到我的网络服务器。所以我有实时版
  2. 当我导出修订版时,我创建了一个标记,表明此版本现已上线(例如live_from_xxyyzz其中xxyyzz是上传日期)
  3. 当我必须做任何更改时,我会在本地更改,检查它们,然后进行新的导出(即转到步骤1)
  4. 这样做,完全没有必要将导出的版本变回工作副本,因为你有可信任的标签。

    另一方面,您可以简单地使用您的实时版本(远程服务器上的那个)并将其复制到您的工作目录。如果有什么不同,你会注意到它(以及丢失的文件或新文件)。

    修改:

    当您的导出版本成为工作副本时,您在使用svn时遇到一些麻烦:svn(当前)需要已签出工作副本的.svn文件夹。这些.svn文件夹包含版本控制信息。要将整个导出版本置于版本控制之下,您必须创建(并填充)这些文件夹(即将它们从实际工作副本复制到导出版本中)。

    从Subversion 1.7开始,将会有一个centralized metadata storage,这意味着所有与版本控制相关的文件都存储在每个工作副本的一个文件夹中(例如Git就是这样)。这样可以更轻松地解决您的问题,但是现在,除了如上所述从工作副本中复制.svn文件夹之外,我没有其他选择(当然,除了真正检查分支外)。