<commit_before># Git hours

[![Build Status](https://travis-ci.org/kimmobrunfeldt/git-hours.svg)](https://travis-ci.org/kimmobrunfeldt/git-hours)

Estimate time spent on a git repository.

**For example time spent on [Twitter's Bootstrap](https://github.com/twbs/bootstrap)**

```javascript
➜  bootstrap git:(master) githours
{
  "total": {
    "hours": 6345,
    "commits": 9705
  }
}
```

## How it works

The algorithm for estimating hours is quite simple.

<br><br>

![](docs/step0.png)

*Go through all commits and compare the difference between
them in time.*

<br><br><br>
<commit_msg>Add understandable version of bootstrap's spent hours<commit_after># Git hours

[![Build Status](https://travis-ci.org/kimmobrunfeldt/git-hours.svg)](https://travis-ci.org/kimmobrunfeldt/git-hours)

Estimate time spent on a git repository.

**For example time spent on [Twitter's Bootstrap](https://github.com/twbs/bootstrap)**

```javascript
➜  bootstrap git:(master) githours
{
  "total": {
    "hours": 6345,
    "commits": 9705
  }
}
```

From a person working 8 hours per day, it would take more than 2 years to build bootstrap.

## How it works

The algorithm for estimating hours is quite simple.

<br><br>

![](docs/step0.png)

*Go through all commits and compare the difference between
them in time.*

<br><br><br>

{'fraction_non_alphanumeric': 0.14361702127659576, 'fraction_numerical': 0.015197568389057751, 'mean_word_length': 4.375510204081633, 'pattern_counts': {'":': 6, '<': 13, '<?xml version=': 0, '>': 13, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '389183', 'n_tokens_mistral': 488, 'n_tokens_neox': 441, 'n_words': 134}