VSS TO TFS

上一篇 / 下一篇  2009-03-19 13:42:31 / 个人分类:team foundation server

.VSS To TFS

 

一、    准备工作

简单操作步骤:

1.      锁定所要迁移的VSS 6.0项目数据库,如下图:


 


锁定之前,程序员需要将自己的代码check out.

2.      备份VSS 6.0里数据库

VSS6.0里面包含3个文件夹和两个配置文件,datatempuserssrcsafe.iniuser.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,因为迁移工具会用到VSS2005DLL文件。

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操作。


TAG:

引用 删除 juxiezuo86   /   2011-06-20 17:28:36
 

评分:0

我来说两句

Open Toolbar