2010-12-01 10 views
1

私はリポジトリに新しいバージョンをコミットしたいと思いますが、コミットする必要があるファイル(またはファイルのどこか)に新しいコミットのチェックサムを自動的に挿入したいと思います。 これをfossilで実行する方法はありますか?また、チェックサムを挿入するためにファイルを自動的に編集できるように、すべてのコミットの前に実行可能ファイルまたはスクリプトを実行するようにfossilに指示することは可能でしょうか?Fossilは即時コミットのSHA1チェックサムをファイルに挿入できますか?

おかげ

+1

+1 。この質問は有効な質問です。たとえ答えが本当に「できません」でも。 IMHO、それは下落されるべきではありません。 – RBerteig

答えて

2

ことはできませんそのチェックサムだろう変更チェックサムを挿入するファイルを編集して以来。

すべてのチェックアウトのルートに置かれたマニフェスト(拡張子なし)ファイルには、それが受け入れ可能な解析があれば、何らかのチェックサムが含まれていると思います。

3

ファイルmanifest.uuidにはコミットのチェックサムが含まれ、ファイルmanifestには、そのコミットに含まれるファイルのリストと個々のチェックサムが含まれています。 (manifest.uuidはマニフェストのSHA1に過ぎません)。両方のファイルはプレーンテキストであり、解析が容易です。

化石のビルド自体が1つの用途を示しています。ビルド時、manifest.uuidファイルはawkで変換され、"[1234567890]"という形式のC文字列リテラルに変換され、すべてのHTMLページフッターに表示されるリビジョン名のテキストを形成するために使用されます。

最近のバージョンのfossilでは、「マニフェスト」設定がfossil setting manifest 1のようなコマンドで有効にされていない限り、それらのファイルを残していないことに注意してください。

また、現在のチェックアウトのIDの値を含むfossil infoまたはfossil statusの出力を解析することもできます。

単一のファイルの場合、fossil finfoはファイルの完全な変更履歴を報告します。これには、各時点でのそのファイルの成果物IDが含まれます。そのファイルのアーティファクトIDについて解析することができます。さらに、fossil sha1sumは、任意のファイル(またはファイルまたは標準入力)のSHA1合計を報告します。ファイルのSHA1の合計は、のアーティファクトIDです。

全体チェックインのIDは、SHA1のファイルで確認それぞれのを含み、そのマニフェストのちょうどSHA1であるので、チェックインファイル内のチェックインのIDを含むように効果的に不可能である。

関連する問題