Subversion에서 특정 사용자가 변경 한 모든 파일 나열
특정 사용자가 수정 / 추가 / 삭제 한 모든 파일 목록을 가져올 수 있습니까?
목표는 사용자가 그날 (또는 날짜 범위) 동안 무엇을했는지 파악하는 것입니다.
다음 은 사용자 이름 'blankman'과 함께 svn log 명령 과 linux sed 명령을 사용하는 예입니다 .
svn log | sed -n '/blankman/,/-----$/ p'
지속적인 보고서를 통해이 정보를 얻으려면 Patrick이 언급 한 StatSVN 과 같은 프로젝트를 사용하는 것이 매우 유용합니다. Maven을 사용하는 경우 프로젝트 사이트에이 정보를 생성 하는 StatSCM 플러그인 이 있습니다.
귀찮게 할 필요가 없습니다 grep
, sed
서브 버전 1.8부터, 등. 릴리스는 명령 --search
과 함께 사용할 수있는 옵션을 도입했습니다svn log
!
이 옵션을 사용하면 저장소 기록에서 다음을 검색 할 수 있습니다.
- 개정의 작성자 (
svn:author
버전없는 속성), - 날짜 (
svn:date
버전없는 속성), - 로그 메시지 텍스트 (
svn:log
버전없는 속성), - 및 특정 개정의 영향을받는 경로.
SVNBook 1.8svn log
참조 | 명령 줄 참조 .
Shek의 답변은 제가해야 할 일에 도움이되었지만 다음과 같은 조정으로 더 정확한 결과를 얻었습니다.
svn log | sed -n '/ | blankman | /,/-----$/ p'
그렇지 않으면 목록에는 단순히 이름으로 나를 참조하는 다른 사람이 만든 커밋이 포함됩니다.
왜 단순히 거북이 SVN을 사용하지 않습니까?
Totoise SVN-> Show Log 왼쪽 상단에 변경 목록을 보려는 사용자 ID를 추가하십시오.
이것은 나를 위해 작동합니다.
svn log | grep YOUR_USERNAME_HERE | awk '{print $1}' | sed s/r//g | xargs -I $ svn diff --summarize -c $ | sort | uniq
예. 우리는 Subversion 보고서에 StatSVN 을 사용 하며 보고서 중 하나는 개발자의 커밋입니다.
TortiseSVN을 사용하면 작성자의 날짜별로 로그 메시지를 볼 수도 있습니다.
다음은 날짜 범위 버전입니다.
svn log -v -r { "2011-01-01 00:00:00"} : { "2011-02-18 00:00:00"} | sed -n '/ russenreaktor /, / ----- $ / p'
주어진 사용자가 수정 한 파일 목록을 찾는 데 유용한 명령을 찾았습니다.
svn log -v -r{2012-08-01}:HEAD
| awk '/^r[0-9]+ / {user=$3} /./ {if (user=="username") {print}}'
| grep -E "^ M|^ G|^ A|^ D|^ C|^ U"
| awk '{print $2}'
| sort | uniq
다음은 특정 사용자가 개정 사이에 어떤 파일을 변경했는지 보여주는 작은 스크립트입니다.
#!/bin/bash
# @param $1: Start revision
# @param $2: End revision
# @param $3: User
#
# Example: svn_scapegoat.sh 1000:HEAD jdoe
svn_changed()
{
svn blame --revision $1:$2 -- $4 | grep -E "^ [0-9]* *${3} "
}
svn diff --revision $1:$2 --summarize | \
cut -c9- | \
while read path
do
if [ -n "$(svn_changed $1 $2 $3 $path)" ]
then
echo "$3 changed $path"
else
echo "Someone else changed $path"
fi
done
In order to see the list all files changed by a particular user in subversion for a particular directory structure, then first you need go to the that directory structure and on the right side of directory panel do a right click.. then, go to Show Log-->on top most left corner we get filter option.
henceforth by putting the name of user you can see all the files changed by that particular user in the bottom panel.
참고URL : https://stackoverflow.com/questions/341310/list-all-files-changed-by-a-particular-user-in-subversion
'Program Tip' 카테고리의 다른 글
선택 상자에서 텍스트를 세로로 정렬하고 싶습니다. (0) | 2020.11.18 |
---|---|
Git 리포지토리에서 이전에 무시 된 파일 무시 해제 문제 (0) | 2020.11.18 |
콘솔에 wchar_t 값을 어떻게 인쇄 할 수 있습니까? (0) | 2020.11.18 |
If-less 프로그래밍 (기본적으로 조건부 없음) (0) | 2020.11.18 |
다중 Moq It.Is (0) | 2020.11.18 |