SVN Bridge : utiliser les clients de Subversion pour se connecter au serveur Team Foundation Server

Un post pour mettre en avant un projet intéressant sous Codeplex : la possibilité de se connecter au serveur Team Foundation en utilisant des clients Subversion. SVNBridge crée une passerelle entre les clients SVN et TFS.

J'ai fait des tests avec TortoiseSVN et Subclipse.

TortoiseSVN permet de se connecter à un référentiel Subversion (et maintenant TFS) directement depuis l'explorateur Windows.

Subclipse permet de se connecter depuis Eclipse à Subversion.

Les fonctionnalités de base sont opérationnelles (Commit, Checkout, Update, History, ...).

C'est intéressant à plusieurs titres : cela montre l'ouverture de Team System, cela ouvre des perspectives de d'intégration dans le système de fichiers ou dans des outils que TFS n'intègre pas encore. Pour l'instant, l'outil est en cours de développement, un utilisation en production devra se concentrer sur les fonctionnalités de base et dans un scénario simple et clairement défini.

Le lien vers le project Codeplex, pour télécharger et installer le "bridge" :

SVN Bridge

La capture d'écran montre un répertoire d'un serveur TFS mappé sur le système de fichier avec les menus de SVN.

Voici l'état d'implémentation des différentes fonctionnalités, il n'est pas simple de tout implémenter à cause des différences entre les outils :

 

* Checkout - Stable

U          Update - Stable

* Update to revision - Unstable

* Commit - Stable

* Show log - Stable

* Repo-browser - Stable

* Check for Modifications - Works normally (client side functionality)

* Revision graph - Not developed

* Resolved - Works normally (client side functionality)

* Revert - Works normally (client side functionality)

* Clean up - Works normally (client side functionality)

* Get Lock - Not developed

* Release Lock - Not developed

* Branch/tag - Somewhat developed and unstable

* Switch - Not developed

* Merge - Not developed

* Export - Not developed

* Relocate - Not developed

* Add - Works normally (client side functionality)

* Rename - Stable

* Delete - Works normally (client side functionality)

* Create Patch - Works normally (client side functionality)

* Apply Patch - Works normally (client side functionality)