Migration part 1 VSS vers TFS
La première partie de la migration consiste à passer de Microsoft Source Safe à Team foundation server. Pour cela nous allons utiliser l'outil VssUpgrade de Microsoft que l'on peut trouve ici
Pour pouvoir utiliser cette outil il faut avoir installer sur le pc qui fait la conversion un serveur SQL express. Voici les étapes de migration.
- Copie de la base source safe
Pour une sécurité total et ne pas perdre les informations nous allons travailler sur une copie du répertoire source safe. Avant la copie il faut vérifier que tous les utilisateurs ont bien enregistrer dans source safe leur modification et ensuite il suffi de copier les fichiers présent sous le répertoire utiliser dans le dossier source safe dans un repertoire temporaire
2. Création du projet dans Team Foundation
Après avoir déplacer le répertoire il faut créer un projet temporaire dans TeamFoundation . Chose très simple aller dans Visual studio 2013 dans l'onglet Team Explorer et appuyer sur crée un projet d’équipe Saisir un nom de projet puis sélectionner le contrôleur de code source Team Foundation et non git c'est la seul chose a crée pour ce projet team foundation
3. Lancement de l'analyse
Une fois le projet Source Safe deplacer et le projet Team Foundation Créer nous allons lancer la phase d'analyse: Pour cela nous allons creer un fichier xml de parametrage de l'analyse:
<?xml version="1.0" encoding="utf-8"?>
<SourceControlConverter>
<ConverterSpecificSetting>
<Source name="VSS">
<VSSDatabase name="c:\ourvss"></VSSDatabase>
<UserMap name="c:\ourvss\migrate\Usermap.xml"></UserMap>
<SQL Server="SQLInstanceName"></SQL>
</Source>
<ProjectMap>
<Project Source="$/Core"></Project>
<Project Source="$/ProjectA"></Project>
<Project Source="$/ProjectB"></Project>
</ProjectMap>
</ConverterSpecificSetting>
<Settings>
<Output file="c:\ourvss\migrate\logs\ContosoVSSAnalyze.xml"></Output>
</Settings>
</SourceControlConverter>
- indiquer le chemin vers la base source safe dans la balise VSSDatabase
- indiquer votre instance sql express dans SQL server
- indiquer les projets que vous souhaiter convertir dans la liste des projetMap.
- ensuite copier ce fichier XML dans le répertoire d'installation de VSSupgrade et ouvrir une console en tant qu'administrateur sur cet emplacements
- exécuter VssUpgrade Analyze settings.xml
Cette analyse permet la création du fichier Usermap.xml qui va permetre de lister l'ensemble des acteurs qui ont contribuer au projet.
4.Lancement de la migration
Avant le lancement de la migration il faut modifier le fichier Usermap.xml pour mettre en correspondance les anciens utilisateur avec les nouveau :
<?xml version="1.0" encoding="utf-8"?>
<UserMappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <!--
This file is automatically created by VSS Upgrade. You can optionally use the file to map
a VSS user to a Team Foundation user. For example, <UserMap From="Jane" To="MyDomain\Janep"></UserMap>
This mapping causes all actions logged by VSS user “Jane” to be changed to Team Foundation user “ MyDomain\Janep ” during migration.
--> <UserMap From="fla" To="fred" /> <UserMap From="Admin" To="newAdmin" /> </UserMappings>
Comme pour l'analyse il faut creer un fichier xml de configuration comme celui ci :
<?xml version="1.0" encoding="utf-8"?>
<SourceControlConverter>
<ConverterSpecificSetting>
<Source name="VSS">
<VSSDatabase name="c:\ourvss"></VSSDatabase>
<UserMap name="c:\ourvss\migrate\Usermap.xml"></UserMap>
<SQL Server="SQLInstanceName"></SQL>
</Source>
<ProjectMap>
<Project Source="$/Core" Destination="$/CoreTeamProject"></Project>
<Project Source="$/ProjectA" Destination="$/ClientTeamProject/ProjectA"></Project>
<Project Source="$/ProjectB" Destination="$/ClientTeamProject/ProjectB"></Project>
</ProjectMap>
</ConverterSpecificSetting>
<Settings>
<TeamFoundationServer name="My_Server" port="8080" protocol="http" collection="tfs/DefaultCollection"></TeamFoundationServer>
<Output file="c:\ourvss\migrate\logs\ContosoVSSMigrate.xml"></Output>
</Settings>
</SourceControlConverter>
La différence par rapport à l’analyse est que l'on indique la connexion au projet TFS que l'on a créer lors du point 2. On lance la migration de la même façon que l'analyse dans une console en administrateur:
VssUpgrade Migrate Migratesettings.xml
une fois la commande effectuer verifier que la premier partie de la migration c'est bien effectué . Pour plus t'information vous pouvez aller voir cette article de microsoft.