SVN 저장소에 커밋 한 모든 사용자 목록 사용자의 목록을

주어진 SVN 저장소에 대해 해당 저장소에 커밋 한 모든 사용자의 목록을 결정해야합니다. 이 저장소는 SVN 서버에서 유일한 저장소는 아니지만 목록은 해당 저장소로 제한되어야합니다.



답변

파이썬 파싱을 다시 작성하기 시작하면서 요청한 것을 수행하는 훨씬 더 좋은 방법을 깨달았습니다 (주말과 평일 제출 비율을 계산하여 인생이없는 사람을 알기 위해 제출 날짜와 이름을 파싱했습니다!)

리포지토리를 확인한 다음 이동하여 실행하십시오.

svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq

커밋 된 모든 변경 사항의 목록을 가져오고 개정 및 번호 ( r[12341] | author | date-and-stuff...)로 시작하는 줄을 greps 하고 세 번째 필드 (작성자)를 인쇄하고 저자를 정렬하고 중복을 제거합니다.


답변

@ vgm64의 단순성과 결합 된 공백이있는 사용자 이름에 대한 간단한 형태의 @DrummerB 답변

svn log -q | gawk -F "|" '/^r[0-9]/ { print $2 }' | sort -u


답변

vgm64의 대답은 좋지만 공백이 포함 된 이름에는 적합하지 않습니다. 나는 그것을 바꿨다.

svn log | grep '^r\do*' | sed 's_^r[0-9]* | \([^|]*\) | .*$_\1_g' | sort | uniq

답변

이 스레드가 오래되었다는 것을 알고 있지만 SVN을 Git으로 변환하는 자습서가 링크되어 있으므로 Authors.txt 파일을 생성하는 명령을 추가합니다.

svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > Authors.txt

가져온 SVN이거나 Not a working copy오류가 발생하면 file:///tmp/svn-repo다음 을 추가하여 SVN 폴더의 로컬 경로를 지정할 수 있습니다svn log -q