git-log
--git-logv1.5.0`git log` command parser
commandslurpable
$ git log | jc-rs --git-logA real pair
From the reference corpus (generic/git-log-blank-author-fix.json). The left pane is the input the fixture ships; the right pane is the corpus's expected JSON. CI compares jc-rs with it field by field under the published differential. Hover a value to see where it came from.
git loggeneric
commit 096fffdb79807d34b99985b38df0a3df7f6a86c7 Author: <foo@example.com> Date: Wed Apr 20 10:03:36 2022 -0400 commit by an author with a blank name commit 728d882ed007b3c8b785018874a0eb06e1143b66 Author: <> Date: Wed Apr 20 09:50:19 2022 -0400 this author has a blank name and an empty email commit b53e42aca623181aa9bc72194e6eeef1e9a3a237 Author: Bob Committer <> Date: Wed Apr 20 09:44:42 2022 -0400 this author has a name, but no email
expected outputjson
Use the Left and Right arrow keys to highlight the matching value in the input.
[ { "commit": "096fffdb79807d34b99985b38df0a3df7f6a86c7", "author": null, "author_email": "foo@example.com", "date": "Wed Apr 20 10:03:36 2022 -0400", "message": "commit by an author with a blank name", "epoch": 1650474216, "epoch_utc": null }, { "commit": "728d882ed007b3c8b785018874a0eb06e1143b66", "author": null, "author_email": null, "date": "Wed Apr 20 09:50:19 2022 -0400", "message": "this author has a blank name and an empty email", "epoch": 1650473419, "epoch_utc": null }, { "commit": "b53e42aca623181aa9bc72194e6eeef1e9a3a237", "author": "Bob Committer", "author_email": null, "date": "Wed Apr 20 09:44:42 2022 -0400", "message": "this author has a name, but no email", "epoch": 1650473082, "epoch_utc": null } ]
Guides using this parser
Fixture coverage
19/19oracle-valid pairs match under the published structural JSON comparison
Magic syntax
jc-rs git logjc-rs runs the command itself and parses what it prints. Recognised for: `git log`Source: crates/jc-rs-parsers/src/log/git_log.rs. jc-rs targets the schemas defined by the original Python tool. Fixture coverage above is the measured evidence for this parser; test the inputs your pipeline depends on. Compare