Si vous suivez régulièrement ce blog, il ne vous aura sans doute pas échappé l’intérêt certain pour la forge GitHub et son côté communautaire en termes de développement.
Pour celles et ceux qui arriveraient sur ce blog en cours de route, c’est sur cette forge que sont hébergés en particulier nos deux principales solutions sous licence libre Microsoft Public License (Ms-PL) à savoir OGDI (Open Government Data Initiative) DataLab et ODAF (Open Data Application Framework) Openturf qui représentent respectivement :
Si nous avons opté pour cette forge présentant nombre d’avantages dont une partie est énumérée dans un précédent billet, il n’est cependant pas rare de voir des projets, principalement en .NET, évoluer sur une plateforme TFS (Team Foundation Server) tandis que leur(s) homologue(s) fonctionnant sur une autre plateforme est hébergé sur Git. Il serait donc intéressant de centraliser ces projets en seul et même endroit tout en gardant les avantages des différents outils.
C’est ici qu’intervient Git-TF. Disponible dès maintenant sur le Centre de téléchargement Microsoft, Git-TF est un ensemble d’outils multiplateformes fonctionnant en ligne de commande qui permet à Git et TFS (2008, 2010 ou 2012) d’interagir entre eux. (A l’heure actuelle, Git-TF ne prend pas en charge la version SaaS Team Foundation Service dans le Cloud de TFS.)
Au-delà d’une simple fonctionnalité, la mise à disposition de tels outils permet de rapprocher les deux écosystèmes créés autour de Git et de TFS et ainsi, de faciliter la collaboration entre les différents acteurs.
Pour un bref rappel, TFS est une plateforme de collaboration offrant à la fois une gestion avancée des codes source mais aussi une gestion approfondie du cycle de vie des applications (ALM ou Application Lifecycle Management). Pour plus d’informations sur la plateforme TFS, rendez-vous ici.
Ainsi, il devient aisé pour un développeur travaillant sur XCode et utilisant l’intégration native de Git de collaborer avec une équipe évoluant sur des projets hébergés sur TFS. C’est donc cette fois-ci une communication à double sens qui est possible et qui permet à tout un chacun d’utiliser TFS ou Git quelle que soit sa plateforme de développement. Ceci rejoint également un précédent billet sur la prise en charge de Git et de GitHub sur Windows avec GitHub for Windows.
Un grand nombre de plateformes est aujourd’hui supporté par Git-TF. A titre d’exemple, nous pouvons citer Windows (de Windows XP SP3 à Windows 8), Linux, Mac OS X (10.4 à 10.6), ou encore Solaris (8 à 10).
En termes de fonctionnalités apportées par l’intégration, Git-TF répond en l’état aux besoins classiques des habitués de Git. Il offre, pour cette première version, notamment la possibilité d’exécuter des commandes basiques de Git vers un serveur TFS. Les commandes suivantes sont ainsi disponibles : clone, commit, pull, checkin ou encore push. Le développement communautaire en cours de la prochaine version est destiné à compléter ce jeu de commandes afin de tirer le meilleur parti de Git et de TFS pour les utilisateurs les plus avancés de Git. (Si cela vous intéresse, vous pouvez y prendre part dès à présent ici).
Par ailleurs, Git-TF est prévu pour un fonctionnement en cohabitation avec Git. De ce fait, vous gardez la puissance de Git pour une utilisation courante et vous pouvez à tout moment utiliser Git-TF pour transférer votre travail sur TFS.
Si vous désirez dès à présent installer les outils Git-TF sur votre poste, rendez-vous sur le Centre de téléchargement Microsoft.
IMPORTANT : Avant toute chose vous devez avoir installé un environnement runtime Java sur votre poste de travail.
Une fois le paquet téléchargé, extrait et java d’installé, il vous faut ajouter 1 élément à la variable d’environnement PATH.
Si, pour vous, l’utilisation de Git et de TFS est courante ou si vous rencontrez des problèmes de collaboration sur certains projets dus à un environnement exotique sur ces deux outils, Git-TF devrait vous apporter une aide non négligeable.
En rapprochant ainsi deux écosystèmes différents, Git-TF essaiera sans doute dans un avenir plus ou moins proche de tirer parti des fonctionnalités les plus utiles, et surtout auxquelles sont habitués les développeurs, de ces 2 mondes pour offrir un outil puissant de collaboration centralisée multiplateforme.
Pour le moment il permet une collaboration améliorée entre les développeurs et un rapprochement, souvent réclamé, entre TFS et Git. C’est déjà cela ;)
Pour plus d’informations sur Git-TF, nous vous encourageons à visiter le billet suivant et à visionner la petite vidéo de 15 minutes proposée : Announcing Git Integration with TFS.
De même, vous pouvez consulter le code source de Git-TF disponible sous licence libre à l’adresse suivante http://gittf.codeplex.com/.
Bonne découverte de Git-TF.