Microsoft vient de sortir sur Codeplex une nouvelle version de son nouveau connecteur Git à TFS. L’idée est la suivante: permettre de créer un repository Git qui permettra ensuite de se synchroniser au source control de TFS. Cela nous donne une nouvelle manière pour les développeurs non utilisateurs de Visual Studio de travailler avec TFS.

Pour ce billet, je vais prendre un projet qui se trouve mon serveur local. C’est une simple application console vide qui ne contient qu’une classe Foo.

 

La ligne de commande pour créer le repository est la suivante :

git tf clone –deep http://localhost:8080/tfs/DefaultCollection $/AgileSandbox/Main “votre dossier pour le repo”

Ce qui donne:

Voici l’historique dans TFS:

Et tel qu’il apparait ensuite dans Git:

Pour chaque checkin dans TFS nous avons un commit dans git: c’est grâce à l’option “—deep” lors de la création du repository. Ajoutons du code dans TFS: le changeset 18. Voici le résultat d’un “git tf pull”:

 

Nous avons récupéré un commit supplémentaire et notre “master” a été mise à jour. Bien sur cela n’est pas à sens unique et le modèle supporte le développement en parallèle. Par exemple j’ai ajouté un constructeur supplémentaire dans le répo Git et du code dans la console du programme sur TFS via le changeset 19. Lors du pull, le graphe de commit devient:

 

Pour l’instant,  notre modification sur Foo.cs n’est pas encore dans TFS. Pour cela j’utilise la commande “git tf checkin”:

 

J’obtiens dans l’historique suivant dans TFS:

 

J’ai laissé le message de git-tf par défaut mais j’aurais pu écrire mon propre message. Git-TF est facile d’utilisation mais cela induit du travail supplémentaire à la personne qui fera la jonction entre TFS et Git. Pour terminer git-tf n’est pas la seule possibilité de connexion à TFS en dehors de visual studio, il y a aussi Team Explorer Everywhere.