Web lists-archives.com

Re: Feature request: --format=json




Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes:

> On Sat, Apr 8, 2017 at 6:07 PM, Fred .Flintstone <eldmannen@xxxxxxxxx> wrote:
>> $ git log --format=json
>> [{
>>     "commit": "64eabf050e315a4c7a11e0c05ca163be7cf9075e",
>>     "tree": "b1e977800f40bbf6de906b1fe4f2de4b4b14f0fd",
>>     "author": "Tux <tux@xxxxxxxxxxx> 1490981516 +0200",
>>     "committer": "Tux <tux@xxxxxxxxxxx> 1490981516 +0200",
>>     "message": "This is a test commit",
>>     "long_message": "This explains in more details the commit"
>> }]
>>
>> This would make it easy to parse the output.
>
> The git-log command isn't plumbing that's meant for machines, but the
> git-for-each-ref command is what you're most likely looking for.

They are apples and oranges.  log is about traversing the history.
"for-each-ref" is about listing the tips of refs.  It doesn't and it
shouldn't traverse the history.

The plumbing to use when you want to reimplement "git log" lookalike
is "rev-list".