2010-01-26 6 views
1

우리가 관련된 메시지를 제공하면 svn에서 수정 번호를 빼내는 스크립트를 만드는 쉬운 방법이 있는지 궁금합니다.svn - 관련 메시지 조각을 제공하는 개정 번호 얻기

예 : 메시지에 "추가 된 메소드 A"가 포함되어 있는데 변경 사항을 커밋하면 해당 메시지가 기록되었음을 알았습니다. 이제 해당 리비전 번호가 기억 나지 않아 로그를 통해 수동으로 준비하지 않고 프로그래밍 방식으로 (스크립트/배치) 관련 리비전 번호를 얻으려는 경우

답변

1

TortoiseSVN에는 검색 상자가 있습니다. 관심있는 저장소의 디렉토리에 대한 로그를여십시오. 디렉토리가 확실하지 않으면 저장소 루트에 대한 로그를 당겨 올리십시오.

로그 끌어 수행하는 방법 :

  • 엽니 다 TortoiseSVN을의 REPO 브라우저 (마우스 오른쪽 단추로 클릭 TortoiseSVN-> 리포-브라우저) 및 저장소 URL을 입력합니다.

  • 저장소 루트를 마우스 오른쪽 버튼으로 클릭하고 클릭 성능상의 이유로

는 TortoiseSVN이는 처음에는 지난 100 개정에 대한 로그를 표시합니다 "쇼 로그". 변경 사항이 이전 버전보다 오래되었다고 생각되면 "범위 표시"버튼을 클릭하여 특정 개정 범위의 로그를 표시하도록 할 수 있습니다. 리비전 0에서 HEAD (가장 최신)까지만 말하면됩니다. 그러면 리포에서 모든 리비전을 가져옵니다.

로그 창 상단에 검색 창이 있습니다. 찾으려는 텍스트를 입력하면 찾을 수 있습니다. 당신은 사용할 수

+0

확인을 나는 이미 알고 있지만,이 GUI를 통해입니다, 어떤 명령 줄이 구동된다? –

+1

"svn log"는 로그를 텍스트 형식으로 보여줍니다. 그 파일을 덤프하고 검색 할 수 있습니다 (메모장, Ctrl-F). grep 사본이있는 경우 특정 문자열에 대한 svn 출력을 필터링 한 다음 -B 옵션을 사용하여 해당 개정에 대한 헤더를 표시 할 수 있습니다. 다음과 같은 것 : svn log URL_TO_REPO | grep -B 3 STRING_YOU_WANT (grep --help는 많은 것을 알려줍니다.) –

0

: grep 명령 인쇄 일치하는 라인 전에 컨텍스트를 선도의 <NUM> 라인의 -B <NUM>

svn log | grep -B 3 "added method A" 

옵션. 그러면 개정 번호가있는 로그 항목의 헤더를 볼 수 있습니다.

이 예는 "# 내부"텍스트 패턴 개정 찾습니다

$: svn log $svnurl | grep -B 3 #internal 
------------------------------------------------------------------------ 
r1459 | user001 | 2015-07-22 15:52:54 +0200 (Wed, 22 Jul 2015) | 1 line 

#internal 
------------------------------------------------------------------------ 
r1457 | user001 | 2015-07-21 13:47:19 +0200 (Tue, 21 Jul 2015) | 1 line 

#internal 
$: 
관련 문제