git-log-to-json
v1.1.1
Published
Print a configurable git log in json
Downloads
127
Readme
git-log-to-json
Print a configurable git log in json
Install
$ npm install git-log-to-json
CLI
Usage: git-log-to-json|git log-to-json <dir>
Print a configurable git log in json
Options:
-h, --help output usage information
-V, --version output the version number
-H, --hash output the commit hash
-D, --date output the commit date
-N, --author-name output the commit author name
-E, --author-email output the commit author email
-S, --subject output the commit subject
-B, --body output the commit body
-L, --limit limit the number of commit logged
-P, --pretty format the output with "\t"
Examples:
$ git log-to-json .
$ git log-to-json . --limit 3
$ git log-to-json . --hash --date --author-name
$ git log-to-json . -H -D --subject
$ git log-to-json . -H -D -S -B --pretty
$ ./bin/git-log-to-json . > history.json
API
require('git-log-to-json')(directory[, options])
directory
<String> The directory to analyze. Must contain a.git
directoryoptions
<Object> An optional map of flags to configure thegit log
command:hash
<Boolean> Includes the commit hashdate
<Boolean> Includes the commit datesubject
<Boolean> Includes the commit subjectbody
<Boolean> Includes the commit bodyauthorEmail
<Boolean> Includes the commit author emailauthorName
<Boolean> Includes the commit author namelimit
<Integer> Limit the number of commit loggedpretty
<Boolean> Format the output with \t
- Return: <Promise> The promise resolved once the
git log
command is executed.
Examples
Given the commit:
feat(#420): node.js rocks
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
require('git-log-to-json')('.')
.then((log) => {
/* log will contain:
[{
"hash": "<hash>",
"date": "2016-04-21T19:00:13+02:00",
"subject": "feat(#420): node.js rocks",
"body": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. ",
"author": {
"name": "Simon Renoult",
"email": "[email protected]"
}
}]
*/
})
.catch((err) => {
// do something
})
require('git-log-to-json')('.', {hash: true, date: true, authorEmail: true})
.then((log) => {
/* log will contain:
[{
"hash": "<hash>",
"date": "2016-04-21T19:00:13+02:00",
"author": {
"email": "[email protected]"
}
}]
*/
})
.catch((err) => {
// do something
})
Troubleshooting
The tests fail to run locally.
The test/mock/repo
submodule might be missing. Clone git-log-to-json
with the --recursive
flag.
I installed
git-log-to-json
globally but the command is not found.
The command is still available, not to autocompletion though. This is due to
git
doing some fancy work. The autocompletion will work with git log-to-json
.