Descargo de responsabilidad: comencé el git-tf
proyecto y, aunque el proyecto ahora está en manos muy capaces sin mí como colaborador frecuente, debe considerar absolutamente que mis opiniones sobre esto están fuertemente sesgadas. (Y, asumiendo que estás en Windows, quizás inesperado).
Hay dos diferencias fundamentales entre las dos herramientas:
git-tfs
fue creado para usuarios de Windows y escrito sobre .NET TFS SDK. El SDK de TFS no se ejecutará en Mono, por lo que git-tfs
no es adecuado para uso multiplataforma.
git-tf
fue creado para usuarios multiplataforma y escrito sobre Java TFS SDK. Por lo tanto, se ejecutará en cualquier lugar que sea compatible con Java TFS SDK (Windows, Mac, Linux, AIX, HP-UX, Solaris, etc.) que git-tf
se creó explícitamente para permitir que los usuarios de Xcode accedan a TFS.
En Windows, por supuesto, puede usar cualquiera. No voy a decir necesariamente que uno sea mejor que el otro. Pero diré:
Mi mayor queja git-tfs
es que no funcionará en Mac OS. Si hubiera una forma de hacer git-tfs
multiplataforma, es git-tf
casi seguro que no existiría.
git-tfs
es más rápido en algunos casos que git-tf
. El rendimiento no fue nuestra prioridad en las primeras revisiones, la corrección sí lo fue.
Debido a que git-tf
tiene una amplia matriz de soporte de plataforma, esto significa que su funcionalidad está necesariamente restringida. Por ejemplo, no hay IU. git-tfs
, por otro lado, tiene un checkintool
comando que abrirá el diálogo de registro de TFS normal. Esto puede ser excepcionalmente útil para visualizar sus cambios. (Si mal no recuerdo, puede abrir una diferencia visual adecuada desde allí, etc.)
git-tf
funciona rellenando el repositorio de git directamente, descargando objetos TFS directamente en la base de datos de objetos de git. git-tfs
funciona creando una asignación de carpeta de trabajo TFS en una carpeta oculta, luego completando el repositorio de git a partir de eso. Aquí hay una penalización de disco, por lo que si tiene repositorios gigantescos, es posible que sienta esto.
git-tfs
puede intentar mapear sus ramas de TFS a sus ramas de git. Mucha gente verá esto como algo positivo git-tfs
, aunque yo no: el modelo de ramificación de git (a nivel del repositorio) y el modelo de ramificación de TFS (representado como carpetas en el repositorio) son tan radicalmente diferentes que causan problemas en todo menos los flujos de trabajo más simplistas. Pero tu kilometraje puede variar.
git-tfs
es desarrollado activamente por una comunidad. git-tf
no ha tenido la adopción comunitaria.
No quiero que parezca que estoy diciendo que git-tf
es malo. No es. Creo que en realidad es bastante bueno. Pero puede que no sea su mejor opción.
Actualización: git-tf
ha llegado al final de su vida útil . Microsoft ya no lo mantiene ni lo admite. Recomendamos git-tfs
si desea una solución bidireccional TFS <-> git.