如何在VSS和SVN之间进行同步

时间:2008-09-11 19:12:05

标签: svn visual-sourcesafe sync

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

3 个答案:

答案 0 :(得分:4)

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

  1. 创建svn:// branches / VSS
  2. 的工作副本
  3. VSS获取此工作副本的最新信息
  4. svn commit
  5. 从svn:// trunk
  6. 合并svn
  7. svn commit
  8. 执行VSS差异并检出所有文件(不覆盖)并带有差异
  9. 签入这些文件
  10. 将svn:// branches / VSS重新集成到svn:// trunk

答案 1 :(得分:2)

您还可以将此视为redbean一书中定义的供应商提供的分支: Vendor Branches

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

  1. 拥有供应商分支“branches / VSS / current”,其中包含VSS的最新代码
  2. 将当前版本标记为“branches / VSS / 2008-09-15”
  3. 第二天,将新文件转换为“当前”
  4. 再次标记为“branches / VSS / 2008-09-16”
  5. 将两个标签之间的差异合并到主干中,解决冲突
  6. 根据需要删除旧标签
  7. 这实际上是我们从VSS迁移到SVN时使用的技术。 如果你关心SVN-> VSS的回程,你只需要在trunk和branches / VSS / current之间进行区分,并将差异应用到VSS。

答案 2 :(得分:0)

我过去做过的事情如下:

  1. 确保我的所有更改都已提交到svn:// trunk
  2. 从VSS获取最新信息到我的工作副本中。
  3. 手动合并工作副本中的更改。
  4. 将合并的代码提交到svn:// trunk
  5. 执行VSS差异并签出任何有差异的文件(不覆盖文件)
  6. 签入这些文件。