ProgramingTip

브랜치에서 수정 된 모든 파일을 사용하는 svn 명령은 무엇입니까?

bestdevel 2020. 10. 16. 07:44
반응형

브랜치에서 수정 된 모든 파일을 사용하는 svn 명령은 무엇입니까?


svn에는 수정 22334에서 생성되는 브랜치가 있습니다. 그런 다음 브랜치에 커밋이 이루어졌습니다.

배달에있는 것과 비교하여 브랜치에서 변경된 모든 파일의 목록을 얻으려면 어떻게해야합니까? 브랜치가 생성 된 때와 "지금"사이에 발송할 때 변경된 파일을보고합니다.


이것은 내가 생각할 것입니다.

svn diff -r 22334:HEAD --summarize <url of the branch>

-u 옵션과 함께 상태 명령을 사용하여 찾고있는 것이 전부라면 변경된 파일의 빠른 목록을 얻을 수도 있습니다.

svn status -u

오늘 현재 코드베이스에있는 파일 개정과 저장소의 최신 개정 버전이 표시됩니다. 실제로 파일 자체의 차이점을보고 싶을 때만 diff를 사용합니다.

다음과 같은 시나리오를 설명하는 svn 명령에 대한 좋은 안내가 있습니다. SVN 명령 참조


다음 명령을 사용할 수 있습니다.

svn status -q

svnbook 에 따르면 :

With --quiet (-q), it prints only summary information about locally modified items.

경고 :이 명령의 출력에는 수정 사항 만 표시됩니다. 따라서 svn up최신 버전의 파일 svn status -q을 가져 오고 수정 한 파일을 가져 오는 데 사용 하는 것이 좋습니다 .


수정 된 파일 만 작성됩니다.

svn status -u | grep M

-u 옵션은 추가 된 경우 개체 파일을 포함하여 표시됩니다.

따라서 이와 같이 사용할 수 있습니다.

svn status -u | grep -v '\?' 

echo You must invoke st from within branch directory
SvnUrl=`svn info | grep URL | sed 's/URL: //'`
SvnVer=`svn info | grep Revision | sed 's/Revision: //'`
svn diff -r $SvnVer --summarize $SvnUrl

svn log -q -v경로를 표시하고 주석을 숨 깁니다. 공백으로 시작하는 줄을 검색 할 수 있습니다. 그런 다음에 파이프 cutsort깔끔한 최대 :

svn log --stop-on-copy -q -v | grep '^[[:space:]]'| cut -c6- | sort -u

모든 분기점 이후 분기에 관한 모든 경로를 가져옵니다. 삭제 및 추가 된 파일과 수정 된 파일이됩니다. 나는 방금 사용하여 새로운 개발자의 약간 지저분한 브랜치에 대해 검토하는 것에 대해 걱정해야 할 것입니다.

참고 URL : https://stackoverflow.com/questions/160370/what-svn-command-would-list-all-the-files-modified-on-a-branch

반응형