从 Visual SourceSafe 升级后采取后续步骤

升级完成后,应确保升级结果满足您的预期,并且数据已备好可供您的团队使用:

  • 检查升级过程的结果

  • 解决问题

    • 解决 SQL Server Express 存储限制导致的失败

    • 转换采用 MS-DOS 兼容短名称 (8.3) 格式的文件 (TF227014)

检查升级过程的结果

检查报告,必要时检查由升级工具生成的日志。 查看您 Team Foundation server 上的数据,以确保来自您 Visual SourceSafe 数据库的数据以您所期望的方式升级。

ms253170.collapse_all(zh-cn,VS.110).gif查看迁移报告

TFS 和 Visual SourceSafe 有明显的功能差异。 因此,在升级过程中,Visual SourceSafe 升级工具修改特定类型的数据。 在某些情况下,会发生错误或问题。 迁移报告将会向您提供这些问题的相关建议。

要打开迁移报告:

  • 如果您使用的是 VSS 升级向导:在**“完成”页上,请选择“升级报告”**链接。

  • 如果您使用的是 VssUpgrade 工具:使用 <Output file> 特性打开当前目录中的 VSSAnalysisReport.xml 报表或您指定的任意文件名和位置。

迁移报告

ms253170.collapse_all(zh-cn,VS.110).gif查看日志

当报告警告或错误时,您可能希望查看记录。 您可能还想查看相关日志以获取关于升级过程中如何修改您数据的详细信息。 若要查看日志:

  • 如果您使用的是 VSS 升级向导:在 **“完成”页上,请选择“完整日志”**链接。

  • 如果您使用的是 VssUpgrade 工具:请打开 ConverterErrors.txtVSSUpgrade.log

ms253170.collapse_all(zh-cn,VS.110).gif检查团队项目的数据

使用源控制资源管理器检查您 Team Foundation Server 上的数据,以确保您 Visual SourceSafe 数据库中的数据以您所期望的方式升级。

解决问题

在检查升级进程的结果后,您可能必须解决检查到的问题。

ms253170.collapse_all(zh-cn,VS.110).gif解决 SQL Server Express 存储限制导致的失败

升级工具使用数据库来存储临时元数据。 这种元数据通常只需要所升级数据总大小的较小百分比。 在极少数的情况下,您的升级会因为达到 SQL Server Express 的 4-GB 的限制而失败,此时则可使用 SQL Server 替代 SQL Server Express。 请参见 使用向导从 Visual SourceSafe 升级VssUpgrade <SQL> 元素

ms253170.collapse_all(zh-cn,VS.110).gif转换采用 MS-DOS 兼容短名称 (8.3) 格式的文件 (TF227014)

TFS 不允许文件名采用 MS-DOS 兼容的短名称 (8.3) 格式(例如,abcdef~1.txt)。 当分析或尝试升级具有此类名称的文件时,会出现 TF227014 错误。

若要解决此问题,可以对 Team Foundation Server 临时应用一个设置,使其允许具有此类名称的文件。 为此,必须在 TFS 配置数据库中将 Allow8Dot3Paths 设置为 True

重要

为避免支持 MS-DOS 兼容短名称的客户端计算机出现问题,完成升级过程后,强烈建议您按以下过程所述将 Allow8Dot3Paths 设置为 False

若要执行以下过程,必须在 TFS 的应用层服务器上启用 Windows PowerShell。 请参见 Scripting with Windows PowerShell

需要的权限

您必须是 TFS 应用层服务器上的**“管理员”**组的成员。 有关更多信息,请参见Team Foundation Server 权限

若要升级包含以 MS-DOS 兼容短名称格式命名的文件的 Visual SourceSafe 数据库

  1. 登录到 Team Foundation 的应用层服务器。

  2. 创建一个名为 Allow8Dot3Paths 的 Windows PowerShell 脚本。

    1. 复制 Allow8Dot3Paths PowerShell 脚本中的文本(此主题中的后面部分),并将其粘贴到该脚本中。

    2. 更改服务器路径,使其与用来连接到 Team Foundation Server 的 URL 中的路径匹配。 默认情况下,服务器路径为“tfs”。

    3. 更改集合名称,以与要向其中升级数据的团队项目集合的名称匹配(例如,DefaultCollection)。

      例如,最终结果为脚本中的以下行:

      $collectionBaseUrl = "https://localhost:8080/tfs/DefaultCollection/";
      
  3. 运行 Allow8Dot3Paths 脚本。

  4. 回收您的 Team Foundation Server 的应用程序池(如上所述)。

    1. 从 Windows 的**“开始”运行“计算机管理”**。

    2. 在导航窗格中,展开**“服务和应用程序”**。

    3. 选择**“Internet 信息服务 (IIS) 管理器”,展开本地计算机,然后双击“应用程序池”**。

    4. 打开应用程序池的快捷菜单,然后选择**“回收”**。

  5. 运行“迁移”命令

  6. 修改前面创建的 Allow8Dot3Paths Windows PowerShell 脚本,将“true”替换为“false”。

  7. 运行修改后的 Allow8Dot3Paths 脚本。

  8. 回收您的 Team Foundation Server 的应用程序池(如上所述)。

  9. 在 Visual Studio 中,如果尚未建立连接,则连接到您数据所升级到的团队项目

  10. 在“源代码管理资源管理器”中,重命名文件名采用 MS-DOS 兼容短名称 (8.3) 格式的所有文件。

ms253170.collapse_all(zh-cn,VS.110).gifAllow8Dot3Paths PowerShell 脚本

# Load client OM assembly.
[Reflection.Assembly]::Load("Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");

$collectionBaseUrl = "https://localhost:8080/ServerPath/CollectionName/";

$tfs = [Microsoft.TeamFoundation.Client.TeamFoundationServerFactory]::GetServer($collectionBaseUrl);
$collectionHive = $tfs.GetService([Microsoft.TeamFoundation.Framework.Client.ITeamFoundationRegistry]);

# Set some version control settings in the collection hive.
$collectionHive.SetValue("/Service/VersionControl/Settings/Allow8Dot3Paths", "True");

# Display all version control settings as a table.
$collectionHive.ReadEntries("/Service/VersionControl/Settings/...") | ft -a