¿De qué manera Mercurial es mejor / peor que TFS? [cerrado]


Acabo de unirme a una nueva compañía y en este momento estamos usando Microsoft SourceSafe como nuestro repositorio. La configuración no es ideal y está demostrando ser un gran dolor en el cuello.

Recientemente he usado Mercurial y pensé que era increíble, así que estoy abogando por cambiar a eso, pero parece que la compañía ya tiene una licencia de Team Foundation Server y quiere usar eso en su lugar.

¿Puede alguien darme una lista de puntos donde uno es mejor que el otro? No he usado TFS y así que no se en que es bueno/malo.

Author: Jackson Pope, 2010-11-05

4 answers

No se puede comparar directamente TFS y un DVCS.

Si su empresa se inclina hacia TFS, eso puede ser debido a la otras características TFS viene con (recopilación de datos, informes y seguimiento de proyectos, todo bien integrado con los productos de Microsoft)


En el lado puro del Control de Versiones, el Team Foundation Server 2010, con su Team Foundation Version Control (TFVC) 2010, introduce ramas como ciudadanos de primera clase.
Ver Equipo Servidor de Fundación y características de ramificación, en comparación con otros.

Todavía encuentro sus modelos de ramificación más complejos que uno Mercurial o Git.
Ver TFS2010 Ramificación en una subcarpeta de otra rama vs. Guía para el Modelo de ramificación en Mercurial (y esto SO question que también detalla las fusiones y ramas con DVCS)

Dicho esto, sigue siendo un CVCS (VCS centralizado), lo que significa que obtiene diferentes procesos de trabajo que con un DVCS: vea Describa su flujo de trabajo de usar control de versiones (VCS o DVCS).

La característica true killer de un DVCS sigue siendo su capacidad de fusión (más simple y más rápido que cualquier CVCS). Pero introducir un DVCS en un entorno corporativo sigue siendo difícil.

 33
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:32:29

Recomiendo Joel en Software http://hginit.com para una lista de muy buenas razones para cambiar al control de versiones distribuido.

 8
Author: Marco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-05 07:22:55

He encontrado algunos puntos clave con TFS que lo hacen un poco diferente de otros CVC.

  • TFS es muy difícil de usar fuera de Visual Studio. Incluso diffing versiones se hace dentro VS. Personalmente solo me gusta usar VS para escribir código.
  • Hemos tenido muchos problemas con dll y otros archivos binarios que no se actualizan a la última versión.
  • TFS hace que todos sus archivos bajo control de versiones sean de solo lectura. Esto hace que modificar archivos fuera de VS sea muy doloroso. De hecho, esto todavía está causando problemas con nuestros proyectos Silverlight en nuestra Integración Continua construida en TFS.
  • La herramienta de línea de comandos para TFS no es fácil de usar desde la línea de comandos. (Personalmente, me gusta usar la línea de comandos)

Fondo: Mi empresa cambió de SVN y TFS y uso Mercurial / Git para mis proyectos paralelos. También seguí este blog sobre el uso de Mercurial con TFS y ha hecho que mi trabajo con TFS sea mucho más agradable.

 6
Author: wusher,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-09 03:19:48

TFS es una Herramienta de Gestión de Lifecylce de Aplicaciones no SOLO un repositorio de código fuente / sistema de control de versiones.

Su fuerza es:

-It's natural integration into Visual Studio (+100)
-It's Full App Lifecycle support from Work Item through Q/A acceptance.
-It's integration with MS Project / Sharepoint, and all the other 
 hoo-ha's you get 
-And now TFS 2012 has added support for "Local Workspaces" which allows
  for off-line working, but also allows "Server Workspaces" which is 
  similiar to TFS 2010. 
-Diff on every Check-in / Commit

El lado del control de código fuente también es muy fuerte, sin embargo, personalmente, siempre y cuando pueda ver toda la historia, no perder código, y no tener mi código "pisado". Me importa un bledo.

He estado usando TFS desde 2008 y la última ronda de mejoras demuestra aún más los compromisos de Microsofts para desarrollar sus productos y mantenerse al día con los cambios de la industria. Personalmente me encanta, pero me quedo en el entorno de Microsoft (que también me encanta).. fuera de eso, puede que no funcione con las necesidades de todos.

Ahora, a los pocos días de trabajar profesionalmente con Mercurial (BitBucket / Mercurial / TortoiseHg / VisualHg ) , tengo que decir que las herramientas parecen un poco anticuadas. La integración con Visual Studio es como luke warm coffee (ho-hum), y la integración de explorer me lleva de vuelta a "los buenos días" cuando tuve la suerte de NO ser trabajando en la Fuente Visual Segura.

Otra cosa a tener en cuenta es la facilidad en la migración de Visual Source Safe a TFS, es bastante indoloro.. recientemente moví toda la historia de mis últimas compañías en VSS a TFS y solo me tomó un par de utilidades de línea de comandos y de la noche a la mañana para mover todo el historial de cambios. Me sorprendió (como donde mis colegas) lo fácil que fue la migración, incluso mantuvo toda la historia desde el principio (por solicitud de los poderes fácticos)

Estoy definitivamente sesgado haber trabajado con herramientas de MS durante mucho tiempo, pero no hay mucho para el control de código fuente, siempre y cuando funcione..

Si su organización quiere administrar realmente todos los aspectos del desarrollo de aplicaciones, y aún no tienen herramientas o procesos integrados, TFS les brindará la capacidad de crecer y administrar desde el principio.

Comience con el Control de código fuente, termine con especificaciones originadas en MS Project, atadas a elementos de trabajo atadas a Pruebas unitarias atadas a pruebas de aceptación atadas para compilaciones e implementaciones automatizadas

Y por Último: Quemar Abajo / Gráficos de velocidad

 3
Author: hanzolo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-08 22:51:22