如何在VSS和SVN之间同步

时间:2020-03-05 18:51:44  来源:igfitidea点击:

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

解决方案

回答

我过去所做的工作如下:

  • 确保所有更改都已提交给svn:// trunk
  • 从VSS获取最新信息到我的工作副本中。
  • 在我的工作副本中手动合并更改。
  • 将合并的代码提交到svn:// trunk
  • 进行VSS差异检查并签出任何有差异的文件(不覆盖文件)
  • 检入这些文件。

回答

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

  • 创建svn:// branches / VSS的工作副本
  • 在此工作副本上进行VSS更新
  • svn提交
  • svn从svn:// trunk合并
  • svn提交
  • 进行VSS差异检查并签出所有具有差异的文件(不覆盖)
  • 检入这些文件
  • 将svn:// branches / VSS重新集成到svn:// trunk

回答

我们还可以将其视为redbean书中定义的供应商提供的分支:
供应商分支

这样,基本流程将是:

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

这实际上是我们从VSS迁移到SVN时使用的技术。
如果我们关心SVN-> VSS的返回行程,则只需在干线和分支/ VSS /电流之间进行区分,然后将差异应用于VSS。