1.1.1 • Published 8 years ago
git-log-to-json v1.1.1
git-log-to-json
Print a configurable git log in json
Install
$ npm install git-log-to-jsonCLI
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.jsonAPI
require('git-log-to-json')(directory[, options])
directory<String> The directory to analyze. Must contain a.gitdirectoryoptions<Object> An optional map of flags to configure thegit logcommand: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 logcommand 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": "simon.renoult@gmail.com"
}
}]
*/
})
.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": "simon.renoult@gmail.com"
}
}]
*/
})
.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-jsonglobally 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.