2009-05-18 17 views

Respuesta

7

Diferentes VCS utilizan diferentes enfoques. CVS, por ejemplo, creará un archivo en el servidor para cada archivo que usted confíe. Esto es esencialmente un archivo en formato RCS; CVS es solo una envoltura alrededor de RCS que ejecuta los comandos de RCS sobre muchos archivos en un subárbol de directorio (RCS solo puede trabajar en archivos individuales).

El archivo RCS contiene una lista de cambios (número de versión, mensaje de verificación y cuánto se modificó). Luego viene una copia de la versión HEAD actual. El resto de los archivos son los diffs entre las versiones (long explanation).

De esta manera, CVS puede devolver rápidamente la versión HEAD (que se solicita con más frecuencia) y puede calcular las otras versiones.

CVS no realiza ninguna validación; si uno de sus archivos se daña, necesita una copia de seguridad. Como CVS se basa en RCS, no puede versionar directorios ni puede rastrear nombres. CVS y RCS usan el comando estándar diff(1) para crear los diffs.

Subversion (SVN) funciona de manera similar pero agrega control de versiones de directorios y cambia el nombre. Además, SVN usa un mejor algoritmo de diferencias (xdelta) que proporciona un repositorio más pequeño.

Para una explicación de cómo funciona Git, vea here.

0

Darcs es muy diferente y en mi humilde opinión más intuitiva que otros SCM incluso distribuidos. Hay una excelente guía para principiantes sobre cómo funciona: Understanding Darcs.

Cuestiones relacionadas