2015-01-26 09:08:11 +01:00
|
|
|
# git-stats
|
|
|
|
A GitHub-like contributions calendar, but locally, with all your git commits.
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
```sh
|
2015-01-26 09:08:43 +01:00
|
|
|
$ npm install -g git-stats
|
2015-01-26 09:08:11 +01:00
|
|
|
```
|
|
|
|
|
2015-02-01 07:24:53 +01:00
|
|
|
Then put the following lines in your `~/.bashrc` file:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
git() {
|
|
|
|
cmd=$1
|
|
|
|
shift
|
|
|
|
extra=""
|
|
|
|
|
|
|
|
quoted_args=""
|
|
|
|
whitespace="[[:space:]]"
|
|
|
|
for i in "$@"
|
|
|
|
do
|
|
|
|
quoted_args="$quoted_args \"$i\""
|
|
|
|
done
|
|
|
|
|
|
|
|
cmdToRun="`which git` "$cmd" $quoted_args"
|
|
|
|
cmdToRun=`echo $cmdToRun | sed -e 's/^ *//' -e 's/ *$//'`
|
|
|
|
bash -c "$cmdToRun"
|
|
|
|
if [ $? -eq 0 ]; then
|
|
|
|
# Commit stats
|
|
|
|
if [ "$cmd" == "commit" ]; then
|
|
|
|
commit_hash=`git rev-parse HEAD`
|
|
|
|
repo_url=`git config --get remote.origin.url`
|
|
|
|
commit_date=`git log -1 --format=%cd`
|
|
|
|
commit_data="\"{ \"date\": \"$commit_date\", \"url\": \"$repo_url\", \"hash\": \"$commit_hash\" }\""
|
|
|
|
git-stats --record "$commit_data"
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
|
2015-01-26 09:08:11 +01:00
|
|
|
## Documentation
|
2015-02-01 07:24:53 +01:00
|
|
|
### `record(data, callback)`
|
2015-01-26 09:08:11 +01:00
|
|
|
Records a new commit.
|
|
|
|
|
2015-02-01 07:24:53 +01:00
|
|
|
#### Params
|
2015-01-26 09:08:43 +01:00
|
|
|
- **Object** `data`: The commit data containing:
|
2015-01-26 09:08:11 +01:00
|
|
|
- `date` (String|Date): The date object or a string in this format: `DDD MMM dd HH:mm:ss YYYY`
|
|
|
|
- `url` (String): The repository remote url.
|
|
|
|
- `hash` (String): The commit hash.
|
|
|
|
|
|
|
|
- **Function** `callback`: The callback function.
|
|
|
|
|
2015-02-01 07:24:53 +01:00
|
|
|
### `get(data, callback)`
|
2015-01-26 09:08:11 +01:00
|
|
|
Gets the git stats.
|
|
|
|
|
2015-02-01 07:24:53 +01:00
|
|
|
#### Params
|
2015-01-26 09:08:11 +01:00
|
|
|
- **Object** `data`: The stats filter. **Not yet implemented**.
|
|
|
|
- **Function** `callback`: The callback function.
|
|
|
|
|
|
|
|
## How to contribute
|
|
|
|
|
|
|
|
1. File an issue in the repository, using the bug tracker, describing the
|
|
|
|
contribution you'd like to make. This will help us to get you started on the
|
|
|
|
right foot.
|
|
|
|
2. Fork the project in your account and create a new branch:
|
|
|
|
`your-great-feature`.
|
|
|
|
3. Commit your changes in that branch.
|
|
|
|
4. Open a pull request, and reference the initial issue in the pull request
|
|
|
|
message.
|
|
|
|
|
|
|
|
## License
|
|
|
|
See the [LICENSE](./LICENSE) file.
|