0

Mercurial リポジトリを想定しますfoo。さらに、makeそこから実行されるジョブは、リポジトリ内で何かが変更されるたびに、リビジョンから までcrontabのすべてのバンドルを更新することになっていると仮定します。リポジトリの作業ディレクトリの一部でもあると仮定しましょう。0tipGNUmakefilefoo

foo/.hg実行するかどうかを決定するために依存関係として依存できるファイルはどれhg bundleですか?

4

2 に答える 2

3

私はあなたが見るよりも悪いことをすることができると思います.hg/store/00changelog.i。これには、リポジトリ内のチェンジセットメタデータのインデックスが含まれます(非常に小さいリポジトリの場合、対応するデータも含まれます)。これは、作業ディレクトリの内容については何も言っていないことに注意してください。ただし、完全なバンドルが必要な場合は、それは問題ではありません。

.hg/requiresただし、これはファイルの内容によって異なります。特に、リポジトリには少なくともstoreフラグが必要です。

于 2013-03-19T13:22:38.473 に答える
1

内部のファイルを直接操作することは正しいことで.hgないと思います(tm)

「...リポジトリ内で何かが変更されるたびに」新しいチェンジセットがある場合、または古いチェンジセットIDが変更される可能性があります(履歴が書き換えられますか?)。この場合、ネイティブの Mercurial コマンドの出力が変化し、以前の実行結果と現在の実行結果を比較して選択できます。

hg id -iたとえば、commit-hook では、リポジトリの作業ディレクトリ内の (無視された) ファイル、または後で crontab ジョブをチェックする一部のファイルに書き込むことができます。

于 2013-03-19T13:57:26.543 に答える