El sistema de control de revisiones ( RCS ) es una implementación temprana de un sistema de control de versiones (VCS). Es un conjunto de comandos UNIX que permiten a múltiples usuarios desarrollar y mantener código de programa o documentos. Con RCS, los usuarios pueden hacer sus propias revisiones de un documento, confirmar cambios y fusionarlos. RCS se desarrolló originalmente para programas, pero también es útil para documentos de texto o archivos de configuración que se revisan con frecuencia. [4]
RCS fue lanzado por primera vez en 1982 [4] por Walter F. Tichy en la Universidad de Purdue . Era una herramienta alternativa al entonces popular Sistema de Control de Código Fuente (SCCS), que fue casi la primera herramienta de software de control de versiones (desarrollada en 1972 por los primeros desarrolladores de Unix). [5] Actualmente, RCS es mantenido por el Proyecto GNU . [6]
Una innovación en RCS es la adopción de deltas inversos . En lugar de almacenar cada revisión en un archivo como lo hace SCCS con deltas intercalados , RCS almacena un conjunto de instrucciones de edición para volver a una versión anterior del archivo. Tichy afirma que es más rápido en la mayoría de los casos porque las revisiones recientes se utilizan con más frecuencia. [4]
Inicialmente (hasta la versión 3, que se distribuyó en 4.3BSD), su licencia prohibía la redistribución sin el permiso escrito de Walter Tichy: [7]
Copyright (C) 1982 de Walter F. Tichy [...] Todos los derechos reservados. Ninguna parte de este software puede venderse o distribuirse en ninguna forma ni por ningún medio sin el permiso previo por escrito del autor.
Un archivo READ_ME acompañaba algunas versiones de RCS que restringían aún más la distribución, por ejemplo, en 4.3BSD-Reno . [8]
Hacia 1989, la licencia RCS se modificó a algo similar a las licencias BSD contemporáneas , como se puede ver en los comentarios en el código fuente. [9]
Se permite la redistribución y el uso en formato fuente y binario siempre que el aviso de copyright anterior y este párrafo se dupliquen en todos esos formatos y que toda la documentación, los materiales publicitarios y otros materiales relacionados con dicha distribución y uso reconozcan que el software fue desarrollado por Walter Tichy.
RCS 4.3, publicado el 26 de julio de 1990, se distribuyó "bajo licencia de la Free Software Foundation ", según los términos de la GPL . [10] [ cita completa necesaria ]
OpenBSD proporciona una implementación diferente llamada OpenRCS , que tiene licencia BSD. [11]
RCS opera solo con archivos individuales. No tiene forma de trabajar con un proyecto completo, por lo que no admite confirmaciones atómicas que afecten a varios archivos. Aunque proporciona ramificaciones para archivos individuales, la sintaxis de la versión es complicada. En lugar de usar ramas, muchos equipos simplemente usan el mecanismo de bloqueo integrado y trabajan en una sola rama principal . [4]
RCS se basa en el uso de "grupos de revisión" o conjuntos de archivos que se han registrado mediante los comandos co
(checkout) y ci
(check-in). De forma predeterminada, un archivo registrado se elimina y se reemplaza por un archivo ",v" (por lo que foo.rb, cuando se registra, se convierte en foo.rb,v) que luego puede ser registrado por cualquier persona con acceso al grupo de revisión. Los archivos RCS (de nuevo, archivos con la extensión ",v") reflejan el archivo principal con metadatos adicionales en sus primeras líneas. Una vez registrados, RCS almacena las revisiones en una estructura de árbol que se puede seguir para que un usuario pueda revertir un archivo a una forma anterior si es necesario. [4]
Notas