Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais
Nous recommandons d’utiliser Visual Studio 2017

Mettre à niveau à partir de Visual SourceSafe à l'aide de l'outil d'invite de commandes VSSUpgrade

Dans la plupart des cas, vous devez utiliser l'Assistant Mise à niveau VSS au lieu de l'outil d'invite de commandes VssUpgrade pour mettre à niveau vos données Visual SourceSafe. Toutefois, il existe quelques situations dans lesquelles vous pouvez souhaiter utiliser l'outil d'invite de commandes VssUpgrade pour mettre à niveau Team Foundation Server (TFS).

Pour mettre à niveau vos données Visual SourceSafe à l'aide de VSSUpgrade

  1. Assurez-vous de comprendre comment l'outil convertit vos données TFS et Visual SourceSafe ont des différences fonctionnelles significatives. Par conséquent, les outils visuels de mise à niveau Visual SourceSafe modifient certains types de données pendant la mise à niveau.

  2. Préparez-vous à mettre à niveau Avant de démarrer le processus de mise à niveau, il est essentiel de planifier à l'avance et de préparer vos données.

    Remarque importante Important

    Vous devez exécuter l'utilitaire ANALYZE de Visual SourceSafe sur votre référentiel Visual SourceSafe avant de continuer. Consultez Copier et préparer votre base de données Visual SourceSafe.

  3. Découvrez les fonctionnalités uniques de VssUpgrade. Si vous n'avez besoin d'aucune d'entre elles, vous devez utiliser l'Assistant Mise à niveau VSS à la place.

  4. Analysez vos données Avant d'effectuer une mise à niveau de vos données de Visual SourceSafe vers contrôle de version Team Foundation, vous devez utiliser la commande Analyze pour déterminer si les éventuels problèmes relatifs à vos données peuvent affecter le résultat de la mise à niveau. Ce processus génère également un fichier de mappage utilisateur qui est indispensable à la mise à niveau de vos données.

  5. Mettez à niveau vos données Pour mettre à niveau vos données, vous devez spécifier la façon dont les noms d'utilisateurs sont mis à niveau, créer un fichier de paramètres de migration, puis exécuter la commande Migrate.

  6. Affichez et vérifiez les résultats, et résolvez les problèmes si nécessaire

Utilisez VssUpgrade si vous souhaitez mettre à niveau et déplacer vos données dans un projet d'équipe sur site et :

Si vous n'avez besoin d'aucune de ces fonctionnalités ou si vous devez mettre à niveau et déplacer vos données vers un projet d'équipe sur Visual Studio Online, vous devez utiliser l'Assistant Mise à niveau VSS au lieu de VssUpgrade.

Avant d'effectuer une mise à niveau de vos données de Visual SourceSafe vers le contrôle de version TFS, vous devez utiliser la commande Analyze pour déterminer si les éventuels problèmes relatifs à vos données peuvent affecter le résultat de la mise à niveau. Cette commande génère également un fichier de mappage utilisateur qui permet à la commande Migrate de mettre à niveau vos données.

Avant d'exécuter la commande Analyze, vous devez créer un fichier de paramètres d'analyse. Dans ce fichier, vous spécifiez le chemin d'accès de la base de données Visual SourceSafe et des dossiers à mettre à niveau.

Le code XML suivant est un exemple de fichier de paramètres d'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>

Vous pouvez copier l'exemple précédent, le coller dans votre propre fichier de paramètres d'analyse, puis le modifier. Les informations suivantes peuvent vous aider à adapter l'exemple en fonction de vos besoins.

L'attribut <?xml encoding> doit correspondre à l'encodage utilisé dans votre fichier de paramètres d'analyse. Par exemple, si le fichier est enregistré au format Unicode, la balise <?xml encoding> se présente comme suit :

<?xml version="1.0" encoding="unicode">

Dans l'attribut <VSSDatabase name>, spécifiez le chemin d'accès du dossier qui contient le fichier srcsafe.ini pour la copie de la base de données Visual SourceSafe à mettre à niveau. Par exemple :

<Source name="VSS">
   ...
   <VSSDatabase name="c:\ourvss"></VSSDatabase>
   ...
</Source>

Le chemin d'accès ne doit pas contenir la chaîne srcsafe.ini. Par exemple, l'attribut <VSSDatabase name> suivant est incorrect et entraîne l'échec de la commande VssUpgrade :

<Source name="VSS">
   ...
   <VSSDatabase name="c:\ourvss\srcsafe.ini"></VSSDatabase>
   ...
</Source>

La commande Analyze rassemble et compile les données relatives à vos utilisateurs Visual SourceSafe, puis les stocke dans un fichier XML. Éventuellement, vous pouvez spécifier le chemin d'accès et le nom du fichier où vous souhaitez que ces données soient stockées dans l'attribut <UserMap name>. Si vous ne spécifiez pas cet attribut, la commande Analyze crée un fichier nommé UserMap.xml et le place dans le répertoire actif.

Dans la section <ProjectMap>, spécifiez le chemin d'accès de chaque projet Visual SourceSafe que vous voulez mettre à niveau dans l'attribut Source d'un élément <Project>.

Pour mettre à niveau toutes les données de votre base de données Visual SourceSafe, faites correspondre la section <ProjectMap> à l'exemple suivant :

<ProjectMap>
   <Project Source="$/"></Project>
</ProjectMap>

Au lieu de mettre à niveau l'ensemble de votre base de données Visual SourceSafe en une seule fois, vous pouvez mettre à niveau des projets sélectionnés en plusieurs fois.

ConseilConseil

Utilisez cette option pour éviter de bloquer votre équipe pendant la mise à niveau si vous devez mettre à niveau un grand nombre de données.

Les chemins d'accès des attributs Source doivent être distincts. Par exemple, la section <ProjectMap> suivante n'est pas valide :

<ProjectMap>
   <Project Source="$/ProjectA"></Project>
   <Project Source="$/ProjectA/Controller"></Project>
</ProjectMap>

Dans la section <Settings>, dans l'attribut <Output file>, vous pouvez spécifier le chemin d'accès et le nom du fichier où vous voulez que le rapport d'analyse soit écrit. Si vous ne souhaitez pas spécifier cette option, vous pouvez omettre la balise <Output>. Dans ce cas, le convertisseur écrit le rapport dans un fichier nommé VSSAnalysisReport.xml et le place dans le répertoire actif.

Vous devez spécifier une base de données qui sera utilisée par VssUpgrade pour stocker des données temporaires en ajoutant un élément <SQL> à la section <Source> de votre fichier de paramètres d'analyse. Cet élément utilise la syntaxe suivante : <SQL Server="SQL_Server_name"></SQL>.

Par exemple, si vous exécutez VssUpgrade sur un ordinateur nommé FABRIKAM-2, pour utiliser une instance locale de SQL Server Express sur le même ordinateur :

<Source name="VSS">
   ...
   <SQL Server="fabrikam-2\sqlexpress"></SQL>
   ...
</Source>

Pour obliger le convertisseur à utiliser SQL Server, par exemple un serveur nommé FabrikamSQLServer

<Source name="VSS">
   ...
   <SQL Server="fabrikamsqlserver"></SQL>
   ...
</Source>

  1. À partir du menu Démarrer de Windows, exécutez l'Invite de commandes en tant qu'administrateur.

  2. Dans la fenêtre Administrateur : invite de commandes, entrez :

    VssUpgrade Analyze settings.xml

    Remplacez settings.xml par le chemin d'accès et le nom du fichier de paramètres d'analyse que vous avez créé.

  3. Lorsque vous y êtes invité, entrez le mot de passe administrateur de votre base de données Visual SourceSafe. Si votre base de données n'a pas de mot de passe, appuyez sur Entrée.

VssUpgrade affiche l'état de progression à mesure de l'exécution de la commande Analyze. Lorsque le processus est terminé, le système résume les résultats. Par exemple :

Analyze complete.
Analyzed 859 files and 941 folders.
Warnings 0 and Errors 0
Pre-migration report file: C:\VSS\migrate\VSSAnalysisReport.xml

En cas d'avertissement ou d'erreur, vous pouvez en consulter les détails dans ConverterErrors.txt et VSSUpgrade.log.

La commande Analyze génère :

  • un rapport que vous pouvez utiliser pour obtenir des informations sur les problèmes éventuels et les modifications que la commande Migrate peut provoquer ;

  • un fichier de mappage utilisateur (Usermap.xml), que vous pouvez utiliser pour spécifier la façon dont les données utilisateur sont converties pendant le processus de mise à niveau.

Ces fichiers sont expliqués de façon plus détaillée ci-dessous.

Le rapport d'analyse fournit des informations sur les problèmes qui affectent votre base de données Visual SourceSafe et qui peuvent entraîner des problèmes supplémentaires au cours du processus de mise à niveau. Essayez de résoudre le plus grand nombre de problèmes possible afin de réduire les risques d'échecs du processus de mise à niveau, comme décrit dans la section suivante.

Le rapport répertorie les fichiers qui sont actuellement extraits. Le processus de mise à niveau ne conserve pas les informations d'extraction. Essayez de vous assurer que le plus grand nombre de fichiers possible soient archivés avant la mise à niveau.

Le rapport répertorie les éléments dont l'intégrité des données a été compromise. L'utilitaire ANALYZE de Visual SourceSafe peut éventuellement résoudre ce genre de problème. Les éléments qui ne peuvent pas être réparés ne seront pas mis à niveau. Pour plus d'informations, consultez les pages suivantes sur le site Web de Microsoft : Utilitaire ANALYZE et Comment faire pour détecter et corriger les erreurs de corruption de base de données dans Visual SourceSafe 6.0 pour Windows et dans SourceSafe.

Si un dossier est déplacé d'un projet à un autre dans une base de données Visual SourceSafe, l'historique de ce dossier est contenu à la fois dans le projet d'origine et le projet actif. Pour mettre à niveau ce type de dossier avec l'ensemble de son historique, vous devez mettre à niveau à la fois le projet d'origine et le projet actif.

Par exemple, vous mettez à niveau le projet Visual SourceSafe Project2. Ce projet contient le dossier $/Project2/FeatureA, qui a été déplacé à partir de Project1 à un moment donné.

Si votre section <ProjectMap> contient…

Par exemple…

Alors…

Les deux projets.

<ProjectMap>
   <Project Source="$/Project1"></Project>
   <Project Source="$/Project2"></Project>
</ProjectMap>

Le dossier est mis à niveau avec son historique complet.

Le projet qui contenait le dossier à l'origine, mais pas le projet qui le contient actuellement.

<ProjectMap>
   <Project Source="$/Project1"></Project>
</ProjectMap>

Le dossier n'est pas mis à niveau.

Le projet qui contient le dossier actuellement, mais pas le projet qui le contenait à l'origine.

<ProjectMap>
   <Project Source="$/Project2"></Project>
</ProjectMap>

Le dossier est mis à niveau avec son historique, à partir du moment où il a été déplacé vers le projet actif. L'historique antérieur au déplacement du dossier vers le projet actif n'est pas mis à niveau.

Pour plus d'informations sur la section <ProjectMap> du fichier de paramètres, consultez la section <ProjectMap> décrite précédemment dans cette rubrique.

Le rapport répertorie les noms d'étiquettes qui vont changer lorsqu'ils seront mis à niveau car ils contiennent des caractères que le contrôle de version TFS ne prend pas en charge. Consultez Restrictions d'affectation de noms dans Team Foundation.

Après avoir exécuté la commande Analyze, vous êtes quasiment prêt à mettre à niveau vos données. Avant d'exécuter la commande Migrate, vous devez créer un fichier de paramètres. Éventuellement, vous pouvez spécifier la façon dont les noms d'utilisateurs sont mis à niveau.

Vous pouvez contrôler la façon dont les informations utilisateur sont mises à niveau de Visual SourceSafe vers le contrôle de version TFS. Plus précisément, vous pouvez spécifier le nom d'utilisateur que la commande Migrate doit associer à chaque ensemble de modifications dans l'historique de chaque élément du contrôle de version TFS. Pour ce faire, modifiez le fichier de mappage utilisateur créé lorsque vous avez exécuté la commande Analyze, comme expliqué précédemment dans cette rubrique.

Le fichier de mappage utilisateur est facultatif. Si vous omettez l'attribut <UserMap name> dans votre fichier de paramètres d'analyse, chaque ensemble de modifications est construit comme suit :

  • Le champ de l'utilisateur a la valeur du nom du compte sous lequel VssUpgrade s'exécute.

  • Le nom de l'utilisateur qui a exécuté l'action dans votre base de données Visual SourceSafe est stocké dans le champ des commentaires.

Lorsque vous exécutez la commande Analyze, elle compile les données relatives à vos utilisateurs Visual SourceSafe et les stocke dans un fichier XML. Ce fichier répertorie chaque utilisateur Visual SourceSafe ayant exécuté une opération de contrôle de version dans les projets Visual SourceSafe que vous mettez à niveau.

L'exemple suivant illustre un fichier de mappage utilisateur créé par la commande Analyze du convertisseur.

<?xml version="1.0" encoding="utf-8"?>
<UserMappings>
   <UserMap From="Admin" To=""></UserMap>
   <UserMap From="Guest" To=""></UserMap> 
   <UserMap From="Kim" To=""></UserMap>
   <UserMap From="Satomi" To=""></UserMap>
   <UserMap From="Mark" To=""></UserMap>
</UserMappings>

Vous pouvez spécifier l'attribut To pour une partie, l'ensemble ou aucun des éléments UserMap du fichier de mappage utilisateur. Ainsi, vous pouvez modifier l'exemple précédent comme suit :

<?xml version="1.0" encoding="utf-8"?>
<UserMappings>
   <UserMap From="Admin" To="NORTHAMERICA\KenM"></UserMap>
   <UserMap From="Guest" To="Test1"></UserMap> 
   <UserMap From="Kim" To="EUROPE\KimT"></UserMap>
   <UserMap From="Satomi" To="ASIA\SatomiH"></UserMap>
   <UserMap From="Mark" To=""></UserMap>
</UserMappings>

Notez que dans l'exemple précédent, Guest est mappé à Test1, et qu'aucun domaine n'est spécifié. Dans ces cas-là, VssUpgrade suppose que le compte appartient au domaine par défaut.

Si vous ne spécifiez pas d'attribut <UserMap To>, chaque ensemble de modifications est construit comme suit :

  • Le champ de l'utilisateur a la valeur du nom du compte sous lequel VssUpgrade s'est exécuté.

  • Le nom de l'utilisateur qui a exécuté l'action dans votre base de données Visual SourceSafe est stocké dans le champ des commentaires.

  • Si vous spécifiez un attribut <UserMap To> et si la valeur est celle d'un utilisateur valide sur votre serveur Team Foundation Server, le champ de l'utilisateur a la valeur du nom de ce compte. Si la valeur n'est pas un utilisateur valide sur votre serveur Team Foundation Server, VssUpgrade affiche une erreur et termine le processus de mise à niveau.

Vous utilisez le fichier de paramètres de migration pour spécifier les données Visual SourceSafe à mettre à niveau, ainsi que pour contrôler plusieurs aspects du mode de mise à niveau. La façon la plus simple de créer ce fichier consiste à copier le fichier que vous avez créé dans la section Créer et analyser un fichier de paramètres précédemment dans cette rubrique. Vous ajoutez ensuite des données au fichier afin de le rendre utilisable par la commande Migrate.

L'exemple suivant illustre un fichier de paramètres de migration.

<?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>

Les informations suivantes peuvent vous aider à modifier le fichier de paramètres de migration afin de spécifier la façon dont la commande Migrate doit mettre à niveau vos données.

Pour chaque élément <Project> de la section <ProjectMap> de votre fichier de paramètres de migration, fournissez un attribut Destination afin de spécifier le chemin d'accès de l'emplacement sur votre serveur Team Foundation Server où vous voulez mettre à niveau le contenu du projet de votre base de données Visual SourceSafe (spécifié dans l'attribut Source).

Par exemple, vous voulez mettre à niveau le contenu de ProjectA de votre base de données Visual SourceSafe vers ProjectA situé à la racine d'un projet d'équipe appelé Client.

<ProjectMap>
   <Project Source="$/ProjectA" Destination="$/ClientTeamProject/ProjectA"></Project>
</ProjectMap>

Pour que la valeur de l'attribut Destination soit valide, les conditions suivantes doivent être remplies :

  • Le projet d'équipe dans l'attribut Destination (dans l'exemple précédent, le projet d'équipe est ClientTeamProject) doit déjà se trouver dans la collection de projets d'équipe avant le démarrage du processus de mise à niveau.

  • Le chemin d'accès dans l'attribut Destination d'un élément <Project> doit être distinct du chemin d'accès de l'attribut Destination de tous les autres éléments <Project>. Par exemple, la section <ProjectMap> suivante n'est pas valide :

    <ProjectMap>
       <Project Source="$/ProjectA" Destination="$/ClientTeamProjectA/"></Project>
       <Project Source="$/ProjectB" Destination="$/ClientTeamProjectA/ProjectB"></Project>
    </ProjectMap>
    
RemarqueRemarque

Si le dossier dans l'attribut Destination contient des éléments et si le chemin d'accès à l'un de vos éléments Visual Source Safe chevauche le chemin d'accès de contrôle de version à l'un de ces éléments, la mise à niveau échoue.

Dans la section <Settings>, ajoutez une balise <TeamFoundationServer>, puis spécifiez le nom, le port, le protocole et le chemin d'accès vers la collection de projets d'équipe sur votre serveur Team Foundation Server au format suivant :

<TeamFoundationServer name="ServerName" port="PortNumber" protocol="http" collection="path/collection name></TeamFoundationServer>

Si votre base de données Visual SourceSafe contient de nombreuses étiquettes appliquées à de nombreux fichiers, le processus de mise à niveau peut se prolonger. Si votre équipe n'a pas besoin de ces données, vous pouvez configurer VssUpgrade afin d'ignorer les étiquettes, en ajoutant la balise <Label migrate="false" /> à la section <Settings>.

Dans la section <Settings>, dans l'attribut <Output file>, vous pouvez spécifier le chemin d'accès et le fichier où vous voulez que le rapport de mise à niveau soit écrit. Si vous n'incluez pas l'attribut, le convertisseur écrit le rapport dans un fichier nommé VSSMigrationReport.xml et le place dans le répertoire actif.

  1. À partir du menu Démarrer de Windows, exécutez l'Invite de commandes en tant qu'administrateur.

  2. Dans la fenêtre Administrateur : invite de commandes, entrez :

    VssUpgrade Migrate settings.xml

    Remplacez settings.xml par le chemin d'accès et le nom du fichier de paramètres de migration que vous avez créé.

    La commande Migrate affiche chaque projet mis à niveau à partir de votre base de données Visual SourceSafe et chaque dossier de destination des données mis à niveau sur votre serveur pour contrôle de version Team Foundation.

  3. Lorsque vous y êtes invité, entrez le mot de passe administrateur de votre base de données Visual SourceSafe. Si votre base de données n'a pas de mot de passe, appuyez sur Entrée.

  4. Le système résume comment il exécute le processus de mise à niveau et vous invite à confirmer que vous voulez continuer. Par exemple :

    This will start migration with following inputs:
    
    SourceSafe Folders -> Team Foundation Server Folders
    
    $/ -> $/Sequence2
    
    Full history migration of VSS Database: c:\vss
    
    Team Foundation Server: http://fabrikam-4:8080/tfs/DefaultCollection
    Migration Settings File: migrate_settings.xml
    Migration Report: C:\VSS\migrate\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)?
    

    Appuyez sur Y pour continuer.

VssUpgrade affiche l'état de progression à mesure de l'exécution de la commande Migrate. Lorsque le processus est terminé, le système résume les résultats. Par exemple :

Verification of pinned versions: 0 file(s) added, 0 file(s) edited and 86 file(s) label updated
Verification of latest tip versions: No change was required (No fixes required. All latest tip versions were migrated successfully)

Started: Creating label "Pinned_Latest".
Finished: Creating label "Pinned_Latest".

Migration complete.
Migrated 6397 Actions
Warnings 7 and Errors 0
Post migration report file: C:\VSS\migrate\VSSMigrationReport.xml

En cas d'avertissement ou d'erreur, vous pouvez en consulter les détails dans ConverterErrors.txt et VSSUpgrade.log.

La commande Migrate génère un rapport que vous pouvez utiliser pour obtenir des informations sur les éventuels problèmes et modifications que la commande Migrate a pu provoquer. Consultez Prochaines étapes après la mise à niveau à partir de Visual SourceSafe.

Si le processus de mise à niveau est interrompu pour une raison quelconque, vous pouvez le reprendre sous forme de mise à niveau incrémentielle à partir du point où le processus s'est terminé. Une mise à niveau incrémentielle peut être utile si le processus de mise à niveau a échoué en raison d'une erreur ou de problèmes réseau. Durant la mise à niveau incrémentielle, le convertisseur met à niveau uniquement les données qui n'ont pas été mises à niveau au cours des sessions précédentes.

Pour démarrer une mise à niveau incrémentielle, suivez les étapes décrites dans Exécuter la commande Migrate. Lorsque la commande Migrate vous invite à exécuter une migration incrémentielle, appuyez sur Y.

Limitations d'une mise à niveau incrémentielle

Une mise à niveau incrémentielle est vouée à l'échec si vous ne tenez pas compte des restrictions suivantes :

  • Dans votre base de données Visual SourceSafe, vous ne devez pas avoir effectué d'activités de destruction, de purge, d'archivage ou de restauration.

  • Vous ne devez pas modifier la section <ProjectMap> de votre fichier de paramètres de migration.

  • Sur votre serveur Team Foundation Server, vous ne devez modifier aucun des dossiers (ni aucun contenu des dossiers) spécifiés dans la section <ProjectMap> de votre fichier de paramètres de migration.

Afficher: