여러 줄로 구성된 변경 로그 항목의 출처는 무엇입니까?

여러 줄로 구성된 변경 로그 항목의 출처는 무엇입니까?

소프트웨어의 역사를 탐구하고 코드에 대한 적절한 근거를 찾을 수 있다는 것은엄청난.

제가 이것을 처음 본 것은 Linux 패치, 즉 사전 소스 제어에서였습니다. 분명히 Git은 패치 설명을 지원하기 위해 작성되었습니다. 그러나 Git 이전에는 Subversion이나 CVS와 같은 시스템이 한 줄 메시지를 염두에 두고 작성되었습니다.

다른 영향을 추적할 수 있습니까? 아니면 대부분 Linux 개발에서 비롯됩니까?

답변1

RCS는 Linux보다 먼저 출시되었으며 여러 줄 변경 주석을 지원합니다(저는 1988년부터 이 기능을 사용해 왔습니다). CVS는 이를 RCS로부터 상속받습니다. rcs2log는 1992년부터 사용되었으며 여러 줄 주석을 포함하여 RCS 로그를 렌더링하는 데 사용됩니다.

RCSci다음 줄만 포함하는 줄로 끝나는 0개 이상의 변경 주석 줄에 대한 프롬프트.(이메일과 같은). 2003년부터 나는 RCS 로그를 읽을 수 있는 변경 로그로 포맷하기 위해 rcs2log를 사용해 왔습니다.ded.

우연히도 SCCS는 여러 줄 주석도 지원하지만 1986년 초에 사용하기 시작했을 때 이 점에서 SCCS가 사용자 친화적이지 않다는 것을 알았습니다.논의하다).

여러 줄 변경 주석의 한 가지 측면이 간과된 것 같습니다.입력하다그들과 어쩌면개정하다그들을. CVS의 가장 오래된 버전(1992년 4월 1.3)에서는 이러한 목적으로 텍스트 편집기를 사용했다는 것을 알 수 있습니다. 이 기능은 CVS의 모든 후속 버전에 포함되었습니다. 소스를 찾아볼 수 있습니다.여기, 또는 확인해 보세요.읽기 전용복사. 이 저장소는 버전이 1.3과 1.4 사이였던 1994년 11월 말부터 있었던 것으로 보입니다(1.5는 1995년 7월에 출시됨). 1.3을 보려면 tarball을 얻어야 합니다.

BitKeeper의 변경 기록에 반영된 첫 번째 요청이 이 기능에 대한 것이었기 때문에 Linus는 이를 확실히 알고 있었습니다.

commit e1dc29195bd72a9a4c8f1e817e08b8c0358ee88b
Author: Larry McVoy <[email protected]>
Date:   Thu Jan 31 23:29:46 2002 -0800

    Add a bk comment interface so that Linus can edit the comments after
    the fact.

    bk: 3c5a43eabhI7oSce6C4ms5U-kIcEv

구현된 내용을 이해하려면 다음을 읽어보세요.소스 코드. 다음은 약 한 달 후의 몇 가지 변경 사항입니다(이 변경 내용은 원래 솔루션이 만족스럽지 않았음을 암시합니다).

+/*
+ * 사용자에게 일련의 설명을 묻는 메시지를 표시하고 반환합니다.
+ * 0을 사용하려면,
+ * -1은 오류 또는 중단을 나타냅니다.
+ */
+정수
+comments_prompt(문자 *파일)
+{
+ 문자 버퍼[10];
+ 외부 문자 *편집기;
+
+ (editor|| (editor= getenv("EDITOR"))) editor= "vi";
+ 동안 (1) {
+ printf("\n------------------------------- --- -----\N");
+ fflush(표준 출력);
+ if (cat(file)) return (-1);
+ printf("--------------------- --- -- -\N");
+ printf("다음 주석을 사용하세요: (e)dit, (a)bort, (u)se?");

그럼 다시 묻는 질문은기원. 기억해디지털 콘텐츠 관리 시스템(CVS 1.3 이전) 전체 화면(터미널) 모드에서 정보를 제공합니다. 1988년부터 1989년까지 사용했습니다. 그러나 Git의기원CVS 이후에는 CVS가 독창적일 수도 있고(이전 도구 노출에 영향을 받지 않는다는 의미에서) 그렇지 않을 수도 있습니다.

관련 정보