.VSS To TFS
一、 准备工作
简单操作步骤:
1. 锁定所要迁移的VSS
6.0项目数据库,如下图:
锁定之前,程序员需要将自己的代码check out.
2. 备份VSS
6.0里数据库
VSS6.0里面包含3个文件夹和两个配置文件,data、temp、users、srcsafe.ini、user.txt。
将里面所有文件直接复制到安装TFS的服务器的目录下。
二、 迁移数据分析
1. 创建分析文件
创建分析文件,主要分析一下,VSS6.0配置库里面有没有问题,诸如数据有没有不一致的问题。在分析之前,创建XML文件,有固定格式,如下:
<?xml
version=”1.0” encoding=”utf-8”?>
<SourceControlConverter>
<ConverterSpecificSetting>
<Source name=”vss”>
<VSSDatabase name=”c:\”></VssDatabase>
//VSS数据库物理位置
</Source>
<ProjectMap>
<Project
source=”$/”></Project>
</ProjectMap>
//VSS工程名
</ConverterSpecificSetting>
<settings>
<Output
file=”c:\VSS2TFS\AnalysisResult.xml”>
</settings>
//输出报告文件
</SourceControlConverter>
在Visual Studio 2005的目录下vssconverter.exe这个迁移工具,在操作之前必须在TFS服务器安装VSS2005,因为迁移工具会用到VSS2005的DLL文件。
2. 使用迁移工具vssconverter.exe
打开Vssconverter.exe文件,转换到输出文件到中,使用命令:vssconverter.exe anlyze
There are two primary commands for VSSConverter: analyze, or
migrate.
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\VSSConverter
[/?|h|help] [analyze|migrate] [settings_file]
\\
\\ analyze
Analyze VSS repository
\\ migrate
Migrate VSS repository
\\settings_file Name of
settings file
\\ /? , /h or /help Display above help
\\
\\Example:
\\> VSSConverter analyze settings.xml .... Starts Analysis
\\ > VSSConverter migrate settings.xml .... Starts Migration
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
<?xml version="1.0" encoding="utf-8"?>
<SourceControlConverter>
<ConverterSpecificSetting>
<Source name="VSS">
<VSSDatabase
name="d:\vss-test\"></VSSDatabase>
<UserMap
name="UserMap.xml" />
<!--<SQL
Server=".\SQLExpress" /> -->
</Source>
<ProjectMap>
<Project
Source="$/" Destination="$/Demo/Main/"></Project>
</ProjectMap>
</ConverterSpecificSetting>
<Settings>
<TeamFoundationServer name="TeamSystem"
port="8080"
protocol="http"></TeamFoundationServer>
</Settings>
</SourceControlConverter>
三、 实施迁移
我们开始执行合并:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
VSSConverter migrate migrate.xml
Initializing...
This will start migration with following inputs:
SourceSafe Folders -> Team System Folders
$/ -> $/Demo/Main
VSS Database: d:\vss-test\srcsafe.ini
Team Foundation Server: http://teamsystem:8080/
Migration Settings File: migrate.xml
Migration Report: VSSMigrationReport.xml
Depending on the VSS database size, migration may take few hours to complete.
Please verify all inputs are correct and confirm.
Start migration (Y/N)?y
VSS administrator password:
Connecting to Team Foundation Server.
Scanning $/ for migration
[ list of scanned files omitted ]
Migration complete.
Migrated 22 Actions
Warnings 2 and Errors 0
Post migration report file: VSSMigrationReport.xml
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
迁移完后,查看VSSMigrationReport.xml
分析结果查看VSSMigrationReport.xml:
选择“Y”开始迁移。
迁移成功。
查看VSSMigrationReport.xml
此图有两个警告,零个错误。
查看:Team
explorer
比较以下本人迁移的结果。
两者的区别:
1. 历史记录
2. 用户权限需要重新设定(VSS的用户和密码可以TFS保持一致,前提条件下都是domain user)
3. 数据保存方式不一样。TFS的数据保存在SQL server2005,支持500个用户同时check in、/out操作。VSS最大数据容量在4GB,支持12个用户在线同时check in/out操作。