[VisualHg] Utilisation de Mercurial au sein de Visual Studio – Partie 1/3

Poursuivons notre série d’articles sur Mercurial en découvrant un outil permettant d’intégrer le contrôle de source directement au sein de Visual Studio: VisualHG. Cet outil très pratique, compatible avec Visual Studio 2008 et 2010, s’installe en 3 clics et simplifie grandement la gestion de votre code source.

Installation de VisualHG

L’installation de VisualHG est très simple. Elle nécessite le téléchargement de TortoiseHg sur le site officiel et VisualHG sur leur page CodePlex. TortoiseHg est une interface graphique permettant d’utiliser Mercurial. Elle est à Mercurial ce que TortoiseSVN est pour Subversion. Installez les deux programmes récupérés dans l’ordre donné ci-dessus. Une fois installé, dans Visual Studio, allez dans Tools → Options. Sur la fenêtre qui apparait, dans l’item Source Control, choisissez VisualHG dans la liste déroulante:


Installation de VisualHG

Installation de VisualHG

Créer son 1er dépôt

La première chose à faire est de définir la solution comme un dépôt. Cela se fait par l’intermédiaire de notre explorateur de fichiers en utilisant TortoiseHg :

Création d'un dépôt

Création d'un dépôt

Une fenêtre pour initialiser notre dépôt va alors s’ouvrir comme ci-dessous :

Créer un dépôt

Créer un dépôt

Une fois notre dépôt créé, Mercurial nous a ajouté un dossier « .hg » et un fichier « .hgignore » :

Dépôt

Dépôt


Le dossier « .hg » permet de stocker tout l’historique des versions de votre projet. Quant au fichier « .hgignore », il vous permet d’exclure certains fichiers dans votre gestionnaire de version, en spécifiant directement le nom du fichier, une liste d’extensions etc…

Commit

Un commit sauvegarde nos fichiers à un instant T sur notre disque dur. Il sera possible de revenir à une version précise de nos fichiers grâce à nos commit. Il est important de noter qu’un commit ne rend pas disponible aux autres développeurs du même dépôt les mises à jours réalisées juste avant celui-ci. Pour faire notre 1er commit, clic droit sur la solution dans Visual Studio → HG Commit :

Commit

Commit

Une nouvelle fenêtre s’ouvre. En bas à gauche, on peut y trouver la liste de nos fichiers. On remarque que ceux-ci ont tous l’état « ? ». Cela nous indique que Mercurial ne connait pas ces fichiers.

Commit

Commit

Afin que ces fichiers soient référencés dans Mercurial, il faut tous les sélectionner. On entre une description dans la zone de texte en haut de la fenêtre puis on clique sur notre bouton Commit en haut à gauche. Une fenêtre de confirmation s’ouvre alors nous demandant si on veut ajouter les fichiers de la solution. On choisit « yes ». TortoiseHg nous simplifie la tâche ici. En effet, il s’agit normalement d’une chose en 2 étapes : ajouter nos fichiers puis commiter nos modifications si nous la réalisions en ligne de commande.

On peut voir visuellement dans Visual Studio que nos fichiers sont bien référencés dans notre dépôt grâce à l’icône verte qui indique « ajouté » :

Référencement dans Visual Studio

Référencement dans Visual Studio

Nous pouvons à tout moment retrouver l’ensemble des commit réalisés au sein du Repository Explorer. On y accède au sein de notre explorateur de fichiers grâce à un clic droit sur notre dépôt → Hg Repository Explorer :

Repository Explorer

Repository Explorer

La fenêtre suivante s’ouvre alors :

Repository Explorer

Repository Explorer

On y retrouve la liste de nos commit avec la possibilité de revenir à un commit donné, voir les modifications réalisées sur un fichier etc… Nous allons modifier le fichier /Views/Home/About.aspx afin d’y ajouter un message plus précis :

About.aspx

About.aspx

Une fois notre page enregistrée, l’explorateur de solution de Visual Studio change l’icône de la page en question :

Modifier un fichier

Modifier un fichier

L’état de la page passe de « ajoutée » à « modifiée ». Nous allons référencer notre modification dans Mercurial en réalisant un commit :

Commit

Commit

Nous allons maintenant nous rendre dans le Repository Explorer :

Repository Explorer

Repository Explorer

On y retrouve notre nouveau commit qui devient la version actuelle du projet, visible grâce à la mise en gras du commit en question.

Nous souhaitons retourner à la version précédente de notre projet. Pour cela, rien de plus simple, un clic droit sur notre commit où l’on veut retourner → Update. Cette action nous affichera la fenêtre suivante :

Update

Update

Si dans Visual Studio la page est toujours présente en édition, ce dernier va nous afficher un avertissement :

Update

Update

En choisissant « yes », nous verrons dans l’éditeur la version précédente de notre page. Difficile de faire plus facile. Attaquons nous maintenant à rendre disponible tout notre travail aux autres développeurs du projet grâce au push.

Push

Push est l’action qui permet de rendre disponible aux autres nos modifications sur notre projet. J’utilise dans la suite de l’article mon propre serveur Mercurial, dont je détaille l’installation sous IIS dans cet article.

Pour cela, il faut se rendre au clic droit de la solution → Synchronize ou alors dans Visual Studio avec Hg Synchronize :

Push

Push

Ceci aura pour action l’ouverture de la fenêtre qui permet la mise à disposition du projet aux autres mais aussi de récupérer le travail que ceux-ci ont réalisé.

Push

Push

Au sein de cette fenêtre, il faut saisir l’URL complet vers le dépôt de ce projet situé sur notre serveur Mercurial :

Push

Push

Il ne reste plus qu’à cliquer sur le bouton « Push », à remplir les informations de connexion demandées par le serveur et c’est fini. Si tout s’est bien passé, vous devriez obtenir le résultat suivant :

Push

Push

Nous pouvons voir sur notre interface Web du serveur Mercurial la liste de nos commit réalisés entre autres informations :

Interface Web

Interface Web

C’est la fin de la 1ère partie de cet article. Dans les suivants, nous découvrirons les pull, la gestion en branches etc…