Programing

최근 SVN 로그 항목은 어떻게 보입니까?

lottogame 2020. 5. 15. 07:56
반응형

최근 SVN 로그 항목은 어떻게 보입니까?


타이핑 svn log은 명령 줄에서 엄청나게 길고 쓸모없는 목록을 뱉어냅니다. 왜 이것이 기본값인지 모르겠습니다. 터미널에서 300 개의 항목을 읽거나 읽을 수 있다면 타이핑 svn log --full이나 비슷한 것을 신경 쓰지 않을 것 입니다.

아마도 SVN 사람들은 그 출력을 다른 프로그램에 공급하고 싶다고 생각합니다. 그러나이 경우 터미널 사용자가 아닌 프로그램에 대한보다 자세한 호출을하는 것이 더 합리적입니다.

어쨌든, 지난 5 또는 10 개의 항목과 같은 최근 활동을 어떻게 변경했는지 확인하려면 어떻게해야합니까?


limit 옵션, 예 :

svn log --limit 4

svn log -l 4

마지막 4 개 항목 만


Bert F가 말한 것 외에도 많은 명령 log에는 -r(또는 --revision) 옵션이 있습니다. 다음은이 옵션을 사용하여 수정 범위를 보여주는 몇 가지 실용적인 예입니다.

모든 것을 오름차순으로 나열하려면 :

svn log -r 1:HEAD

내림차순으로 모든 것을 나열하려면 :

svn log -r HEAD:1

현재 체크 아웃 된 개정판의 기준에서 13 번째까지의 순서를 오름차순으로 나열하려면 다음을 수행하십시오.

svn log -r 13:BASE

주어진 날짜 사이에 모든 것을 얻으려면 :

svn log -r {2011-02-02}:{2011-02-03}

위의 모든 표현식을 --limit옵션 과 결합하여 인쇄되는 내용을 세밀하게 제어 할 수 있습니다. 이러한 -r표현식 에 대한 자세한 정보는 Subversion을 사용한 버전 제어svn help log 책의 관련 장을 참조하십시오.


-v자세한 모드 에 사용 하고 싶습니다 .
커밋 ID, 주석 및 영향을받는 모든 파일을 제공합니다.

svn log -v --limit 4

출력 예 :

I added some migrations and deleted a test xml file
------------------------------------------------------------------------
r58687 | mr_x | 2012-04-02 15:31:31 +0200 (Mon, 02 Apr 2012) | 1 line Changed
paths: 
A /trunk/java/App/src/database/support    
A /trunk/java/App/src/database/support/MIGRATE    
A /trunk/java/App/src/database/support/MIGRATE/remove_device.sql
D /trunk/java/App/src/code/test.xml

less또는 다른 호출기를 통해 출력을 파이프하십시오 .

svn log | less

다른 사람들이 말한 것을 추가하기 위해 .bashrc 또는 .bash_aliases 파일에서 별칭을 만들 수도 있습니다.

alias svnlog='svn log -l 30 | less'

또는 당신이 원하는대로 무엇이든


이미 svn log인수없이 명령이 실행 된 것을 확인 했으므로 지정한 URL 또는 명령을 실행하는 작업 사본 폴더와 관련된 모든 로그 메시지가 표시 됩니다 .

항상 svn log결과를 구체화 / 제한 할 수 있습니다 .

  • svn log --limit NUM 처음 NUM 개 개정 만 표시합니다.
  • svn log --revision REV1(:REV2) REV1 개정판 또는 REV1-REV2 범위에 대한 로그 메시지를 표시합니다.
  • svn log --search지정한 검색 패턴과 일치하는 개정판이 표시됩니다 (명령은 Subversion 1.8 이상 클라이언트에서 사용 가능함). 로 검색 할 수 있습니다
    • 개정의 저자 (예 : 커미터 사용자 이름)
    • 개정이 확정 된 날짜,
    • 개정 의견 텍스트 (로그 메시지)
    • 수정 된 경로 목록

이 답변은 Subversion 하위 명령 옵션과 관련된 추가 질문에 대한 것입니다. 사용 가능한 모든 하위 명령 (예 : add, log, status ...)에 대해 --help옵션을 추가 하여 하위 명령과 함께 사용할 수있는 전체 사용 가능한 옵션 목록과 사용 방법에 대한 예를 표시 할 수 있습니다. 다음 스 니펫은 svn log --help"examples"섹션 명령 출력에서 직접 가져옵니다 .

Show the latest 5 log messages for the current working copy
directory and display paths changed in each commit:
  svn log -l 5 -v

누군가이 오래된 질문을보고있는 경우 마지막 업데이트 이후 변경 사항을 확인하는 편리한 명령입니다.

svn log -r $(svn info | grep Revision | cut -f 2 -d ' '):HEAD -v

LE (thanks Gary for the comment)
same thing, but much shorter and more logical:

svn log -r BASE:HEAD -v


But svn log is still in reverse order, i.e. most recent entries are output first, scrolling off the top of my terminal and gone. I really want to see the last entries, i.e. the sorting order must be chronological. The only command that does this seems to be svn log -r 1:HEAD but that takes much too long on a repository with some 10000 entries. I've come up this this:

Display the last 10 subversion entries in chronological order:

svn log -r $(svn log -l 10 | grep '^r[0-9]* ' | tail -1 | cut -f1 -d" "):HEAD

참고URL : https://stackoverflow.com/questions/4881129/how-do-you-see-recent-svn-log-entries

반응형