6

特定のコミットがいつ離れたリポジトリからプルされ、ファイルが Mercurial で更新されたかを知ることは可能ですか?

より正確には、私はhg pull -u数日前に作成しましたが、このプルが最後のコミットのみをダウンロードしたのか、それともまだプルされていないコミットがいくつかあったのか、最後のプルもそれらを取得しているのかを知りたいです。

hg logコミットの日付を示しているようですが、更新については何もありません。この情報はどこにありますか?

4

2 に答える 2

8

この情報は Mercurial によって記録されません。Mercurial リポジトリは単なる変更セットのコンテナであり、Mercurial は変更セットがどのように (またはいつ) リポジトリに入ったのかを保存しません。

このためのフックをセットアップできますが、スクリプトを自分で作成する必要があります。非常に初歩的なシステムは

[hooks]
pre-pull = (date; hg root; hg tip) >> ~/.pull-log
post-pull = hg tip >> ~/.pull-log

これにより、現在の日付、現在のリポジトリ、現在のヒントが~/.pull-logevery の直前に記録されhg pullます。引っ張った後、新しいヒントが記録されます。ログ ファイルを解析して、各プルの実行内容に関する情報を抽出するスクリプトを作成できます。

hg logコミットの日付を示しているようですが、更新については何もありません

はい、hg log保存された履歴 (変更セット) のみに関係し、更新などの作業コピー操作は記録された履歴の一部ではありません。

最後に、誰かが「プルログ」を要求するのを見たのはこれが初めてです。ただし、その反対は非常に一般的です。サーバー上に「プッシュログ」を維持して、誰がいつ何をプッシュしたかを確認するためのスクリプトがあります。これは、とりわけMozillaによって行われます。いくつかの開始手順については、この READMEを参照してください。

于 2012-04-17T11:43:48.897 に答える