CVS, SVN, TFS 등 많은 버전 제어 시스템을 알고 있습니다.
나는 첫 번째 "개정 제어 / 버전 제어 시스템"을 검색했으며 다양한 상충되는 답변을 보았습니다.
소스 컨트롤은 언제 발명 되었습니까? 누가 발명 했습니까? 뭐라고 불 렸어?
CVS, SVN, TFS 등 많은 버전 제어 시스템을 알고 있습니다.
나는 첫 번째 "개정 제어 / 버전 제어 시스템"을 검색했으며 다양한 상충되는 답변을 보았습니다.
소스 컨트롤은 언제 발명 되었습니까? 누가 발명 했습니까? 뭐라고 불 렸어?
답변:
1981 년 저는 Austin TX의 Charter Information에서 여름 일을했습니다. 그들은 이전에 Woburn MA의 Commercial Information Corporation이었습니다. 그들은 Sigma 7로 필드 업그레이드 된 Xerox Sigma 6을 실행했습니다. 그들은 소스 코드 제어를 위해 SPUD (Source Program Update)라는 것을 사용했습니다. 테이프 기반이었습니다.
나는 정기적으로 "이백년의 SPUD 테이프"를 설치하고 해당 테이프의 코드 조각을 위해 모드 데크에서 작업했습니다. 이 테이프는 1976 년에 기록 되었기 때문에 "이백년의 SPUD 테이프"라고 불렀습니다. 더 오래된 테이프를 사용하여 SPUD가 1976 년보다 더 멀리 돌아갔다는 것을 나타냅니다.
UT Austin (1973-1981)에 재학하는 동안 CDC 6600 이상 메인 프레임에 대한 Control Data Corporation의 두 가지 소스 코드 제어 프로그램 인 MODIFY 및 UPDATE에 반대했습니다. 나는 그들이 언제 언제 나왔는지 모르지만, 6600 년 (메모리가 나에게 도움이된다면)이 1960 년대 후반에 나간 지 얼마 지나지 않아 나왔을 것입니다.
나는 IBM이 다른 사람보다 먼저 무언가를 가지고 있다고 의심하지만 IBM 메인 프레임 역사에 대해 전혀 알지 못하며 그것을 좋아합니다.
IEBUPDTE의 원래 IBM의 OS / 360 시스템에 대해 생성 프로그램은, 날짜는 10 년 이상 나이가 1962 년에 다시 SCCS . 그 목적은 일련의 변경 사항을 입력 소스 프로그램 세트에 적용하여 수정 된 소스 프로그램 세트를 작성하는 것입니다. 모든 소스 코드는 80 열 펀치 카드 의 "덱" 또는 이와 유사한 파일로 관리되었습니다. 이 소스 프로그램 데크에는 각 라인 또는 카드의 고정 열 세트에 "시퀀스 번호"가 있습니다 ( COBOL1-6 열에서 왼쪽에 위치하도록 지정하고, 다른 모든 항목은 73-80 열에서 오른쪽에 있다고 가정했습니다. 시퀀스 번호는 한 줄씩 증가해야했지만 대부분의 소스 코드는 10 초, 100 초 또는 1000 초 증가하여 나중에 삽입 할 수 있도록 두 줄 사이의 정수 공간에 여유를 두었습니다.
일반적인 IEBUPDTE 컨트롤 데크는 다음과 같습니다.
./ CHANGE NAME=PROG001
PROGRAM XYZZY 00005000
./ DELETE SEQ1=9000,SEQ2=15000
DO I=1,10 00026000
./ CHANGE NAME=PROG002
J=256 00092000
./ ENDUP
두 개의 소스 파일 "PROG001"및 "PROG002"를 수정하여 행 번호 "5000"(대개 "수천 단위"관행에 따른 다섯 번째 행)을 바꾸고 PROG001에서 9000-15000 행을 삭제하고 PROG002에서 92000 행을 바꿉니다. .
가장 간단한 수준에서는 소스 컨트롤의 정의입니다. 유닉스 사람들은 이것을 패치 가 하는 것처럼 인식 하지만 암시 적 대신 명시 적 번호 매기기를 사용합니다. 제어 데크 세트를 입력 프로그램에 순서대로 적용하고 해당 세트를 응집성 디스크 파일 ( 파티션 된 데이터 세트 ) 로 저장하는 것이 일반적이었습니다 . 이는 CVS 및 RCS 가 ,v
파일에 저장 하는 변경 히스토리 와 강력하게 유사 합니다. IBM은 종종 Subversion 및 Git 사용자에게 친숙한 단일 관련 변경 세트의 일부로 파일을 수정 한 대형 제어 데크의 형태로 프로그램 임시 수정 (PTF) 이라는 코드 패치를 제공합니다 .
IEBUPDTE
비슷합니다 patch
.