2013-05-28 1 views
1

신뢰할 수있는 git 태그의 주석을 분석하고 싶습니다."git show"출력을 구문 분석하는 방법은 무엇입니까?

저는 현재 "git show --summary"를 사용합니다. 그러면 다른 태그가있는 커밋을 가리키는 태그에서 다음 출력이 생성됩니다.

커밋에 첨부 된 모든 태그에 대한 태그 이름, 태그 타임 스탬프 및 태그 주석이 있어야합니다. 이를 구문 분석하는 것은 어렵지 않아, 확실하게

 
% git show --summary CANCEL_test_annotated3 
tag CANCEL_test_annotated3 
Tagger: Christian Goetze 
Date: Sat May 25 09:54:59 2013 -0700 

Testing a multiline message 

body line 1 
body line 2 
body line 3 

tag CANCEL_test_annotated 
Tagger: Christian Goetze 
Date: Sat May 25 09:26:56 2013 -0700 

Superceding message 

commit b9dc6956eac2c8abb7ed1f6b556a18debfed909b 
Author: Christian Goetze 
Date: Fri May 24 14:35:31 2013 -0700 

    FIx some cut&paste errors 

,하지만 대역 내 정보의 피해자가 될 수 있습니다

는 내가 얻을 것이 이것이다.

--format을 사용해 보았지만 태그 주석에 대한 형식 지정자가 없거나 태그 시간에 형식 지정자가없는 것처럼 보입니다.

이렇게하려면 어떻게해야할까요?

답변

3

원시 태그 데이터의 경우이 명령의 출력을 구문 분석해야합니다.

git cat-file tag <tag-id> 

사람에게는 "예쁜 인쇄"가 없으므로 기계 구문 분석에보다 적합합니다.

+0

감사합니다. 티켓입니다. –

0

아이디어 :

git show --color=always, 대역 ANSI 시퀀스는 정말 어려울 것 - 당신은 모든 헤더 행을 혼자 메시지 본문을 떠나 --color=always--color=never의 결과의 차이점이 될 것입니다은 diff 수 있습니다.

각 태그마다 git cat-file -p을 개별적으로 수행하십시오.

관련 문제