【发布时间】:2011-06-02 10:14:54
【问题描述】:
为了快速将我们的应用部署到新的远程服务器,我们将分支导出到本地目录,对其进行压缩,然后在新服务器上解压缩。
现在,我们想要将导出的副本(它是 repo 中分支的精确副本)转换为工作副本。这可能吗?
【问题讨论】:
标签: svn export working-copy
为了快速将我们的应用部署到新的远程服务器,我们将分支导出到本地目录,对其进行压缩,然后在新服务器上解压缩。
现在,我们想要将导出的副本(它是 repo 中分支的精确副本)转换为工作副本。这可能吗?
【问题讨论】:
标签: svn export working-copy
如果导出只是分支的副本,为什么不直接从分支中签出?
当然,我注意到只要所有 subversion 元文件都存在,您就可以将项目连接回存储库。如果你的服务器上有一个 subversion 客户端并且不害怕使用命令行,你可以尝试“svn status”来看看你是否可以连接到存储库。
【讨论】:
对我来说,我使用以下工作流程:
live_from_xxyyzz,其中xxyyzz 是上传日期)这样做,完全没有必要将导出的版本转回工作副本,因为您拥有可以信任的标签。
另一方面,您可以简单地获取您的实时版本(远程服务器上的那个)并将其复制到您的工作目录。如果有什么不同,您会注意到它(以及丢失的文件或新文件)。
编辑:
当您导出的版本成为工作副本时,您在使用 svn 时会遇到一些麻烦:svn(当前)需要一个已检出工作副本的.svn 文件夹。这些.svn 文件夹包含版本信息。要将整个导出版本置于版本控制之下,您必须创建(并填充)这些文件夹(即将它们从真实工作副本复制到导出版本中)。
从 Subversion 1.7 开始,将有一个centralized metadata storage,这意味着所有与版本控制相关的文件都存储在每个工作副本的 one 文件夹中(例如 Git 所做的)。这将使您的问题更容易解决,但目前,我认为除了如上所述从工作副本中复制 .svn 文件夹之外别无选择(当然,除了真正检查分支之外)。
【讨论】: