If for some reason your use case is so performance intensive that you can't just `git cat-file commit` every entry in `git rev-list --all` individually, then you can also pipe input into `git cat-file --batch` and read output as you pipe input in, which will give you a very simple mechanism for delimiting the cat-file output. In any case, as developers, it's rare to have our job done for us. That's why we write code. I'm sure people would be happy to help if you submitted patches to support --format=json. On Tue, Apr 18, 2017 at 3:44 AM, Fred .Flintstone <eldmannen@xxxxxxxxx> wrote: > Well the easiest way to work with that would be JSON. > So the best would be if Git could output the data I want in JSON format. > Then it would be easy for me to work with data. > > With git rev-list and git-cat file, its not so easy to reliably parse > that output. > > On Tue, Apr 18, 2017 at 2:38 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: >> "Fred .Flintstone" <eldmannen@xxxxxxxxx> writes: >> >>> So I would either have to do: >>> git rev-list --all >>> Then iterate over each line and do git-cat-file commit <commit-id>. >>> >>> Or do: >>> git rev-list --all | git cat-file --batch >>> >>> If I do it in a batch, then it will be tricky to reliably parse since >>> I don't know when the message body ends and when the next commit >>> starts. >>> >>> JSON output would have been very handy. >> >> I am somewhat puzzled. I thought that you were trying to come up >> with a way to produce JSON output and people are trying to help you >> by pointing out tools that you can use for that.