要想迁移VSS里的项目到TFS或者迁移工作项到TFS数据的迁移过程都遵循三个步骤:准备迁移、准备迁移的数据、迁移数据,如下图所示。
图?迁移到TFS
1、迁移之前的准备工作
(1)签入:确认所有代码被签入,最好代码能被编译通过。
(2)锁定:防止迁移过程中有人签入或签出操作(避免造成代码管理混乱),迁移之前需要锁定VSS,运行VSS Admin,打开Tools| lock SourceSafe database,在显示的对话
框中选中“Lock all users out of Visual SourceSafe”,如下图所示。
图 锁定所有VSS用户
(3)备份:迁移之前对VSS进行备份操作,迁移过程中发生问题可以恢复到迁移之前的状态。VSS6.0里包含三个文件夹和两个配置文件(data、temp、users、srcsafe.ini、
user.txt),将里面所有文件直接复制到安装TFS的服务器目录下,如下图所示。
图 VSS中的配置文件
2.迁移数据分析
(1)创建分析文件:创建分析文件,主要分析一下VSS配置库里面有没有问题,诸如数据有没有不一致的问题,需要创建两个XML格式的分析文件,用以检查迁移设置。XML文件
(VSSAnalysisSettings.xml)内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<SourceControlConverter>
<ConverterSpecificSetting>
<Source name="VSS">
<VSSDatabase name="E:\VSS"></VSSDatabase>
<UserMap name="Usermap.xml"></UserMap>
</Source>
<ProjectMap>
<Project Source="$/C05.root/C05/C05"></Project>
</ProjectMap>
</ConverterSpecificSetting>
<Settings>
<Output file="Analysis.xml"></Output>
</Settings>
</SourceControlConverter>
主要节点说明如下:
VSSDatabase:需要转换的VSS共享文件夹名称;
UserMap:需要转换的VSS 用户;
ProjectMap:描述需要转换的项目;
Output:输出文件。
(2)运行分析
进入VS 2010命令提示环境下,运行VSS Converter analyze VSSAnalysisSettings.xml进行分析,分析前会提示要求输入VSS?Administrator密码,默认情况下,VSS的管
理员密码是空的,如下图所示。
图 VSS分析
注意:这里运行VSSConverter analyze时,VSSAnalysisSettings.xml文件可以和VSSConverter不在一个目录下,只需要配置xml文件的绝对路径就可以了,如VSSConverter
analyze D:\01\VSSAnalysisSettings.xml,表示VSSAnalysisSettings.xml是放在D盘01的文件夹下的。
3、实施迁移
分析成功后,需要具体实施迁移,实施迁移的步骤如下。
(1)建立TFS相应用户
在TFS中添加用户并赋权的情况,如下图所示。
图 在TFS中添加用户并赋权
(2)定制用户映射文件
描述VSS用户与TFS的映射关系,此次测试项目中用户对应TFS中的域用户账号如下。
其实这个Usermap.xml文件已经使用过了,细心的读者有没有发现?如果没有,可以去看看VSSAnalysisSettings.xml配置节里的配置。
(3)创建迁移文件
VSSDatabase节点的name指定VSS数据库来源。
UserMap节点的name指定VSS用户与TFS用户映射关系文件。
ProjectMap节点指定VSS项目目录与TFS目录对应关系,这里指定的是把VSS的全部子项目放在TFS中的MAP2_30227目录下。
TeamFoundationServer节点设置TFS服务器的配置,如服务器、端口等。
示例VSSConvertSettings.xml如下。
<?xml version="1.0" encoding="UTF-8"?>
<UserMappings>
<UserMap From="Admin" To="win-l9h319r9ghi\administrator"></UserMap>
<UserMap From="Administrator" To="win-l9h319r9ghi\administrator"></UserMap>
<UserMap From="Guest" To="win-l9h319r9ghi\Test1"></UserMap>
<UserMap From="Test" To="win-l9h319r9ghi\Test"></UserMap>
</UserMappings>
运行VSSConverter migrate VSSConvertSettings.xml(本例中以VSSConverter migrate D:\C05\VSSConvertSettings.xml来执行)就可以完成迁移了。
最后需要修改
C:\Windows\Microsoft.NET\ Framework\ v2.0.50727\CONFIG\machine.config中的connectionStrings
配置连接数据库名称。
注意:在迁移过程中用户权限需要重新设定(VSS的用户和密码可以与TFS保持一致,前提条件下都是domain user)。在执行迁移的过程中,您必须是 Team Foundation 上的
Team Foundation Administrators 组的成员才能完成此过程,而且还必须是 SQL Express 系统管理员。
出处:蓝色理想
责任编辑:bluehearts
◎进入论坛网络编程版块参加讨论
|