
特定の SVN リポジトリについて、そのリポジトリに何かをコミットしたことがあるすべてのユーザーのリストを特定する必要があります。このリポジトリは SVN サーバー上の唯一のリポジトリではありませんが、リストはそのリポジトリに制限される必要があります。
答え1
Python 解析を書き直し始めたときに、あなたが求めていたことを実行するはるかに良い方法に気付きました (名前と提出日を解析して、週末/平日の提出比率を計算し、誰が暇なのかを確認しました)。
リポジトリをチェックアウトし、そこへ移動して以下を実行します:
svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq
これにより、コミットされたすべての変更のリストが取得され、リビジョンと番号 ( ) で始まる行が grep されr[12341] | author | date-and-stuff...
、3 番目のフィールド (作成者) が出力され、作成者が並べ替えられ、重複が削除されます。
答え2
スペースを含むユーザー名に対する @DrummerB の軽量版と @vgm64 のシンプルさを組み合わせたもの
svn log -q | gawk -F "|" '/^r[0-9]/ { print $2 }' | sort -u
答え3
vgm64 さんの回答は良いのですが、スペースを含む名前ではうまく機能しません。私はそれを変更して、次のようにしました:
svn log | grep '^r\do*' | sed 's_^r[0-9]* | \([^|]*\) | .*$_\1_g' | sort | uniq
答え4
@Albirew の回答の Win Powershell バージョン:
svn log -q | Select-String "^r" | ForEach-Object {
$parts = $_ -split '\|'
$author = $parts[1].Trim()
"$author = $author <$author>"
} | Sort-Object -Unique > Authors.txt