parsing git log output, preferably as xml

I want to parse the output from git log. My current tool does this for svn by parsing the —xml option that svn log has. I can’t seem to figure out how to output git log as xml. If xml is not an option, what is the best way to parse this output? I would really like to avoid parsing it as raw text, looking for “author” and “date” ect.


  • Edit last pushed commit's message
  • Can a GIT branch have a subset of data?
  • Jenkins Git Plugin Repository Url Variable
  • When cloning an svn repository into git, should I clone only trunk, or the entire repo?
  • How to get file's contents on Git using LibGit2Sharp?
  • Change the wrong commit message in Git
  • Git log to get commits only for a specific branch
  • git-p4: fatal: git was built without support for git-p4 (NO_PYTHON=1)
  • Pre Commit hook git error
  • Git working strategy - many features, very frequent releases
  • git checkout by date
  • Does Git Bash determine identify by ssh key?
  • One Solution collect form web for “parsing git log output, preferably as xml”

    You could build your own simple xml output by using the formatting options.

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

    Just add whatever fields you want. (You’ll need to script a bit if you want proper xml header etc.)

    See man git-log PRETTY FORMATS section the list of fields you have access to.

    Git Baby is a git and github fan, let's start git clone.