Articulo de referencia

Revision Control System

[https://bitsavers.org/pdf/stanford/v-system/V_6.0refMan_Jun86.pdf V-System 6.0 Reference Manual] "},"platform":{"wt":""},"genre":{"wt":"[[Version control]]"},"license":{"wt":"[...

Revision Control System (RCS) is an early implementation of a version control system (VCS). It is a set of UNIX commands that allow multiple users to develop and maintain program code or documents. With RCS, users can make their own revisions of a document, commit changes, and merge them. RCS was originally developed for programs but is also useful for text documents or configuration files that are frequently revised.[4]

History

Development

RCS was first released in 1982[4] by Walter F. Tichy at Purdue University. It was an alternative tool to the then-popular Source Code Control System (SCCS) which was nearly the first version control software tool (developed in 1972 by early Unix developers).[5] RCS is currently maintained by the GNU Project.[6]

An innovation in RCS is the adoption of reverse deltas. Instead of storing every revision in a file like SCCS does with interleaved deltas, RCS stores a set of edit instructions to go back to an earlier version of the file. Tichy claims that it is faster for most cases because the recent revisions are used more often.[4]

Initially (through version 3, which was distributed in 4.3BSD), its license prohibited redistribution without written permission from Walter Tichy:[7]

Copyright (C) 1982 by Walter F. Tichy [...] All rights reserved. No part of this software may be sold or distributed in any form or by any means without the prior written permission of the author.

A READ_ME file accompanied some versions of RCS which further restricted distribution, e.g., in 4.3BSD-Reno.[8]

Ca. 1989, the RCS license was altered to something similar to the contemporary BSD licenses, as seen by comments in the source code.[9]

Redistribution and use in source and binary forms are permitted provided that the above copyright notice and this paragraph are duplicated in all such forms and that any documentation, advertising materials, and other materials related to such distribution and use acknowledge that the software was developed by Walter Tichy.

RCS 4.3, released 26 July 1990, was distributed "under license by the Free Software Foundation", under the terms of the GPL.[10]

OpenBSD proporciona una implementación diferente llamada OpenRCS , que tiene licencia BSD. [ 11 ]

Comportamiento

Modo de funcionamiento

RCS funciona bien con archivos independientes y admite proyectos de varios archivos, pero, según los estándares modernos, esta compatibilidad es limitada: RCS puede ensamblar las versiones de varios archivos en una sola versión (mediante "nombres simbólicos") [ 12 ] , pero carece de compatibilidad con confirmaciones atómicas en todos esos archivos. Aunque proporciona ramificación, la sintaxis de versiones es engorrosa. En lugar de usar ramas, muchos equipos simplemente utilizan el mecanismo de bloqueo integrado y trabajan en una única 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). Por defecto, un archivo registrado se elimina y se reemplaza por un archivo ",v" (por lo que foo.rb, al registrarse, se convierte en foo.rb,v), que luego puede ser extraído 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 registrado, 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

  • Estructura simple y fácil de usar [ 13 ]
  • El guardado de revisiones no depende de un repositorio central [ 13 ].

Desventajas

  • Hay poca seguridad, en el sentido de que el historial de versiones puede ser editado por los usuarios. [ 13 ]
  • Solo un usuario puede trabajar en un archivo a la vez. [ 14 ]

Notas

  1. GPL-3.0 o posterior desde el 24/06/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 de V-System 6.0
  3. "Actualizar licencia a GPLv3+" . 24 de junio de 2010.
  4. 1 2 3 4 5 Tichy, Walter (1982). " Diseño, implementación y evaluación de un sistema de control de revisiones" . Actas de ICSE '82 de la 6.ª Conferencia Internacional sobre Ingeniería de Software : 58–67 . Recuperado el 12 de junio de 2012 .
  5. Raymond, Eric. "Understanding Version-Control Systems (DRAFT)". www.catb.org. Retrieved 13 February 2017.
  6. "RCS". GNU Project. Free Software Foundation. 22 January 2015. Retrieved 27 June 2015.
  7. "4.3BSD - /usr/src/new/rcs/src/rcsdiff.c". Walter's Retro Computing Corner Documentation. 19 May 1986. Retrieved 15 November 2014.
  8. "CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/READ_ME". FTP server (FTP). 27 February 1989.(To view documents see Help:FTP)
  9. "CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/rcs.c". FTP server (FTP). 15 August 1989.(To view documents see Help:FTP)
  10. RCS 4.3 README file.
  11. "rcs(1) - OpenBSD manual pages". man.openbsd.org. Retrieved 5 September 2024.
  12. F. Tichy, Walter: "RCS: A System for Version Control", page 15. Department of Computer Science Technical Reports, Purdue University. Paper 394. https://docs.lib.purdue.edu/cstech/394
  13. 123"Revision control concepts – Revision Control System (RCS), Concurrent Versions System (CVS) and Subversion". IT PASSION - "IT professional Blog". 10 December 2008. Retrieved 20 February 2017.
  14. Steinberg, Frank. "Revision Control Systems (RCS, CVS, Subversion, Git)". Technical University of Braunschweig. Retrieved 20 February 2017.

Notes

  • Walter F. Tichy: RCS--A System for Version Control. In: Software: Practice and Experience. July 1985. Volume 15. Number 7. Pages 637–654. References to the paper at CiteSeeralternate link to paper

Further reading

  • Don Bolinger, Tan Bronson, Applying RCS and SCCS - From Source Control to Project Control. O'Reilly, 1995.
  • Walter F. Tichy, RCS—A System for Version ControlArchived 18 February 2018 at the Wayback Machine, 1985
  • Paul Heinlein, RCS HOWTO, 2004
  • Original RCS at Purdue
  • rcs(1): RCS file management program  OpenBSD General Commands Manual