2

複数のユーザーがいるリポジトリがあります。特定のユーザーの最新のコミットを取得するには、Python スクリプトを作成する必要があります。水銀でそれを行うにはどうすればよいですか?

hg logPythonの呼び出しでコマンドを呼び出すことを考えていましたsubprocesshg log問題は、ユーザーの最新のログを教えてくれるようにコマンドを呼び出す方法です。

4

2 に答える 2

1

システムコールでこのようなものを呼び出すことで、単一のユーザーの最新のコミットを取得できるはずだと思います。(コマンドライン バージョンは次のとおりです。)

$ 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)"
于 2013-04-06T15:02:20.043 に答える