svn에서 파일을 수정하는 빈도를 보여주는 무언가를 찾고 있습니다. 나는 자주 그리고 자주 바뀌는 파일을보고 싶다. 또한 "보고서"는 프로젝트별로 변경 빈도를 볼 수 있도록 디렉토리별로 그룹화해야합니다.svn - 파일이나 디렉토리 당 커밋 빈도
어떤 도구가 이러한 기능을 제공합니까?
(즉, 중요한 경우 - 나는 또한 받는다는 및 언어주의 대부분 자바 사용하고 있습니다)svn에서 파일을 수정하는 빈도를 보여주는 무언가를 찾고 있습니다. 나는 자주 그리고 자주 바뀌는 파일을보고 싶다. 또한 "보고서"는 프로젝트별로 변경 빈도를 볼 수 있도록 디렉토리별로 그룹화해야합니다.svn - 파일이나 디렉토리 당 커밋 빈도
어떤 도구가 이러한 기능을 제공합니까?
(즉, 중요한 경우 - 나는 또한 받는다는 및 언어주의 대부분 자바 사용하고 있습니다)SVN 내부 보고서를 생성하는 명령이 있지만, 나는 골드 피처에서 어안 도구를 사용하려고 조언을 것입니다. 유료 도구이지만 특정 사용자가 커밋 한 파일 수, 커밋 된 파일 수 및 그래픽 형식의 보고서를 제공합니다.
Subversion에는이 작업을 수행 할 수있는 표준 도구가 없습니다. 그러나 가능한 한 가지 방법이 있지만 시간이 걸릴 수 있습니다.
먼저 저장소의 모든 파일 목록을 생성해야합니다. 이 그것을 수행해야합니다
$ svn ls -R $REPO
그런 다음 당신이 입력으로 그것을 사용하고 어떻게 든 각 파일에서 보고서를 생성 할 수 :
$ svn ls -R $REPO | while read $file
do
here be dragons
done
우리는 파일 (현재 BASH 및 콘 셸 특정)을 제거 할 필요가
:
$ svn ls -R $REPO | while read $file
do
[[ $file == */ ]] && continue
here be dragons
done
그런 다음 모든 변경 사항을 계산하는 방법을 알아야합니다. svn log
해야합니다.
$ svn ls -R $REPO | while read $file
do
[[ $file == */ ]] && continue
count=$(svn log $REPO/$file | grep "^--*$" | wc -l)
echo "$REPO/$file: $count"
done
: 우리가 대시하지만 아무것도로 구성되어 모든 행을 계산하는 경우, 그것은 우리에게 수를 제공해야 저장소의 루트에서. 그렇지 않은 경우 디렉토리 항목을 고려해야 할 수 있습니다.
시작일입니다. svn log
에있는 -r
매개 변수를 통해 날짜 범위를 제한 할 수 있습니다. 이러한 개정판의 대부분이 2 년 전의 것이라면 파일에 많은 개정판이 있었는지 신경 쓸 필요가 없습니다. 그리고 이것은 아마도 쉘 스크립트의 한계 일 것입니다. 로직을 파이썬이나 펄로 이식 할 수 있으며 더 많은 일을 할 수 있습니다.
"$ file"을 읽는 동안 "$ file"이 (가) 인 줄에 $가 없어야합니다 (예 : "read file"). 그렇지 않으면 잘 작동합니다!
이전에 질문했거나 대답 한 것으로 믿습니다. http://stackoverflow.com/questions/402964/tool-to-generate-change-reports-from-subversion-logs – BillH