2

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

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

4

2 回答 2

0

如果导出只是分支的副本,为什么不直接从分支中签出?

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

于 2011-01-02T07:09:53.710 回答
0

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

  1. 从 repo 导出特定的修订并将其上传到我的网络服务器。所以我有一个现场版
  2. 当我导出修订版时,我创建了一个标签,表明该版本现已上线(例如,上传日期live_from_xxyyzz在哪里xxyyzz
  3. 当我必须进行任何更改时,我会在本地进行更改,签入,然后进行新的导出(即转到第 1 步)

这样做,绝对不需要将导出的版本转回工作副本,因为您拥有可以信任的标签。

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

编辑:

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

从 Subversion 1.7 开始,将有一个集中的元数据存储,这意味着所有版本控制相关的文件都存储在每个工作副本的一个文件夹中(例如 Git 所做的)。这将使您的问题更容易解决,但就目前而言,.svn除了如上所述从工作副本中复制文件夹外,我没有其他选择(当然,除了真正检查分支之外)。

于 2011-01-02T10:18:47.247 回答