2011-06-13 4 views
12

git log의 출력을 구문 분석하고 싶습니다. 현재 도구는 svn 로그에있는 --xml 옵션을 구문 분석하여 svn에 대해이 작업을 수행합니다. git log를 XML로 출력하는 방법을 알아낼 수 없습니다. xml 옵션이 아닌 경우,이 출력을 구문 분석하는 가장 좋은 방법은 무엇입니까? 필자는 원시 텍스트로 파싱하는 것을 피하고 "저자"와 "날짜"를 찾는 것이 좋습니다.git log 출력을 구문 분석하십시오. 바람직하게는 xxx로

감사

+0

사용자 정의 형식을 출력 할 수 있습니다. http://stackoverflow.com/questions/4600445/git-log-output-to-xml-json-or-yaml – konsolenfreddy

답변

10
당신은 서식 옵션을 사용하여 자신 만의 간단한 XML 출력을 만들 수

.

git log --pretty=format:"<entry><author>%an</author><commit_date>%cd</commit_date><message_body>%b</message_body></entry>" 

원하는 필드를 모두 추가하기 만하면됩니다.

man git-logPRETTY 포맷 설정 섹션 액세스 권한이있는 필드의 목록을 참조하십시오 (당신이 적절한 XML 헤더 등을하려는 경우 스크립트에 조금 필요합니다).

+0

완벽하게 작동합니다. 감사. –

+8

실제로 필드 중 하나라도 원시 텍스트에 의사 -XML이 있으면 즉시 작동하지 않습니다. 이러한 접근법을 적절하게 지원하려면 git 수준에서 XML에 대한 지식이 필요합니다 (적어도 탈출 용). 그러나 대부분의 경우 제대로 작동 할 것입니다. – Oblomov

+0

@Oblomov 그래, 방금 그걸 태워 버렸어. 나는 CDATA에서 위험한 것들을 싸서 나중에 그것을 해석했다. 잘 지내고있는 것 같습니다. 머리를 가져 주셔서 감사합니다. –

관련 문제