Subversion에서 마지막 N 개의 커밋 파일 목록을 가져올 수 있습니까?Subversion에서 마지막 N 개의 커밋 파일 목록 가져 오기
Subversion 저장소에있는 파일에 대해 이미지 최적화 작업을 실행하고 싶습니다. 전체 파일을 실행하고 싶지 않습니다.
Subversion에서 마지막 N 개의 커밋 파일 목록을 가져올 수 있습니까?Subversion에서 마지막 N 개의 커밋 파일 목록 가져 오기
Subversion 저장소에있는 파일에 대해 이미지 최적화 작업을 실행하고 싶습니다. 전체 파일을 실행하고 싶지 않습니다.
마지막 N 개의 커밋을 가져 오려면 --limit
또는 -l
플래그를 svn log
에 사용하십시오. 또는 개정 번호 및/또는 날짜별로 로그 항목을 제한 할 수도 있습니다.
파일을 변경하려면 -v
(또는 --verbose
) 플래그를 사용해야합니다.
로그 텍스트를 표시하지 않으려면 -q
(또는 --quiet
) 플래그를 사용해야합니다.
svn log --quiet --verbose --revision {2014-05-01}:HEAD
svn log -q -v -r {2014-05-01}:HEAD
또는 동일한 정보를 얻을 : 모두 함께 퍼팅
는, 당신이 할 수있는 모든 파일 (형식을 구문 분석 쉬운) 2014 년 5 월 초부터 변경 (예를 들어) 얻을 수 있습니다 지난 10 건의 커밋은 언제 발생했는지에 관계없이 다음과 같이 처리됩니다.
svn log --quiet --verbose --limit 10
svn log -q -v -l 10
이 정보를 제공하는 단순한 단일 Subversion 명령은 없습니다.
여기에 몇 느슨한 끝있다. 전체 레포에 대해 이야기하고 있다면 최신 개정판을 받아 원하는 번호를 빼낼 수 있습니다. 개별 프로젝트에 대해 말하면 훨씬 더 어려워집니다.
나는 당신이 중복을 포함하지 않는 목록을 원한다.
이것은 그리 어렵지는 않지만 직접 스크립트를 작성해야합니다. svn log
은 --xml
매개 변수를 사용하고 로그 XML 형식을 반환합니다. 형식은 다음과 같습니다
$ svn log -v --xml $REPO
<?xml version="1.0" encoding="UTF-8"?>
<log>
<logentry
revision=...>
<author>...</author>
<date>...</date>
<paths>
<path
....
....
action=".">...name of file...</path>
<path ...
</paths>
<msg>.....</msg>
</logentry>
<logentry
....
....
당신이 XML 자체를 구문 분석하지 않더라도, 당신은 쉽게 필요한 정보를 얻을 수있는 XML 출력을 사용할 수 있습니다. 원하는 수 또는 항목을 얻을 때까지 <logentry
줄의 수를 센다. <path
을 사용하여 element, and when you see the closing
>, you know that the rest of the line till the
의 시작을 파일 이름으로 표시하십시오. 이 파일을 파일 이름으로 키순 해시 변수에 저장하십시오.
Python 또는 Perl의 스크립트는 매우 쉽게 작성되어야합니다.
나는'--xml' 매개 변수에 대해 알지 못했지만 Ben의 대답과 내 문제를 해결할 방법을 찾았습니다. 고맙습니다. – yshrsmz
"shell"질문에 태그를 추가 했으므로 Windows에 있지 않을 가능성이 있지만, PowerShell의 한 줄에서 거의 모든 작업을 수행 할 수 있습니다 (" 이 제조법 99 ") :
PS> Get-SvnLog |
Select -First 99 -ExpandProperty Paths |
% { ([xml]$_).SelectNodes("//path/text()").Value } |
Sort -Unique
당신은 당신이 얻을 수있는 보고서의 20 개 이상의 다른 예를 포함 내 open source bookshelf,에 타 - SvnLog에 대한 API를 볼 수 있습니다. PowerShell "book"을 열고 SvnTools로 이동하십시오. 코드 here을 다운로드하십시오.
가능한 복제본 [최근 SVN 로그 항목을 보려면 어떻게합니까?] (http://stackoverflow.com/questions/4881129/how-do-you-see-recent-svn-log-entries) –
중복되지 않음 그 질문은 가장 최근의 몇 가지 로그 항목을 요구하기 때문입니다. 이 질문은 로그 항목에 대해서는 상관하지 않으며 해당 로그 항목에서 변경된 파일 만 고려합니다. – Ben