複数のユーザーがいるリポジトリがあります。特定のユーザーの最新のコミットを取得するには、Python スクリプトを作成する必要があります。水銀でそれを行うにはどうすればよいですか?
hg log
Pythonの呼び出しでコマンドを呼び出すことを考えていましたsubprocess
。hg log
問題は、ユーザーの最新のログを教えてくれるようにコマンドを呼び出す方法です。
システムコールでこのようなものを呼び出すことで、単一のユーザーの最新のコミットを取得できるはずだと思います。(コマンドライン バージョンは次のとおりです。)
$ hg log -u your-user-name | head -5
は、your-user-name の最新のチェンジセットのhead -5
省略された出力全体を提供しますhg log
。これには、changeset、tag、user、date、および summary の 5 行が含まれます。変更セットのみが必要な場合は、これらの行に沿って何かを使用できます。(コマンドライン バージョンです。)
$ hg log -u mike@fontling.com | head -1 | awk '{print $2}'
コメントは、これが出力形式について不当な仮定をしていることを示唆しています。同意します。
コメントに基づいて、これはユーザーから最後のコミットを取得するための最良の表現のようです。
hg log -r "last(author('email@domain.com'))"
hg log -r "last(author('Fred Flintstone'))"
最後の 3 つを取得します。. .
hg log -r "last(author('email@domain.com'), 3)"
hg log -r "last(author('Fred Flintstone'), 3)"