git-timecost/TODO.md

1.6 KiB

TODO : Fixes and ideas for the future

Add developper profile in a global config file

In ~/.config/git-timecost :

---
profiles:
  - name: Glenn Y. Rolland
    emails:
      - glenux@glenux.net
      - glenux@gmail.com
    times:
      tz: Europe/Paris
      - weekday: monday
        begin: 09
        end: 18
    costs:
      base: 70
      overtime: 140

  - name: Prabin Karki
    emails:
      - pkarki@gmail.com
    hours: 
      tz: Asia/Kathmandu
      begin: 9
      end: 18
    costs:
      base: 20
      overtime: 30

Then display:

  • total normal hours
  • total overtime hours
  • total cost :
     total\_cost = \sum_{person \in Profiles} \Big( \sum_{hour\_type \in \{normal, extra\}}  \Big( spent\_time(hour\_type, person) * cost(hour\_type, person)  \Big) \Big) 

Then, depending on the person, chare

Merge users

Set-up a config file, either global or per repository With id => names associations, so we can merge users who commit with various names/emails/etc

- name: "John Smith <john.smith@company.com>", 
  match:
    - "John S. <john@example.com>",
    - "John Smith <john.s@example.com>",
    - "J. Smith <smith@example.com>"
- name: "Foo Bar <foobar@company.com>",
  match:
    - "Foo B. <foobar@example.com>"
    - "Foo Bar <foobar@company.com>"

Per user scotch

Different users have a different commit style & frequency. We should be able to define a per-user scotch.

Automatic scotch : Use median delay between consecutive commits, per user

def median(array)
  sorted = array.sort
  len = sorted.length
  return (sorted[(len - 1) / 2] + sorted[len / 2]) / 2.0
end