http://qiita.com/7of9/items/e1e151794f80fb9c24fc J'ai également essayé d'implémenter une estimation intégrée du temps de travail auquel j'ai soudainement pensé en étudiant python.
Tout d'abord, créez un fichier tmp.log dans le référentiel git que vous souhaitez étudier.
$ git log --pretty=format:'%h %ad %s' --date=iso > tmp.log
Après cela, si vous exécutez le script, tmp.log sera lu et le temps accumulé sera affiché.
$ ./git_log_analysis.py
Le format d'affichage est le suivant, et 764 sur la dernière ligne est le temps accumulé (minutes).
...
2015-11-13 21:11:06 801 750 # sec, min
2015-11-13 12:53:26 29860 750 # sec, min
2015-11-13 12:44:36 530 758 # sec, min
2015-11-13 12:37:53 403 764 # sec, min
2015-11-13 07:12:08 19545 764 # sec, min
L'implémentation python (partie centrale) de linemonitor semble avoir pris un total (au moins) 12 heures.
Dans le calcul du temps total, on considère qu'il n'y a pas eu de travail pendant 4 heures ou plus. Dans mon cas, je ne m'engage pas plus de 4 heures. L'utilisateur doit modifier cette zone le cas échéant.
def calcElapsedTimeInMinutes(diff_sec):
diff_min = diff_sec / 60
diff_hr = diff_min / 60
if diff_hr >= 4:
return 0
else:
return diff_min
Comme il s'agit essentiellement de la différence entre les deux dates et heures, au moins les incertitudes suivantes sont incluses
--Je n'ai pas pris toute la différence de temps dans la mise en œuvre
v0.2
Frapper la commande git log une par une semblait fastidieux.
Je me suis souvenu que j'exécutais une commande lorsque j'ai implémenté shutdownButton, donc dans la v0.2 j'ai créé tmp.log automatiquement. Notez que si tmp.log existe déjà, il sera écrasé.
Recommended Posts