2009-06-29 16 views
56

¿Cuál es el nombre correcto para un sistema que almacena versiones del código fuente, como SVN o TFS?Control de fuente vs. Control de revisión?

Siempre lo he llamado control de fuente, pero lugares como Wikipedia lo llaman control de revisión?

Para hacer esto más complicado sitios como este tienen una etiqueta para ambos?

+0

Lo siento por su recompensa: mi respuesta (hecha antes de la recompensa) se seleccionó automáticamente (véase también http://meta.stackexchange.com/questions/4508). Deja un comentario en mi respuesta si quieres que lo detalle sobre un tema en particular. – VonC

+0

"Lo siento": solo porque mi respuesta fue hecha * antes * de la recompensa y solo se votó a favor debido al aumento de visibilidad debido a la recompensa. Pero parece que no ha atraído * nuevas * respuestas * usted * puede haber juzgado mejor (o lo hizo, pero usted no estaba allí en el momento de la expiración de la recompensa para seleccionarlo: ahora no puede seleccionar ninguna otra respuesta) en esta pregunta) – VonC

Respuesta

73
  • Control de Revisiones es el término más genérico, que se utiliza para las herramientas de control de origen, sino también para otras herramientas (Word, OpenOffice, ...). Hace referencia a una versión.

  • Fuente de control ofrece un control de revisión con ramas y uniones que no siempre están disponibles en todas las herramientas de revisión (Word no es un control de código fuente, pero la oferta de revisión funciones de control)

  • de control de versiones es una término más general que el control de código fuente en el que se las arregla versión de cualquier cosa (fuentes o binarios, o cualquier tipo de documentos)

Nota: SMC significa administración de código fuente, sino también para Software Code Management, para reflejar la misma idea (no solo se gestionan "fuentes").
Plus SCM introduce la noción de dependencias entre un grupo de archivos.
Y también puede incluir la noción de ciclo de vida de cambio (iniciar un cambio, cerrar un cambio, ...) que conduce al sistema de solicitud de cambio.

+17

También SCM significa Software Configuration Management. – user16120

+0

También debe haber una distinción entre la "herramienta" o software como git, hg y svn; y la "práctica", que tiene una política en una empresa, y puede ser "administración de código fuente" o "administración de configuración de software". – maxwellb

+2

¿por qué disculpas por la recompensa? el hecho de que haya votado por un factor de 10 debería indicar que tiene la mejor respuesta. el sistema de aceptación automática funciona bien. –

2

otro nombre es: version-control

Sobre la base de las etiquetas utilizadas en este sitio, "control de código fuente" es el más popular (que es bastante normal, ya que este sitio es acerca de la programación):

    de control
  • fuente (633 etiquetas)
  • de control de versión (587)
  • control de revisión (31)
+2

Deseo que las etiquetas se combinen o algo así. Tener varias etiquetas que significan lo mismo hace que sea más difícil buscar. –

2

No hay un nombre "correcta", los cuatro nombres comunes son:

  • sistema de control de versiones
  • sistema de control de revisiones
  • sistema de control Fuente
  • Fuente sistema de gestión de código
3

Ciertos sistemas (como SVN) tienen un término revisión que representa un número asociado con un conjunto específico o f versiones de todos los archivos en el repositorio. En tales sistemas revisión (SVN revisión) significa esencialmente versión (fuentes versión). De lo contrario control de revisión y control de versión son los mismos términos.

+0

No realmente, no son los mismos términos. En el control de revisión, el énfasis está en administrar el cambio (además de la versión), mientras que en el control de la versión, el énfasis (obviamente) está en gestionar versiones que pueden no incluir fusión, bifurcación, etc. – arpadf

5
  • sistema de control de versiones (VCS) es el término más comúnmente utilizado
  • Fuente Gestión Código (SMC) se utiliza en git, pero es una especie de inventado y se puede confundir con Software Configuration Management que ya se usa en la industria del software y no es lo mismo.
+1

* SCM * también significa administración de configuración de software, gestión de cambios de suministro. Así que podría haber un poco más de ambigüedad usando la abreviatura * SCM * luego * VCS * y * RCS *. – altern

+0

"y no es lo mismo" ... ¿te importa elaborar? – Gregor

+0

Una parte de Software Configuration Management es, por ejemplo, el seguimiento de defectos. Una herramienta VCS no hace eso. – FelipeC

13

me gusta pensar en ello de esta manera:

Control de Revisiones es lo que do.

Source Control Es por lo que los uso.

:-)

4

La terminología utilizada no es muy precisa. Hay un artículo que describe las cinco dimensiones relevantes. Las herramientas de administración de datos para el desarrollo de software no tienden a admitir más de tres de manera consistente al mismo tiempo. Si quieres apoyar a los cinco que hay que describir un proces de desarrollo:

  • Versión (semántica: modificación)
  • Ver (semántica: equivalencia, derivación)
  • jerarquía (la semántica: consiste en)
  • Estado (semántica: la aprobación, accesibilidad)
  • Variant (semántica: las variaciones del producto)

Peter van den Hamer y Kees Lepo eter (1996) Gestión de los datos de diseño: las cinco dimensiones de los marcos CAD, la gestión de la configuración y la gestión de datos del producto, procedimientos del IEEE, vol. 84, n.º 1, enero de 1996

1

MIL-STD 973 Describe la gestión de la configuración.

Software Configuration Management se hace exactamente igual.

Consulte el CMMI para obtener una buena explicación de SCM/CM.

Los sistemas de los que usted habla son sistemas de control de versiones. Ellos versionan cosas.

Old SCCS era un sistema de control de código fuente.

Los sistemas de control de código fuente mantienen el historial de revisión.

Digamos que cambiar un archivo de revisión

1.1, 1.2, 1.3.

En 1.3 lanzamos "Edición Impresionante" de nuestro producto.

1.3 es una revisión AwesomeEdition es una versión.

En sistemas como CVS, las revisiones ocurren como cambios de numeración, y las marcas marcan las versiones. La numeración de revisión de repositorio de tipo SVN confunde a los clientes del gobierno que esperan el tipo de comportamiento MIL-STD .

Lo bueno de los estándares en la gestión del cambio es que hay muchos para elegir.

0

Entonces, ¿qué estás buscando exactamente ahora?

No creo que haya un término correcto. Ambos términos, así como algunos otros ya mencionados en otras respuestas se utilizan básicamente para lo mismo.

Las personas con las que está hablando lo conectarán a un significado ligeramente diferente incluso cuando usen la misma palabra para el mismo, y pueden significar exactamente lo mismo, incluso cuando se usa otra palabra.

Por otra parte, el vocabulario utilizado alrededor de estas cosas también puede ser diferente (o adjuntar a diferentes significados) en círculos alrededor de diferentes implementaciones de software de este concepto.

Al escribir esto, me viene a la mente que este es un fenómeno muy natural - en otras áreas también tienes varias palabras que significan básicamente el mismo significado - mientras que algunos argumentarían que hay diferencias realmente leves, otros dirían estas diferencias realmente no existen o no vale la pena pensar en ellas. Y nunca está garantizado que cuando dos personas usan exactamente la misma palabra, realmente quieren decir exactamente lo mismo.

11

Hay tres sinónimos que describen casi la misma cosa:

  1. control de revisión. Trata con revisiones (revisiones de documentos/artefactos y versiones posteriores de documentos/artefactos) o números (como una abstracción de revisión concepto).
  2. Control de fuente. Ofertas con texto (fuente) archivos, no binario. Esta diferencia juega un papel importante siempre y cuando sea mucho más fácil realizar una comparación y obtener una diferencia entre los archivos de texto. Existe toda una gama de herramientas básicas relacionadas con el control de fuente: diff, diff3, patch, etc. Este conjunto de herramientas se puede ampliar para formar una solución de control de fuente. Ejemplo de tal solución es RCS.
  3. Gestión de código fuente. Se ocupa de operaciones más complejas sobre el código fuente: lo almacena en un repository con la posibilidad de crear branches por separado. También se supone que las ramas pueden ser merged. Otra parte de la administración del código fuente es tagging. Un problema con la administración de código fuente es que tiene la abreviatura SCM. Esta abreviatura se utiliza para describir un conjunto más amplio de actividades: Software Configuration Management.Hay mucha confusión porque fuente de gestión de código es un subconjunto de la gestión de configuración de software que también se ocupa de actividades tales como de gestión de construcciones, gestión de la implementación, integración continua, gestión dependencias, gestión de la liberación, etc.
  4. Versión de control. Se utiliza como sustitución para un término como gestión de código fuente para evitar ambigüedades. Incorpora ambos conceptos de control de revisión y control de fuente, lo que hace que describa casi el mismo concepto. Actualmente, ambos términos revisión de control de, control fuente están sustituidos con control de versiones como más apropiado teniendo en cuenta la amplia gama de herramientas (CVS, SVN, GIT, mercuriales, ClearCase, por fuerza, VSS, etc) que resuelven Ambas tareas de control de revisión y control de fuente simultáneamente.

dibujo para ilustrar más claramente la distinción entre todos estos conceptos:

enter image description here

0

añadí un comentario, pero creo que se puede calificar para una respuesta así. Tengo un punto de vista diferente y algunos de los otros comentarios ya expresados.

En general, SCM (Software Configuration Management) o (Source Code Management - término derivado) es fácil de entender, ya que se utiliza como un término general que incluye tanto el control de revisión como otras técnicas como la gestión de línea base. Ver http://en.wikipedia.org/wiki/Software_configuration_management. En general, las herramientas modernas de SCM que van desde CVS hasta Git incluyen estas dos técnicas y muchas más funciones útiles: control de permisos, gestión de derechos, auditoría de seguridad, personalización del flujo de SCM (ClearCase), integración con el sistema de compilación y seguimiento de problemas software, etc. Creo que la lista está abierta porque todo lo relacionado con el cambio y la administración del software puede ingresar aquí.

Por lo tanto, la confusión principal proviene de la comprensión de la diferencia entre el control de revisión, el control de versiones y posiblemente el control de fuente. Antes que nada, todos los términos que incluyen "fuente" son todos términos derivados, con eso me refiero a que a algunas personas les molestan todos estos términos genéricos (administración de configuración, ¿qué es eso?) E insisten en que trabajan con el código fuente en particular y no no me importan otros casos de uso; cual es el punto justo

Respecto al control de revisión frente al control de versión Creo que el término correcto (en el contexto de herramientas como SVN, Git) es el control de revisión. En mi opinión, con el término Control de revisión, el énfasis está en administrar el cambio (además de administrar las versiones) de (no solo) los archivos de código fuente, mientras que con Control de versiones, el énfasis recae en administrar solo las versiones de los archivos.

En teoría, alguien podría escribir una pieza de software que permita rastrear y gestionar archivos binarios sin soporte binario de diferencias y fusiones, y llamaría a este Sistema de control de versiones. Sin embargo, en el caso de herramientas como SVN, Git permite además gestionar los cambios en los archivos: diffing, merging y en el caso de Git el famoso rebasing.

Por lo tanto, en conclusión, el Control de revisión incluye el Control de versiones y es más apropiado para nombrar herramientas como CVS, SVN, Git; mientras que Source Control es un término derivado y debe evitarse si se quiere nombrar un aspecto SCM específico.

SCM > Revision Control > Version Control 
Cuestiones relacionadas