stringtranslate.com

Sistema de control de revisiones

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]

Historia

Desarrollo

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]

Aspectos legales y licencias

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]

Comportamiento

Modo de funcionamiento

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]

Uso

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]

Ventajas

Desventajas

Notas

  1. ^ GPL-3.0 o posterior desde el 24 de junio de 2010.

Véase también

Referencias

  1. ^ Thien-Thi Nguyen (2 de febrero de 2022). «GNU RCS 5.10.1 disponible» . Consultado el 3 de febrero de 2022 .
  2. ^ Manual de referencia del sistema V 6.0
  3. ^ "Actualizar licencia a GPLv3+". 24 de junio de 2010.
  4. ^ abcde Tichy, Walter (1982). "Diseño, implementación y evaluación de un sistema de control de revisiones". Actas de la 6.ª Conferencia Internacional sobre Ingeniería de Software ICSE '82 : 58–67 . Consultado el 12 de junio de 2012 .
  5. ^ Raymond, Eric. "Understanding Version-Control Systems (DRAFT)" (Comprensión de los sistemas de control de versiones [BORRADOR]). www.catb.org . Consultado el 13 de febrero de 2017 .
  6. ^ "RCS". Proyecto GNU . Free Software Foundation. 22 de enero de 2015 . Consultado el 27 de junio de 2015 .
  7. ^ "4.3BSD - /usr/src/new/rcs/src/rcsdiff.c". Documentación de Walter's Retro Computing Corner. 19 de mayo de 1986. Consultado el 15 de noviembre de 2014 .
  8. ^ "CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/READ_ME". 27 de febrero de 1989.
  9. ^ "CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/rcs.c". 15 de agosto de 1989.
  10. ^ Archivo README RCS 4.3.
  11. ^ "rcs(1) - Páginas del manual de OpenBSD". man.openbsd.org . Consultado el 5 de septiembre de 2024 .
  12. ^ abc «Conceptos de control de revisiones: Sistema de control de revisiones (RCS), Sistema de versiones concurrentes (CVS) y Subversion». IT PASSION - «Blog de profesionales de TI» . 10 de diciembre de 2008. Consultado el 20 de febrero de 2017 .
  13. ^ Steinberg, Frank. «Sistemas de control de revisiones (RCS, CVS, Subversion, Git)». Universidad Técnica de Braunschweig . Consultado el 20 de febrero de 2017 .

Notas

Lectura adicional

Enlaces externos