複数行で構成される変更ログエントリのソースは何ですか?

複数行で構成される変更ログエントリのソースは何ですか?

ソフトウェアの歴史を探り、コードの適切な根拠を見つけることができることはすごい

私がこれを初めて見たのは、Linuxパッチ、つまり辞書ソース管理でした。明らかに、Gitはパッチの説明をサポートするために書かれています。しかし、Git以前は、SubversionやCVSなどのシステムが1行のメッセージを念頭に置いて書かれていました。

他の影響を追跡できますか?それとも、ほとんどのLinux開発から来ていますか?

ベストアンサー1

RCSはLinuxの前にリリースされ、複数行の変更コメントをサポートしています(私は1988年以来この機能を使用してきました)。 CVSはこれをRCSから継承します。 rcs2logは1992年から使用されており、複数行のコメントを含むRCSログをレンダリングするために使用されています。

RCSci次の行のみを含む行で終わるゼロ個以上の変更コメント行のプロンプト.(Eメールなど)。 2003年以来、RCSログを読み取り可能な変更ログとしてフォーマットするためにrcs2logを使用してきました。ded

偶然にも、SCCSは複数行のコメントもサポートしていますが、1986年初めに使用を開始したときに、この点でSCCSはユーザーフレンドリーではないことがわかりました。議論する)。

複数行変更コメントの1つの側面が見落とされているようです。入力する彼らと多分改訂するそれらを。 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

実装された内容を理解するには、以下をお読みください。ソースコード。以下は、約1ヶ月後のいくつかの変更です(この変更は、元のソリューションが満足できなかったことを示唆しています)。

+/*
+* ユーザーに一連の説明を求めるメッセージを表示して返します。
+*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はオリジナルであるかもしれません(古いツールの露出の影響を受けないという意味で)、そうでないかもしれません。

おすすめ記事