hg annotate 명령어는 지정 파일의 어느 부분을 누가 언제(리비전/날짜) 작성했는지 확인할 수 있는 명령어임.



// 줄여서 anno 만 사용 가능
// 아무 옵션도 넣지 않으면 각 라인별 앞부분에 리비전 번호가 나옴 (-n 옵션과 같음)
C:\rep> hg anno test.txt
2: 첫번째 라인
5: 2nd line...

// 아래는 각 옵션별 설명. 물론 여러 옵션을 섞어서 사용가능.
-r 혹은 --rev 리비전 : 지정 리비전 시점의 annotate
-a 혹은 --text : 이걸 지정하지 않으면 binary 파일은 안함.
-u 혹은 --user : author 출력
-f 혹은 --file : 파일경로 출력
-d 혹은 --date : 날짜 출력
-n 혹은 --number : 리비전 번호 출력 (기본값)
-c 혹은 --changeset : changeset ID 해시 출력
-l 혹은 --line-number : 라인번호 출력
-I 혹은 --include 패턴 : annotate할 파일을 패턴으로 지정 (여러개 지정가능)
-X 혹은 --exclude 패턴 : annotate에서 제외할 파일을 패턴으로 지정 (여러개 지정가능)

// 누가 바꿨는지 보고 싶음 (-u 혹은 --user)
C:\rep> hg anno -u test.txt
Baek Choong-deok: 첫번째 라인
lu bu feng xian: 2nd line...

// 누가 언제(리비전/날짜) 모든 txt 파일을 몇번째 라인을 바꿨는지 보고 싶음 (맨 끝의 . 빠뜨리면 안됨)
C:\rep> hg anno -undfI "*.txt" .
Back Choong-deok 7 Thu Jul 31 13:28:46 2014 +0900 my.txt:1: 라인1
Back Choong-deok 7 Thu Jul 31 13:28:46 2014 +0900 my.txt:2: Second Line
Baek Choong-deok 2 Thu Jul 31 10:52:49 2014 +0900 test.txt:1: 첫번째 라인
lu bu feng xian 5 Thu Jul 31 11:14:40 2014 +0900 test.txt:2: 2nd line...

// (궁극) 
// 특정문자열이 들어있는 라인만 출력
//  - 리눅스라면 grep, windows는 findstr
C:\rep> hg anno -undfl "*.txt" | findstr /c:"특정문자열"













Posted by bloodguy
,