2011-06-13 9 views
12

Quiero analizar el resultado del registro de git. Mi herramienta actual hace esto para svn al analizar la opción --xml que tiene svn log. Parece que no puedo entender cómo enviar git log como xml. Si xml no es una opción, ¿cuál es la mejor manera de analizar esta salida? Realmente me gustaría evitar analizarlo como texto sin formato, buscando ect "autor" y "fecha".analizando la salida de registro de git, preferiblemente como xml

gracias

+0

Puede generar cualquier formato personalizado, consulte http://stackoverflow.com/questions/4600445/git-log-output-to-xml-json-or-yaml – konsolenfreddy

Respuesta

10

Se puede construir su propia salida xml sencilla mediante el uso de las opciones de formato.

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

Solo agregue los campos que desee. (Tendrá que la escritura un poco si quieres adecuada cabecera XML, etc.)

Ver man git-logFORMATOS BONITAS sección de la lista de campos que tiene acceso.

+0

Esto funcionará perfectamente. Gracias. –

+8

en realidad esto NO funcionará tan pronto como cualquiera de los campos tenga pseudo-XML en su texto sin formato. El soporte adecuado para tal enfoque requeriría el conocimiento de XML (al menos para escaparse) en el nivel de git. Pero va a funcionar correctamente en la mayoría de los casos. – Oblomov

+0

@Oblomov Sí, me acabo de quemar. Terminé envolviendo las cosas peligrosas en CDATA y luego lo analizo como tal. Parece estar funcionando bien. Gracias por el aviso. –