Introduction au contrôle de code source

Mise à jour : novembre 2007

L'environnement de développement intégré (IDE, Integrated Development Environment) de Visual Studio prend en charge le contrôle de code source par le biais de sa couche de protocole VSIP (Visual Studio Integration Protocol). Le protocole VSIP peut héberger différents packages de contrôle de code source, habituellement implémentés sous la forme de plug-ins développés conformément aux protocoles appropriés. Le plug-in SourceSafe LAN constitue un exemple de plug-in de contrôle de code source pris en charge par Visual SourceSafe. Pour plus d'informations sur ce plug-in, consultez l'aide de Visual SourceSafe.

Remarque :

Visual Studio référence les packages de contrôle de code source en tant que plug-ins. Toutefois, ceux-ci peuvent être implémentés sous la forme de modules logiciels de types différents.

Le contrôle de code source Visual Studio est simplement un environnement destiné aux plug-ins de contrôle de code source d'éditeurs tiers. Par conséquent, seule l'installation d'un plug-in active ses fonctionnalités. Pour utiliser un plug-in de contrôle de code source tiers, vous devez généralement installer l'application tierce et/ou le ou les plug-ins de contrôle de code source tiers sur les ordinateurs client et serveur de votre site. Une fois ces ressources installées conformément aux instructions de l'éditeur tiers, leurs fonctionnalités sont disponibles par le biais de Visual Studio. Les possibilités activées sont variables. Elles dépendent du plug-in de contrôle de code source. Pour plus d'informations sur l'exploitation spécifique du plug-in, consultez la documentation tierce.

Consultez « Vue d'ensemble (contrôle de code source) » dans l'aide de Visual Studio pour plus d'informations sur la conception de contrôles de code source dans Visual Studio. Cette section de l'aide fournit également toutes les informations nécessaires au développement d'un package de contrôle de code source tiers compatible avec Visual Studio.

Concepts de base sur la prise en charge des contrôles de code source dans Visual Studio

La prise en charge de base d'un contrôle de code source dans Visual Studio comprend la configuration des options d'environnement et de plug-in de contrôle de code source, le basculement entre différents plug-ins, l'accès aux bases de données, ainsi que le suivi des versions et la manipulation des projets, solutions et fichiers Visual Studio, ainsi que des métadonnées associées. Dans Visual Studio, un contrôle de code source met également en application des protocoles de contrôle d'accès aux bases de données, notamment le mode de travail Verrouiller-Modifier-Déverrouiller, dans lequel un utilisateur qui souhaite modifier un fichier doit l'extraire de manière exclusive.

Rappelez-vous que pour interagir avec un plug-in de contrôle de code source, vous devez utiliser le contrôle de code source dans les mécanismes Visual Studio. Par exemple, n'utilisez aucune autre application cliente présentée par l'éditeur tiers du plug-in, telle que l'Explorateur Visual SourceSafe. Une utilisation adéquate des mécanismes de contrôle de code source dans Visual Studio garantit que seuls les fichiers appropriés sont ajoutés au contrôle de code source, et que vos fichiers de solution et de projet Visual Studio sont mis à jour avec les détails de plug-in spécifiques appropriés.

Configuration des plug-ins de contrôle de code source et basculement entre ceux-ci

Un contrôle de code source Visual Studio prend en charge la configuration des plug-ins et le basculement entre ceux-ci par le biais de l'entrée Contrôle de code source de la boîte de dialogue Options. Pour accéder à cette entrée, sélectionnez Options dans le menu Outils de Visual Studio. La boîte de dialogue Options permet de sélectionner le plug-in que vous souhaitez utiliser pour le contrôle de code source, et de configurer des options d'environnement pour ce plug-in.

Avant de pouvoir profiter des fonctions du contrôle de code source dans l'IDE de Visual Studio, vous devez effectuer les opérations suivantes :

  • Déterminer si tous plug-ins de contrôle de code source sont disponibles.

  • Si le plug-in de contrôle de code source que vous souhaitez utiliser n'est pas installé sur votre ordinateur, installez le produit tiers qui le prend en charge, puis redémarrez Visual Studio pour l'enregistrer.

  • Créer une base de données contenant le contrôle de code source conformément à la fonctionnalité du plug-in spécifique.

  • Envoyer un lien qui pointe vers l'emplacement de la base de données à tous les membres de l'équipe.

Accès aux bases de données

Les commandes de base d'accès aux bases de données, notamment Extraire et Ajouter au contrôle de code source, sont disponibles dans le menu Fichier de Visual Studio. Toutefois, ces commandes sont activées uniquement après la sélection du plug-in de contrôle de code source que vous souhaitez utiliser. Lorsque vous utilisez une des commandes de base d'accès aux bases de données, le plug-in sélectionné appelle l'environnement et/ou les fonctionnalités tiers correspondants pour réaliser l'opération associée.

Certaines opérations d'accès sont actives uniquement avec le plug-in sélectionné, tandis que d'autres ne sont disponibles que si vous sélectionnez également un projet, une solution ou un fichier Visual Studio, dans l'Explorateur de solutions de Visual Studio. Par exemple, vous pouvez utiliser une commande Ajouter au contrôle de code source dès qu'un plug-in est sélectionné. En revanche, un élément doit être sélectionné dans Explorateur de solutions pour utiliser une commande Archiver.

Gestion de fichiers par un contrôle de code source

Vous pouvez ajouter les fichiers suivants à un contrôle de code source Visual Studio :

  • Fichiers solution (*.sln)

  • Fichiers projet (par exemple, *.csproj, *.vbproj)

  • Fichiers de configuration d'application XML utilisés pour contrôler le comportement d'un projet Visual Studio au moment de l'exécution

Fichiers que vous ne pouvez pas ajouter à un contrôle de code source, notamment les suivants :

  • Fichiers d'options utilisateur de solution (.suo)

  • Fichiers d'options utilisateur de projet, notamment *.csproj.user et *.vbproj.user

  • Fichiers d'informations Web qui contrôlent l'emplacement de la racine virtuelle d'un projet Web, notamment * .csproj.webinfo et *.vbproj.webinfo

  • Fichiers de sorties de génération, notamment *.dll et *fichiers .exe

Propagation de modification d'espace de noms

Le contrôle de code source Visual Studio prend en charge la propagation de la modification de l'espace de noms dans les plug-ins associés. La propagation de modification s'applique aux opérations de suppression, de déplacement et de changement de nom. Lorsque vous demandez une opération pour laquelle la propagation de modification est activée, dès que vous archivez l'élément et que d'autres utilisateurs le récupèrent, le plug-in de contrôle de code source modifie votre copie de travail de l'élément sous contrôle de code source, la copie principale dans la base de données, ainsi que les copies des autres utilisateurs.

Gestion des solutions et des projets par le contrôle de code source

Lorsque vous ajoutez une solution ou un projet à un contrôle de code source, la première opération qu'un plug-in de contrôle de code source doit faire consiste à identifier une racine unifiée pour l'élément ajouté. Cette racine constitue un chemin d'accès au répertoire parent pour tous les dossiers et fichiers de travail qui constituent la solution ou le projet.

Une racine unifiée correspond généralement à un chemin d'accès physique sur un disque. Toutefois, si une solution contient des fichiers ou des projets enregistrés sur plusieurs lecteurs de disque, aucun dossier physique ne peut correspondre à une racine unifiée. Une solution peut s'étendre sur plusieurs lecteurs, mais la racine unifiée d'un contrôle de code source ne le peut pas. Pour gérer cette situation, le contrôle de code source Visual Studio prend en charge le concept de racine super-unifiée. Ce type de racine consiste en un conteneur virtuel sous lequel sont enregistrés tous les projets et fichiers d'une solution sous contrôle de code source.

Lorsque vous ajoutez une solution à l'aide d'un plug-in de contrôle de code source doté de capacités avancées, celui-ci crée un dossier de racine de solution vide dans la base de données. Ce dossier contient tous les éléments présents dans une solution sous contrôle de code source. Par défaut, ce dossier est nommé <nom_solution>.root.

Remarque :

Lorsque vous ajoutez un projet unique à un contrôle de code source, aucun dossier .root n'est créé.

L'utilisation de la racine de solution fournit les avantages suivants :

  • Moins d'invites. La racine de solution réduit le nombre potentiel de liaisons de contrôle de code source pour une solution donnée, et donc le nombre d'invites utilisateur lors de différentes opérations, notamment l'ajout d'une solution à un contrôle de code source.

  • Encapsulation de projet. La racine de solution garantit que tous les projets d'une solution sont facilement identifiables en tant que projets associés, et ce même lorsqu'un ou plusieurs d'entre eux sont enregistrés sur des partitions ou des ordinateurs distincts.

Si vous pouvez désactiver la création du dossier <nom_solution>.root, cette opération n'est pas recommandée. Pour plus d'informations, consultez Comment : désactiver la création du dossier <nom_solution>.root.

La constitution des solutions dans Visual Studio n'est pas nécessairement correcte. Une solution correctement constituée voit sa structure hiérarchique sur disques correspondre à sa structure dans l'Explorateur de solutions. Tous les projets d'une solution correctement constituée sont enregistrés sur disque dans des dossiers subordonnés à celui de la solution. Si la solution est correctement constituée lorsque vous l'ajoutez à un contrôle de code source, le plug-in du contrôle de code source crée un dossier subordonné au dossier *.root pour contenir les copies principales du fichier solution (*.sln) et des fichiers d'options utilisateur de solution (* .suo) pour la solution. Enfin, le plug-in du contrôle de code source crée un dossier subordonné au dossier .sln pour chaque projet supplémentaire dans la base de données contenant le contrôle de code source.

Si une solution n'est pas correctement constituée, le plug-in de contrôle de code source crée un dossier pour la solution et son projet initial. Ensuite, les dossiers de chaque projet supplémentaire sont créés parallèlement au dossier de la solution.

Affichages d'une solution ou d'un projet

Visual Studio fournit trois affichages distincts pour un projet ou une solution sous contrôle de code source : le mode Design, et les vues physique et de contrôle de code source. De nombreuses tâches de contrôle de code source sont plus faciles à effectuer en présence d'un mappage un à un entre les éléments individuels de ces affichages. Toutefois, si vous créez vos solutions et vos projets, puis les ajoutez à un contrôle de code source au moyen des paramètres par défaut de Visual Studio, vos solutions et projets ne sont pas nécessairement organisés sur le disque de la même manière que dans l'Explorateur de solutions et dans la base de données.

Le mode Design d'une solution ou d'un projet s'affiche dans l'Explorateur de solutions. Il consiste en une présentation logique du contenu de la solution ou du projet. En général, le mode Design est ordonné et explicite. Les fichiers inutiles sont masqués ; les fichiers issus de différents emplacements physiques sont regroupés dans un conteneur de projet unique.

La vue de contrôle de code source d'une solution ou d'un projet s'affiche dans une application autonome telle que l'Explorateur Visual SourceSafe. Elle consiste également en une présentation logique de la solution ou du projet. Toutefois, cette vue n'est pas nécessairement le reflet de l'affichage logique.

La vue physique d'une solution ou d'un projet s'affiche dans l'Explorateur Windows. Il est peu probable qu'elle reflète la structure hiérarchique de l'affichage logique ou de la vue de contrôle de code source.

Les indications suivantes peuvent vous aider à obtenir une certaine fidélité organisationnelle entre le mode Design, la vue physique et la vue de contrôle de code source de vos projets et solutions sous contrôle de code source :

  • En premier lieu, créez une solution vierge, puis ajoutez-lui des projets. Elle contribue à préserver la relation parent-enfant logique entre une solution et ses projets au niveau du stockage. Ajoutez alors la solution à un contrôle de code source. L'affichage du contrôle de code source et le mode Design reflètent la hiérarchie de la solution sur le disque.

  • Donnez à chaque solution un nom unique et descriptif qui diffère de ceux des projets incorporés.

  • Évitez d'ajouter des fichiers de liaison à un projet ou une solution sous contrôle de code source.

  • Dans la mesure du possible, enregistrez tous les fichiers dans une solution ou un projet sur un même lecteur de disque.

Connexions et liaisons de contrôle de code source

Visual Studio définit une connexion comme une liaison de données active entre Visual Studio et un serveur de base de données. Lorsque vous ajoutez une solution ou un projet à contrôle de code source, votre plug-in de contrôle de code source copie l'élément ainsi que l'intégralité de son contenu du disque dans la base de données. Un dossier de contrôle de code source est créé pour chaque dossier qui contient un fichier de la solution ou du projet. Après avoir ajouté l'élément, le plug-in de contrôle de code source lie votre copie de travail locale de la solution ou du projet à sa version dans la base de données.

Chaque solution sous contrôle de code source dispose au moins d'une liaison de contrôle de code source. Toutefois, un élément peut disposer de plusieurs liaisons, et nécessiter plusieurs connexions à la base de données. Le nombre de liaisons et de connexions dépend de la manière dont la solution a été créée, et de l'enregistrement ou non de la totalité de ses projets et fichiers sur la même partition.

En guise d'illustration en matière de liaisons et de connexions, considérez qu'une solution sous contrôle de code source correctement constituée et dotée de plusieurs projets est similaire à une maison dotée de plusieurs pièces. Lorsque vous construisez la maison, vous pouvez relier une seule pièce à la rue au moyen d'une ligne de données à haut débit. Vous installez ensuite un routeur derrière un pare-feu afin de distribuer les flux de données aux autres pièces, et payez un fournisseur de services Internet pour connecter votre maison à l'Internet.

Considérez qu'une liaison de contrôle de code source représente la ligne de données unique créée pour la maison. Lorsque vous ouvrez une solution sous contrôle de code source, une connexion est établie sur cette liaison. La connexion établit un protocole de transfert entre votre copie de travail de la solution sur disque et la copie principale de la solution enregistrée dans la base de données.

Si une solution sous contrôle de code source n'est pas correctement constituée, vous pouvez la considérer comme une maison dont chaque pièce est connectée directement à Internet. Les frais de connexion à Internet et de maintenance sont plus élevés que dans la maison à connexion unique, et changer de fournisseur de services Internet est beaucoup plus long et difficile.

Dans l'idéal, une solution et ses projets partagent une seule liaison de contrôle de code source. Les solutions à liaison unique sont plus faciles à gérer que les solutions à liaisons multiples. Elles facilitent les opérations suivantes :

  • déconnexion d'un contrôle de code source pour travailler hors ligne ;

  • connexion à la base de données après reconnexion au réseau ;

  • connexion en une seule étape.

Pour créer une solution à plusieurs projets et à liaison unique, créez une solution vierge, puis ajoutez-lui les projets. Vous pouvez également activer l'option Créer le répertoire pour la solution dans la boîte de dialogue Nouveau projet lors de la création d'une paire projet-solution.

Si vous créez une paire projet-solution en une seule étape sans activer l'option Créer le répertoire pour la solution dans la boîte de dialogue Nouveau projet (fermé par défaut), une deuxième liaison est créée lorsque vous ajoutez un deuxième projet à la solution. Une liaison unique est créée pour le projet et la solution initiaux. Chaque projet supplémentaire entraîne la création d'une liaison supplémentaire.

Terminologie du contrôle de code source

La documentation Visual Studio utilise un certain nombre de termes pour décrire des fonctionnalités et les concepts des contrôles de code source. Le tableau suivant définit certains termes courants.

  • Version de base
    Version serveur d'un fichier dont une version locale est dérivée.

  • Liaison
    Informations qui mettent en correspondance un dossier de travail d'une solution ou d'un projet enregistré sur disque et un dossier enregistré dans la base de données.

  • Création de branche
    Processus de création d'une nouvelle version, ou branche, d'un fichier ou d'un projet partagé subordonné à un contrôle de code source. Une fois une branche créée, les deux versions subordonnées au contrôle de code source présentent un historique commun jusqu'à un certain point, après lequel elles présentent des historiques divergents.

  • Conflit
    Plusieurs modifications distinctes d'une même ligne de code lorsque plusieurs développeurs extraient et modifient le même fichier.

  • Connexion
    Liaison de données active entre un client de contrôle de code source (par exemple, Visual Studio) et un serveur de base de données contenant le contrôle de code source.

  • Database (base de données)
    Emplacement où l'ensemble des copies principales, historiques, structures de projet et informations utilisateur est enregistré. Un projet est systématiquement contenu dans une seule et unique base de données. Une seule et même base de données peut contenir plusieurs projets ; vous pouvez utiliser plusieurs bases de données. Référentiel et magasin sont des termes qui désignent communément une base de données.

  • Historique
    Enregistrement des modifications apportées à un fichier depuis son ajout initial à un contrôle de code source. Le contrôle de version permet de revenir à n'importe quel point de l'historique et d'y récupérer un fichier dans l'état qu'il présentait à ce stade.

  • Étiquette
    Nom défini par l'utilisateur attaché à une version spécifique d'un élément sous contrôle de code source.

  • Copie locale
    Fichier enregistré dans le dossier de travail d'un utilisateur, dans lequel les modifications sont enregistrées jusqu'à l'archivage. La copie locale est parfois nommée copie de travail.

  • Copie principale
    Version archivée la plus récente d'un fichier sous contrôle de code source, par opposition à la copie locale d'un fichier enregistrée dans votre dossier de travail. La version serveur et la version base de données sont d'autres noms donnés à la copie principale.

  • Fusion
    Processus consistant à combiner les différences que présentent plusieurs versions modifiées d'un fichier dans une nouvelle version de fichier. La fusion peut porter sur différentes versions du même fichier, ou sur les modifications apportées à la même version de fichier.

  • Fichiers partagés
    Fichier dont différentes versions sont enregistrées à plusieurs emplacements de contrôle de code source. Copie et raccourci sont d'autres termes qui désignent un fichier partagé.

  • Racine de solution
    Dossier vide dans une base de données, qui contient tous les éléments incorporés dans une solution sous contrôle de code source. Par défaut, ce dossier est nommé <nom_solution>.root.

  • Racine super-unifiée
    Conteneur virtuel sous lequel sont placés tous les projets et fichiers d'une solution sous contrôle de code source. Par exemple [SUR]:\ est la racine super-unifiée d'une solution sous contrôle de code source qui contient des projets enregistrés sous [SUR]:\C: \Solution\ProjetUn et [SUR]:\D:\ProjetDeux.

  • Racine unifiée
    Chemin d'accès au répertoire parent pour tous les fichiers et dossiers de travail présents dans un projet ou une solution sous contrôle de code source. Par exemple, C:\Solution est la racine unifiée d'une solution sous contrôle de code source qui contient des fichiers enregistrés sous C:\Solution, C:\Solution\ProjetUn et C:\Solution\ProjetDeux.

  • Dossier de travail
    Emplacement où sont enregistrées vos copies locales d'éléments sous contrôle de code source ; il s'agit généralement de votre propre ordinateur. Espace de travail est un autre terme qui désigne le dossier de travail.

Voir aussi

Tâches

Comment : désactiver la création du dossier <nom_solution>.root

Référence

Nouveau projet, boîte de dialogue