tools tag scm remove git svn version-control mercurial rtc

scm - git tag remove



Diferencia entre SCM y SVN (5)

¿Cuál es la diferencia entre SCM y SVN? ¿Y en qué se diferencia git de mercurial?


He probado Git y Mercurial (y actualmente uso Mercurial). Por lo que he visto, Git parece ser un poco más rápido y quizás más versátil, pero eso tiene un costo de aprendizaje. Cuando los probé a los dos al principio, no tenía otros compañeros de trabajo para obtener información y encontré que la curva de aprendizaje de Git era mucho más pronunciada que la de Mercurial. También encontré que Mercurial es mucho más fácil de usar desde Windows (que es mi plataforma de desarrollo principal).

Mercurial tiene soporte para Git y lo contrario también es cierto, por lo que probablemente podría probar cualquiera de los dos y cambiar más tarde si encuentra la necesidad.


SCM es Software Configuration Management y SVN es una herramienta del Sistema de control de versiones, que es un subconjunto de SCM. VCS también se llama Control de Revisión y Git, Mercurial también son herramientas de VCS (VCS distribuido para ser más específico).

SVN, Git, Mercurial, etc. son herramientas para el control de revisiones, uno de los procesos en SCM. SCM también incluye gestión de compilación, seguimiento de defectos, etc.


SCM es un término genérico que realmente no significa mucho de nada. Lo he escuchado como "Administración de configuración de software", "Administración de cambios de software" y "Administración de código fuente", y probablemente haya otros. Básicamente es marketing hablar por lo que puedo decir.

Si lo ve como algo parecido a la última frase, entonces SVN (abreviatura de Subversion), git y Mercurial son todos tipos particulares de sistemas SCM. Git y Mercurial son aproximadamente equivalentes. Hay pequeñas diferencias, pero las preferencias personales son realmente la mayoría de lo que importa. Ambos son lo que se denominan sistemas de control de revisión distribuidos, lo que significa que no se debe confiar en una ubicación central. Cada persona que los usa puede trabajar de forma independiente, y también sincronizan todo de forma más o menos independiente.

La subversión es centralizada. Su objetivo es resolver el mismo tipo de problemas, pero lo hace obligando a todas las actividades a pasar por un lugar que todos usan. Eso hace que muchas cosas sean más fáciles de manejar, pero a un costo de una gran cantidad de flexibilidad. Una vez más, la preferencia personal dicta lo que prefiere.


SCM generalmente significa Software Configuration Management , que incluye CMRM (Change Management hasta Release Management), incluido el control de versiones.

SVN es solo una herramienta de control de versiones VCS:

Entonces, uno es mucho más completo y cubre más completamente el ciclo de vida del desarrollo, mientras que es genérico: Team Fundation Server o RTC - Rational Team Concert - son ejemplos de SCM.


SVN (Subversion) es una herramienta que proporciona funcionalidad de control de versiones. Los desarrolladores utilizaron esta herramienta para verificar sus códigos. Usando esto podemos rastrear los cambios realizados en los archivos / códigos durante el proceso de desarrollo del software.

La gestión de la configuración del software es una práctica que se utiliza para rastrear y controlar los cambios en el desarrollo del software. Incluye todos los procesos necesarios para compilar, empaquetar e implementar software.