Граф коммитов

6 Коммитов

Автор SHA1 Сообщение Дата
Marco 3f731dad1b
Optimize experience calculation by having lists specific to items instead of carrying over the entire history all the time (#488)
* Stop getting a subset of revs

* Instead of carrying over all history day-by-day, use a deque with experience specific to a single item
2019-05-24 15:33:57 +02:00
Ayush Shridhar ec25e5126b Add tests for seniority calculation (#480) 2019-05-22 00:53:11 +02:00
Marco 1e18cd3fac
Store experiences directly in the commit object (#477)
* Store experiences directly in the commit object

This way we can avoid the huge dict of dicts of dicts mapping commit hashes to experiences

* Use tqdm to see progress during seniority calculation

* Make 'first_commit_time' a simple dict

* Store seniority directly in the commit object
2019-05-21 16:20:46 +02:00
Marco 72dab1a6d8
Gather more features about experiences (#467)
* Refactor things to avoid multiple sums and set updates

* Store max and min values too for experiences

* Store touched files and directories too as part of the commit data

* Remove useless default value for files_modified_num

* Use f-string instead of string concatenation for feature names

* Add more features about experiences (average, maximum, minimum, number of elements)

Fixes #370
2019-05-20 13:14:18 +02:00
Marco Castelluccio 3c91af9c60 Exclude previous commits since the beginning
Better implementation of 837169ebce
2019-05-16 01:51:28 +02:00
Marco ed992d57ec
Initial tests for repository module (#377)
* Test repository.get_revs function

* Test repository.get_directories function

* Split _hg_log function called by ProcessPoolExecutor in two to make it more easily testable

* Add logging when downloading file->component mapping

* Move the experience calculation code in a separate function

* Don't break experiences when there are days without commits

* Add tests for repository.calculate_experiences

Fixes #382

*  When a commit changes multiple files in the same component, don't overcount the experience

The commit itself was being considered as a previous commit touching the same components
2019-05-14 11:30:56 +02:00