6

詳細なChangeLogエントリは、通常、誰が、いつ、どの機能が変更されたか、およびこの変更が行われた理由を示します。

そしてこれは、ソースコードツリー内のすべての個別の関数に対してです!

私が理解しているように、ChangeLogは、適切なVCSがなかった過去のものです。

したがって、従来のChangeLogは、次の場所からすべてを取得できるため、まったく必要ありません。

  $svnlog。
  $hglog。
  $gitログ。
  $bzrログ。

製品バージョン間の短い要約とユーザーのみを対象としたChangeLogの可能なニーズは1つだけです(たとえば、新しいバージョンが来ると、開発者はChangeLogが注目すべき/目に見える変更を説明するように準備します)。

または私は間違っていますか?

http://autotoolset.sourceforge.net/tutorial.html#SEC45から:

ChangeLogファイル:このファイルを使用して、自分に加えたすべての変更を記録します
ソースコード。ソースコードが多くのサブディレクトリに分散している場合、
サブディレクトリの内容を考えるのに十分な理由があります
別のサブパッケージとして、別の「ChangeLog」を維持してください
各サブディレクトリのファイル。

古風で独断的に見えます。autotoolsおよび「GNUコーディング標準」に必要なChangeLog。

GNU Emacsソースには多くの巨大なChangeLogが含まれています(多くは多くの部分で分割されています):

  $ find emacs-22.3 -name "ChangeLog *" | xargs cat | wc -c
13605747

Emacs bzrリポジトリから約1分間要約ログを取得し、それを検索する代わりに、個別のChangeLogを検索し、などの最新のツールを使用して、Emacs VCまたはTortoise SVN/HGすぐに変更の差分を取得できます。

更新ChengeLogを使用する理由は、RCS/CVSサービス制御システムの愚かさから来ています。http://www.red-bean.com/cvs2cl/changelogs.htmlセクション「ChangeLogsとCVSログ」を確認してください。最新のVCSはすべて、CVSのこの記事で批判することを提供/許可しています。

また、VCS履歴をChangeLogスタイルに変換する多くのスクリプトがあります。したがって、すべてのChangeLogを拒否します。

バージョン間の機能/下位互換性などのユーザー指向の情報を提供する場合は、NEWSファイルを使用してください:http ://www.gnu.org/prep/standards/html_node/NEWS-File.html

4

4 に答える 4

6

分散型 VCS では、「Commit Early, Commit When」が標準になっています。このようなアプローチでは、実際の新機能やバグ修正よりも多くのコミットを行うことになります。変更ログは、アプリケーション全体への変更を要約することになっています。一方、VCS ログには、ソース コードの履歴、つまり機能が最終的にどのように実装されたかが表示されます。

于 2010-09-14T21:32:27.163 に答える
4

あなたが言うように、手動で維持される変更ログは、ユーザーに表示される変更の要約として、または多くの個別のコミットメッセージを見て判断するのが難しいかもしれない大規模な変更の概要として役立ちます。

于 2010-09-14T21:16:14.417 に答える
4

変更ログは、開発者ではなく、何が変更されたかについてより広い視野を得たいと考えている人に役立ちます。変更ログは詳細になりますが、私が作成したアプリケーションのユーザーが、git log何が変更されたかを把握するために出力を確認することは期待していません。

VCSからのログ出力は、よりきめ細かくなり(つまり、「修正されたタイプミス」というラベルの付いたコミットがある可能性があります。ユーザーは気にかける可能性がありますか?)、十分なコンテキストを提供しません。変更ログはそれらにそのコンテキストを提供します。

于 2010-09-14T21:17:41.307 に答える
2

あなたの理由(ユーザーのみなど)に加えて、開発を行う上で非常に役立つと思います。ソース管理にコミットする前にいくつかの変更を行い、作業中に変更ログに注釈を付けることがよくあります。

また、変更が加えられてから削除された場合、単一のファイルよりもソース管理のリビジョン ログから抽出するのが難しい場合があります (たとえば、行を削除するだけです)。余談ですが、私は変更ログをソース コードと一緒にソース管理下に置く傾向があります。

于 2010-09-14T21:20:21.663 に答える