Cuando pruebas un control de versiones distribuido no puedes volver atrás. La comodidad de trabajar desconectado, haciendo commits ultra rápidos, la facilidad para combinar los cambios, gracias a la inteligencia de las herramientas de combinación, te hacen ver cualquier otra herramienta a años luz de distancia.

Los que trabajan conmigo conocen mi pasión por los DVCS, y como en muchos proyectos hemos los hemos utilizado. Pero un ecosistema no sólo lo compone un control de versiones, tan importante o más es contar con una buena solución ALM. Y en un entorno de desarollo Microsoft la solución está clara, TFS.

Sin embargo hasta hace pocos días, utilizar TFS implicaba utilizar un control de versiones centralizado. Ya no.

Team Foundation Service, repositorios GIT

Team Foundation Service, la versión en la nube de TFS, soporta desde hace unos días la creación de proyectos que utilicen repositorios GIT

Create Git Project

Esto nos creará un Team Project que en lugar de utilizar el repositorio de TFS utilizará GIT como CVS.

La integración con GIT es excelente, desde la interfaz web, tal y como hacíamos hasta ahora con repositorios de TFS podemos navegar por el código:

Repository Browser

 

O asignar permisos a cualquier carpeta o archivo, utilizando el mismo control de permisos de TFS:

Permission Management

 

 Repositorio GIT Estándar

El repositorio que nos crea TFS, es un repositorio GIT 100% estándar y como tal puede ser accedido desde cualquier cliente GIT. Para ello solo necesitamos activar las credenciales alternativas en nuestra cuenta de usuario de TFS Service, y utilizar éstas al acceder al repositorio:

TFS Git on Mac

 

Una vez clonado el repositorio podemos trabajar con cualquier herramienta cliente que soporte GIT, el propio cliente de consola git o alguna interfaz gráfica como el cliente de github para Mac:

 

 

GitHub client with TFS

Repositorios GIT en Visual Studio

Visual Studio integra ahora, mediante Team Explorer, los repositorios GIT que dispongamos en nuestro equipo:

Local Repositories

 

Visual Studio ha encontrado todos los repositorios locales GIT que había en mi equipo automáticamente.

Desde Visual Studio podemos realizar las operaciones más comúnes como Commit, Pull, y Push e incluso podemos crear ramas locales, que podremos publicar si lo necesitamos, o hacer Merge con las mismas, para lo cuál Visual Studio integra toda la experiencia de combinación y resolución de conflictos:

Conflict Resolution

 

Disponibilidad

El cliente GIT está disponible como una extensión a Visual Studio 2012. Para instalarlo primero necesitamos instalar la Update 2 CTP (cuidado! es software beta).

Visual Studio Tools for Git

Visual Studio 2012 Update 2 CTP

La versión de TFS que incluye GIT sólo esta disponible en su versión en la nube, pero con un número ilimitado de proyectos y hasta 5 usuarios gratis no es una mala opción 😉

Team Foundation Service

Conclusiones

Git completa las capacidades que ya nos daba TFS y lo hace aún más completo. Personalmente, esta integración elimina uno de las principales pegas que tenía a la hora de implementar TFS como solución ALM.

Hasta la próxima, nos leemos!