Svn 从VSS迁移到Subversion的最佳方法?

Svn 从VSS迁移到Subversion的最佳方法?,svn,version-control,visual-sourcesafe,Svn,Version Control,Visual Sourcesafe,我是一个希望脱离VisualSourceSafe并转到svn的开发人员 快速搜索可以找到几个工具,但我看不到一个明确的赢家,我也负担不起花大量时间测试不同的工具 是否有人成功地做到了这一点,并且可以推荐一种方法?我建议只将代码添加到新的Subversion存储库中,而不是从VSS导入。VSS有一个复杂的版本控制模型,不能很好地转换到许多其他系统,而重新开始通常是避免混乱的最好方法 如果需要保留历史记录,请将VSS存储库设置为只读。我使用了一些脚本(我不记得是哪一个)来帮助VSS到SVN的转换。这

我是一个希望脱离VisualSourceSafe并转到svn的开发人员

快速搜索可以找到几个工具,但我看不到一个明确的赢家,我也负担不起花大量时间测试不同的工具


是否有人成功地做到了这一点,并且可以推荐一种方法?

我建议只将代码添加到新的Subversion存储库中,而不是从VSS导入。VSS有一个复杂的版本控制模型,不能很好地转换到许多其他系统,而重新开始通常是避免混乱的最好方法

如果需要保留历史记录,请将VSS存储库设置为只读。

我使用了一些脚本(我不记得是哪一个)来帮助VSS到SVN的转换。这是一个有点痛苦和挑剔,但最终工作,并保留了所有的历史。由于当时的政治原因,我不得不保留所有的历史;如果按照我的方式,我可能会扔掉历史记录并将所有代码导入SVN


同样出于政治原因,我编写了一些非常粗糙的脚本,用Subversion的更改来更新VSS。这些工具工作了一段时间,但每隔一两周就会出现故障,直到有人重新命名了一个目录或其他东西,整个系统崩溃。到那时,继续使用Subversion就可以了。

在我目前的工作中,我们刚刚创建了一个Subversion存储库,设置了钩子脚本以忽略所有vss和生成的文件,然后才开始使用tortoiseSVN导入各种项目。我们做得相当不错,在几个小时内就开始运行了。

我们最近在工作中做了这个迁移。我强烈建议:

  • 只需从VSS添加新代码,就可以知道svn之前的历史记录必须保留在旧的VSS存储库中
  • 如果您的VSS存储库在初始代码转储后仍在使用中,请使用迁移更改。即,假设您的VSS存储库是一个供应商,并使用注明日期的标记将更改合并到SVN存储库中

  • 更详细一点。

    以下工具运行良好:

    清理导入的存储库需要一些工作,但是如果您真的想保留您的历史记录,那么这是值得的


    编辑:pumacode.org域名消失了,代码现在托管在

    上。我完全同意Jon Galloway的回答。我也尝试过使用,但发现导入的存储库存在很多问题,最终决定不值得花费精力来清理它。我们刚刚将代码的一个副本导入到subversion中,并在很少需要参考旧版本代码的情况下返回到VSS

    在我以前的公司中,我们也使用相同的方法从ClearCase迁移到Subversion,我不记得有任何时候我们需要回到ClearCase来查看历史


    最大的问题是让每个人同时切换到新的存储库,但是作为一个开发人员,您不应该有任何问题

    我们下载并测试了几种迁移工具,我推荐使用


    我们使用它从VSS6存储库选择性地迁移到Subversion。由于源代码可用,我们能够对其进行修补,并根据我们的特定需要进行定制(链接文件检测)。

    VSStoSVN的CodePlex版本是我发现的最好的版本之一。我用PumaCode版本的结果很差,但这一款运行平稳


    我成功地使用了vss2svn。

    我的公司开发了一个源代码安全到颠覆的迁移工具:

    当我们不得不迁移客户的存储库时,这个工具是在其他工具出现问题之后开发的

    如果你有任何问题,请告诉我,我很乐意帮助你


    Eric。

    在导入到SVN之前,请确保清除VSS在签出中留下的任何粗糙文件,并确保所有生成的文件都已清除。我完全不同意这一点。我的公司已经使用VSS近10年了,如果我们“重新开始”,就会丢失大量的历史。我同意VSS是垃圾,但总比没有好,只是扔掉多年的文件历史是一个很大的错误。只需将VSS中的内容冻结以备将来参考(即只读)(你几乎肯定永远不会看到!)然后从Subversion重新开始。我们一次移动一个项目。首先将它们与Sourcesafe断开连接。然后删除所有Sourcesafe“helper”文件。然后在SVN中导入它们。我们将VSS服务器保留为活动状态,以供历史记录和SVN不支持的旧项目使用。出于许可和支持原因,保留VSS软件可能不是一个选项。我将尝试此方法。尽管我们之前放弃了VSS、SAN转换,但我们决定确实希望从中获得一些信息。上面的Abstrakti.com公司似乎专注于将VSS转换,也就是说,他们还有一个将VSS转换为GIT的应用程序Castellum。就在这个月,他们进行了维护更新!我用一个旧的VSS存储库进行了尝试,效果非常好!