【问题标题】:Visual Source Safe --> TFS MigrationVisual Source Safe --> TFS 迁移
【发布时间】:2015-07-29 20:11:15
【问题描述】:

大约 10 年来,我们一直在使用一堆 Visual Source Safe 存储库。

现在我想摆脱 sourcesafe 并继续使用 Team Foundation Server。

在我开始迁移之前,您有什么建议或技巧吗?我需要注意哪些事项?

我确信这种迁移将意味着我们的工作习惯必须以某种方式进行修改。您认为这些变化会给组织带来问题吗?想想在一个站点中有大约 20 名 .NET 开发人员。

【问题讨论】:

    标签: version-control tfs visual-sourcesafe vssconverter


    【解决方案1】:

    您可以通过几种不同的方式进行迁移。该工具会将您的历史记录等拉过来,但更实用和简单的方法是将 VSS 锁定为历史存档并重新开始:

    1. 让每个人都将所有更改签入 VSS,确保所有内容都能构建,等等。
    2. 将所有 VSS 数据库设置为“锁定”(所有用户的只读权限)
    3. 将整个 VSS 数据库的最新信息放入工作站上的一组“干净”文件夹中
    4. 将所有文件从工作站检入 TFS

    对于转换之前的任何历史记录,人们都需要去 VSS,但在一两个星期后,它实际上不太可能经常发生。而且您知道 VSS 中的历史记录是准确的,不会被转换过程破坏。

    【讨论】:

      【解决方案2】:

      请注意,TFS 不像 VSS 那样支持在不同项目之间共享文件。如果您有任何此类共享文件,则它们之间的链接将在迁移期间断开,从而导致每个项目中最初相同但现在不同的文件。 TFS 中这些文件之一的更新将不再传播到其他项目中的副本。

      【讨论】:

      • 真的错过了这个壮举。 :(
      【解决方案3】:

      如果您确实选择使用 Visual Studio Team Foundation Server 附带的 VSSConverter.exe 工具,那么您应该首先安装 TFS 2008 SP1,因为它包含许多改进,详细信息 on this blog by the migration tools team

      的一些关键功能 发布包括:

      消除命名空间冲突。我 以前在博客中将其称为“ 重命名问题”,我们已经修复了 转换器以正确迁移文件 具有重叠的命名空间。这是 大多数用户最大的痛点 尝试使用以前版本的 工具。

      自动重新绑定解决方案。 在这个最新版本中,VS 解决方案 文件将自动升级 到 9.0 版本并重新签入 到版本控制。以前的用户 需要手动执行此操作。

      时间戳更正 不一致。客户端的使用 VSS 的时间戳可能导致 修订记录在 与他们实际上相反的顺序 发生在。该工具现在可以识别 这个问题并继续迁移 改变以前的地方 失败。

      改进的日志记录。虽然 我们解决了很多问题,提供 更好,更详细的日志记录将 帮助遇到问题的用户 诊断问题。

      【讨论】:

        【解决方案4】:

        我刚刚搜索过,但this walkthrough 似乎是一个很好的参考,它提到了工具 VSSConverter,它应该可以帮助您尽可能轻松地进行迁移。

        不过,我想推荐一件事:备份。在执行此操作之前备份所有内容。如果出现任何问题,安全总比后悔好。

        我的链接没有显示。这是地址:http://msdn.microsoft.com/en-us/library/ms181247(VS.80).aspx

        【讨论】:

        【解决方案5】:

        我们目前正在我的日常工作中这样做。实际上,我们将在大约一个月内完成转换。我是迁移的主要部分,也是我们退出 SourceSafe 的重要原因。为了帮助迁移,我使用了Visual Studio® Team System 2008 Team Foundation Server and Team Suite VPC Image。这非常有用。马上,该图像包含一个完整的工作 TFS 安装供您播放和演示。它还包括动手实验室,其中一个实验室正在运行 VSS -> TFS 迁移工具。如果您订阅了 MSDN,一旦您使用了该映像,下一步就是安装订阅随附的 TFS Small Team 版本。

        需要注意的一点是确保您获得最新的 Visual Studio 2008 服务包和安装在映像上的 .NET Framework。服务包修复了一些恼人的错误,它肯定增加了系统的可用性。我们有一个相当大的 SourceSafe 数据库,其中包含大约 90 多个项目,迁移工具大约需要 32 小时才能完成。首先,我备份了我们的 sourcesafe 数据库以进行测试。然后我在测试 sourcesafe 数据库上进行了迁移。之后,我检查了 TFS 中的源代码树,一切正常。我们保留了来自 VSS 的源文件的所有历史记录,这很棒。上线后无需保留那个臭名昭著的 VSS 数据库。

        我们正在逐步进行迁移。首先是源代码控制,让我们的开发人员习惯使用它。然后,我们将迁移 QA 和业务分析师以使用工作项跟踪功能。

        我的建议是逐步进行迁移。一次不要做太多。给将要使用该系统的人训练的时间。

        【讨论】:

          【解决方案6】:

          VSS 转换器远非完美的解决方案。而且2005版和2008SP1版的转换器有很大区别。

          例如,在长期使用的 VSS 数据库中,会有大量用户为 VSS 做出贡献。其中许多用户很久以前就离开了组织,因此将不再拥有域帐户。 TFS 需要将 VSS 用户映射到域帐户,因此您必须决定是将旧用户映射到单个“虚拟”域帐户还是当前团队成员。

          此外,VSS Converter 2008 要求这些域帐户是有效的 TFS 帐户。而 2005 年的转换器并未强制执行此操作。

          如果您的 VSS 历史记录包含重要的文件夹 Move,那么您可能会丢失此 Move 之前的所有历史记录。例如,如果您将文件夹移动到新位置,然后删除以前的父级,您将丢失所有历史记录。更多解释见这篇文章: http://msdn.microsoft.com/en-us/library/ms253166.aspx

          在我参与的一次迁移中,我们有一个使用了 10 年的 VSS 数据库丢失了 6 个月前的所有历史记录。这是由于 6 个月前进行的一次重大清理。

          【讨论】:

            【解决方案7】:

            TFS conversion tool

            我已经使用这个工具有一段时间了,结果非常令人满意,因为它附带了 SourceSafe 的变更集历史记录,如果你也愿意的话。

            无论如何,使用此工具时,您应该始终注意日志中的错误和警告,并检查一切是否正常/通过。

            建议在运行之前对 SS 进行分析。

            希望对你有帮助

            【讨论】:

              【解决方案8】:

              我的前同事 Guy Starbuck 提供了很好的指导。使用该方法要添加的另一件事 - 随着时间的推移,您可能已经决定要重构应用程序的组织方式(文件夹等),这将为您提供这样做的机会。

              我遇到过这样的情况:我们不经思考就随意组织了一个解决方案(更不用说应用程序中的重大变化),这导致了一种以不同方式组织事物的愿望——从 VSS 迁移到 TFS 是一个很好的机会。 .

              就原问题而言:

              而且:这种迁移肯定意味着我们必须以某种方式改变我们的工作习惯。您认为这种变化会给组织带来问题吗?想想一个由大约 20 名 .net 开发人员组成的一个站点

              我会说 - 是的,你的工作习惯会改变,但会变得更好。

              1. 您不应该使用“退房”锁和“退房时获取最新信息”。
              2. 您现在可以有效地分支和合并
              3. 您现在将拥有“变更集”,同时签入的所有文件将被组合在一起。这使得历史更改跟踪更容易 - 但更重要的是 - 回滚更容易(即同时找到所有签入的文件并回滚)
              4. 将签入与工作项相关联。不要忽视工作项目!您可能犯的最大错误是仅使用 TFS 作为 VSS 替代品。构建和项目管理功能非常棒 - 您为它们付费 - 使用它们!

              至于您的体验将如何改变的细节,我的另一位前同事(也是 Team System MVP)Steve St. Jean 写了一篇关于差异的详细文章:From VSS to TFS

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2010-11-07
                • 1970-01-01
                相关资源
                最近更新 更多