10
6
For a given SVN repository I need to determine a list of all users who ever committed anything to that repository. This repository is not the only one on the SVN server, but the list should be restricted to that repository.
10
6
For a given SVN repository I need to determine a list of all users who ever committed anything to that repository. This repository is not the only one on the SVN server, but the list should be restricted to that repository.
18
While I started rewriting my python parsing, I realized a much better way to do what you asked (I parsed names and dates of submission to calculate weekend/weekday submission ratios to see who had no life!)
Check out the repo, then go to it and execute:
svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq
That gets a list of all the changes that have been commited, greps for the lines that start with the revision and number (r[12341] | author | date-and-stuff...
), prints out the third field (author), sorts the authors and gets rid of duplicates.
In case the names field contains a value with spaces (in my case I had commits from the user (no author)
) adding -F ' [|] '
to awk will grab the entire name: svn log | grep '^r[0-9]' | awk -F ' [|] ' '{print $2}' | sort | uniq
. – Quinn Comendant – 2015-04-13T03:00:58.337
@user12889: Your welcome. I just happened to see the right question at the right time. – physicsmichael – 2010-04-14T04:34:21.323
3
Light form of @DrummerB answer for usernames with spaces, combined with simplicity of @vgm64
svn log -q | gawk -F "|" '/^r[0-9]/ { print $2 }' | sort -u
This also works for me - whereas @DrummerB's version didn't output anything – NickG – 2019-04-03T10:27:23.503
2
vgm64's answer is good, but it doesn't work well with names that contain spaces. I changed it, so it does:
svn log | grep '^r\do*' | sed 's_^r[0-9]* | \([^|]*\) | .*$_\1_g' | sort | uniq
1
I know this thread is old but since some tutorials to convert SVN to Git are linking there, I add a command that will generate an Authors.txt file:
svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > Authors.txt
If this is an imported SVN, or if you stumble on the Not a working copy
error, you can specify local path to SVN folder by adding file:///tmp/svn-repo
after svn log -q
Can you parse
svn log
for the users that have committed changes? Or is checking out the repo not an option? – physicsmichael – 2010-04-13T04:41:49.043Also, do you have python? =) – physicsmichael – 2010-04-13T04:42:28.670