9

我被迫在工作中使用 VSS,但将 SVN 用于个人存储库。在 VSS 和同步之间进行同步的最佳方式是什么?

4

3 回答 3

4

为了摆脱手动合并步骤,我可以使用一个单独的 svn 分支(svn://branches/VSS),如下所示:

  1. 创建 svn://branches/VSS 的工作副本
  2. 对此工作副本执行 VSS 获取最新信息
  3. svn 提交
  4. svn 从 svn://trunk 合并
  5. svn 提交
  6. 做一个 VSS 差异并检查所有有差异的文件(不覆盖)
  7. 签入这些文件
  8. 将 svn://branches/VSS 重新整合到 svn://trunk
于 2008-09-11T19:23:32.013 回答
2

您也可以将其视为红豆书中定义的供应商提供的分支: 供应商分支

有了这个,基本流程将是:

  1. 有一个供应商分支“分支/VSS/current”,其中包含来自 VSS 的最新代码
  2. 将当前版本标记为“branches/VSS/2008-09-15”
  3. 第二天,将新文件放入“当前”
  4. 再次标记到“branches/VSS/2008-09-16”
  5. 将两个标签之间的差异合并到主干中,解决冲突
  6. 根据需要删除旧标签

这实际上是我们从 VSS 迁移到 SVN 时使用的技术。如果您关心从 SVN->VSS 的回程,您只需要区分主干和分支/VSS/当前之间的差异并将差异应用于 VSS。

于 2008-09-15T14:41:13.000 回答
0

我过去所做的如下:

  1. 确保我所有的更改都提交给 svn://trunk
  2. 从 VSS 获取最新信息到我的工作副本中。
  3. 手动合并我的工作副本中的更改。
  4. 将合并后的代码提交到 svn://trunk
  5. 做一个 VSS 差异并检查任何有差异的文件(不覆盖文件)
  6. 签入这些文件。
于 2008-09-11T19:16:25.743 回答