Re: Feature request: --format=json
- From
Duy Nguyen <pclouds@gmail.com>
- Date
- Apr 17, 2017, 12:59 UTC
- Message-ID
- <CACsJy8BASVSxJ4RzNKVpj9MyD=fMR-fpspMdET1bT45yMrf_0w@mail.gmail.com>
- In-Reply-To
- <CAJgfmqWf9j=R1=qy-kGTL4+y_40O+8S5q=VZuD3A-DbfRJer2Q@mail.gmail.com>
On Mon, Apr 17, 2017 at 7:44 PM, Fred .Flintstone <eldmannen@gmail.com> wrote:
Show 9 quoted lines
> So I did "git rev-list --all --pretty" and it looks like "git log". > Which outputs a human-readable format. > > However, if I want something more suitable for machine parsing, is > there any way to get that output? > > Example maybe I want another date format like ISO dates, or maybe a > serializable format like JSON or CSV or something. Maybe I want more > data than commit, auhor, date, subject and body?
"git cat-file commit <commit-id>" should give you a machine-readable format of everything (it's the same thing that git-log parses and shows you; not counting options like --diff, --stat...). <commit-id> is from rev-list output (without --pretty, that's not for machine processing). You probably can use "git cat-file --batch" too, just pipe the whole rev-list output through it. You don't get to choose a convenient format this way though.
-- Duy