svn에는 수정 버전 22334에서 생성 된 브랜치가 있습니다. 그런 다음 브랜치에서 커밋이 이루어졌습니다.
트렁크에있는 것과 비교하여 브랜치에서 변경된 모든 파일의 목록을 얻으려면 어떻게해야합니까? 브랜치가 생성 된 때와 "지금"사이에 트렁크에서 변경된 파일을보고 싶지 않습니다.
답변:
이것은 내가 생각할 것입니다.
svn diff -r 22334:HEAD --summarize <url of the branch>
svn log <url of the branch> | tail
가장 작은 개정 번호를 얻습니다.
svn diff -r 22334
(HEAD에 대한 차이점은 지정되지 않음). 이것은 로컬 작업 복사본과 diff하여 diff 응용 프로그램 내에서 변경할 수 있습니다.
-u 옵션과 함께 상태 명령을 사용하여 원하는 경우 변경된 파일의 빠른 목록을 얻을 수도 있습니다.
svn status -u
그러면 현재 코드베이스에있는 파일 개정과 저장소의 최신 개정 버전이 표시됩니다. 실제로 파일 자체의 차이점을보고 싶을 때만 diff를 사용합니다.
다음과 같은 일반적인 시나리오를 설명하는 svn 명령에 대한 좋은 자습서가 있습니다. SVN Command Reference
svn status
로컬 수정 사항 만 표시됩니다. OP는 트렁크에서 생성 된 이후 브랜치에 커밋 된 모든 파일 변경 사항을 확인하는 방법을 찾고있었습니다.
svn log -q -v
경로를 표시하고 주석을 숨 깁니다. 모든 경로가 들여 쓰기되어 공백으로 시작하는 줄을 검색 할 수 있습니다. 그런 다음에 파이프 cut
와 sort
깔끔한 최대 :
svn log --stop-on-copy -q -v | grep '^[[:space:]]'| cut -c6- | sort -u
이것은 분기점 이후 분기에 언급 된 모든 경로를 가져옵니다. 삭제 및 추가 된 파일과 수정 된 파일이 나열됩니다. 나는 방금 이것을 사용하여 새로운 개발자의 약간 지저분한 브랜치에 대한 검토에 대해 걱정해야 할 것들을 얻었습니다.
svn log
- D