리비전 관리 시스템

Revision Control System
리비전 관리 시스템
원저작자월터 F.티치
개발자GNU 프로젝트
초기 릴리즈1982년; 40년 전 (2012년)
안정된 릴리스
5.10.1[1] / 2022년 2월 2일; 6개월 전 (2022년 2월 2일)
저장소
기입처C
운영 체제Unix[2] 계열, V
유형버전 관리
면허증.GPL-3.0 이후[a][3]
웹 사이트www.gnu.org/software/rcs/

리비전 제어 시스템(RCS)은 버전 제어 시스템(VCS)의 조기 구현입니다.여러 사용자가 프로그램 코드 또는 문서를 개발하고 유지 관리할 수 있는 UNIX 명령어 세트입니다.RCS를 사용하면 사용자는 문서의 자체 수정사항, 변경사항 커밋 및 병합을 수행할 수 있습니다.RCS는 원래 프로그램용으로 개발되었지만 자주 [4]수정되는 텍스트 문서나 구성 파일에도 유용합니다.

역사

발전

RCS는 Walter[4] F에 의해 1982년에 처음 출시되었습니다. 퍼듀 대학티치.1972년 초기 유닉스 [5]개발자들에 의해 개발된 거의 최초의 버전 제어 소프트웨어 도구였던 당시 인기 있었던 소스 코드 제어 시스템(SCCS)의 대체 도구였다.RCS는 현재 GNU 프로젝트[6]의해 유지되고 있습니다.

RCS의 혁신은 역델타의 채택입니다.SCCS가 인터리브된 델타를 사용하는 것과 같은 파일에 모든 리비전을 저장하는 것이 아니라 RCS는 파일의 이전 버전으로 돌아가기 위한 일련의 편집 명령을 저장합니다.티치는 최근 개정판이 더 [4]자주 사용되기 때문에 대부분의 경우 더 빠르다고 주장한다.

법률 및 라이선스

처음에 (4.3에서 배포된 버전3까지)BSD)[7]의 라이선스는 Walter Tichy의 서면 허가 없이 재배포를 금지했습니다.

저작권(C) 1982년 월터 F.Tichy [...] 모든 권리 보유.본 소프트웨어의 어떤 부분도 저작자의 사전 서면 허가 없이는 어떠한 형태로든 또는 어떠한 방법으로도 판매 또는 배포할 수 없습니다.

READ_ME 파일에는 4.3 등 배포를 더욱 제한한 RCS 버전이 포함되어 있습니다.BSD-Reno.[8]

1989년 RCS 라이선스는 소스 [9]코드의 코멘트에서 알 수 있듯이 현재의 BSD 라이선스와 유사한 것으로 변경되었습니다.

소스 및 바이너리 형식의 재배포 및 사용은 상기 저작권 고지 및 본 단락이 모든 양식에서 복제되고 이러한 배포 및 사용과 관련된 문서, 광고 자료 및 기타 자료가 Walter Tichy에 의해 개발되었음을 인정하는 경우에 한해 허용됩니다.

1990년 7월 26일 출시된 RCS 4.3은 GPL[10][full citation needed]조건에 따라 "자유 소프트웨어 재단의 라이센스 에" 배포되었습니다.

행동

동작 모드

RCS는 단일 파일에서만 작동합니다.전체 프로젝트와 함께 작동하는 방법이 없으므로 여러 파일에 영향을 미치는 원자적 커밋을 지원하지 않습니다.개별 파일에 대한 분기를 제공하지만 버전 구문은 번거롭습니다.브랜치를 사용하는 대신 많은 팀이 내장된 잠금 메커니즘을 사용하여 단일 헤드 [4]브랜치로 작업합니다.

사용.

RCS는, 「리비전 그룹」또는 「리비전 그룹」을 사용해 체크인 한 파일 세트를 중심으로 전개됩니다.co(표준) 및ci(체크인) 명령어.기본적으로 체크인된 파일은 삭제되고 ",v" 파일로 대체됩니다(체크인 시 foo.rb가 foo.rb,v가 됩니다).이 파일은 리비전 그룹에 액세스할 수 있는 모든 사용자가 체크아웃할 수 있습니다.RCS 파일(확장자가 ",v"인 파일)은 첫 번째 줄에 추가 메타데이터가 있는 메인 파일을 반영합니다.체크인 후 [4]RCS는 사용자가 필요에 따라 파일을 이전 형식으로 되돌릴 수 있도록 리비전을 트리 구조로 저장합니다.

이점

  • 심플한 구조와 사용하기 쉬운 기능
  • 리비전 저장은 중앙 저장소에 의존하지 않습니다.

단점들

  • 사용자가 버전 [11]이력을 편집할 수 있다는 점에서 보안은 거의 없습니다.
  • 한 번에 [12]한 명의 사용자만 파일에 대해 작업할 수 있습니다.

관련 도구 및 후계 도구

제1세대

1984년에 [13]기술된 SCCS(1973년에 처음 출시됨)와 DSEE(Atria ClearCase의 전신으로 간주됨)는 다른 두 가지 중요한 VCS 소프트웨어 도구입니다.이러한 도구는 일반적으로 VCS의 1세대로 자동화된 소프트웨어 [according to whom?]도구로 간주됩니다.

제2세대

첫 번째 세대 VCS 이후 로컬 중앙 집중식 저장소를 제공하는 CVS 및 하위 버전과 같은 도구를 두 번째 세대 VCS로 간주할 수 있습니다.구체적으로는 CVS(Concurrent Versions System)가 RCS 구조 위에 개발되어 대규모 그룹의 툴의 scalability가 향상되었습니다.나중에 PRCS는 [14]RCS와 유사한 파일을 사용하지만 대신 Xdelta를 사용하여 델타 압축을 개선합니다.

2006년 무렵 Subversion은 이 세대에서 가장 인기 있고 널리 사용되는 VCS 툴로 간주되어 CVS의 [according to whom?]중요한 약점을 보완했습니다.나중에 SVK는 원격 기여 기능을 목표로 개발되었지만, 여전히 설계의 기초는 이전 [5]모델과 유사했습니다.

제3세대

인터넷 접속이 향상되고 지리적으로 분산된 소프트웨어 개발이 보편화됨에 따라 공유 중앙 프로젝트 저장소에 의존하지 않는 툴이 등장했습니다.이를 통해 사용자는 프로젝트의 개별 리포지토리(또는 포크)를 유지하고 변경 집합을 통해 수정사항을 전달할 수 있습니다.BitKeeper, Git, Monotone, darcs, Mercurialbzr은 3세대 버전 관리 [5]시스템의 예입니다.

메모들

  1. ^ 2010-06-24 이후 GPL-3.0 이후

레퍼런스

  1. ^ Thien-Thi Nguyen (2 February 2022). "GNU RCS 5.10.1 available". Retrieved 3 February 2022.
  2. ^ V-System 6.0 참조 설명서
  3. ^ "Update license to GPLv3+". 24 June 2010.
  4. ^ a b c d e Tichy, Walter (1982). "Design, implementation, and evaluation of a Revision Control System". ICSE '82 Proceedings of the 6th International Conference on Software Engineering: 58–67. Retrieved 12 June 2012.
  5. ^ a b c 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". 27 February 1989.
  9. ^ "CSRG/cd2/4.3reno/usr/src/contrib/rcs/src/rcs.c". 15 August 1989.
  10. ^ RCS 4.3 README 파일
  11. ^ a b c "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.
  12. ^ Steinberg, Frank. "Revision Control Systems (RCS, CVS, Subversion, Git)". Technical University of Braunschweig. Retrieved 20 February 2017.
  13. ^ Leblang, David B.; Chase, Robert P. (May 1984). "Computer-Aided Software Engineering in a distributed workstation environment". ACM SIGPLAN Notices. 19 (5): 104–112. doi:10.1145/390011.808255.
  14. ^ MacDonald, Joshua P (9 May 2004). "PRCS, the Project Revision Control System". Retrieved 29 October 2021.

메모들

추가 정보

  • Don Bolinger, Tan Bronson, RCSSCCS 적용 - 소스 제어에서 프로젝트 제어로오라일리, 1995년
  • 월터 F.Tichy, RCS - 버전 관리 위한 시스템, 1985
  • Paul Hainlein, RCS HOWTO,

외부 링크