{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
shatimestampauthormessageword_count
0101c9dc1498817227Dave SyerUpdate Spring Boot and Thymeleaf versions6
1ffa967c1492026060Antoine Reyspring-petclinic-angular1 repo renamed to spri...5
2fd1c7421488784768Antoine ReyDo not fail maven build when git directing is ...10
3f7925221487331121Stephane NicollMerge pull request #229 from henri-tremblay:eh...6
475912a01487331057Stephane NicollPolish contribution2
\n", "
" ], "text/plain": [ " sha timestamp author \\\n", "0 101c9dc 1498817227 Dave Syer \n", "1 ffa967c 1492026060 Antoine Rey \n", "2 fd1c742 1488784768 Antoine Rey \n", "3 f792522 1487331121 Stephane Nicoll \n", "4 75912a0 1487331057 Stephane Nicoll \n", "\n", " message word_count \n", "0 Update Spring Boot and Thymeleaf versions 6 \n", "1 spring-petclinic-angular1 repo renamed to spri... 5 \n", "2 Do not fail maven build when git directing is ... 10 \n", "3 Merge pull request #229 from henri-tremblay:eh... 6 \n", "4 Polish contribution 2 " ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import git \n", "import pandas as pd\n", "from io import StringIO\n", "\n", "GIT_REPO_PATH = r'../../spring-petclinic/'\n", "repo = git.Repo(GIT_REPO_PATH)\n", "git_bin = repo.git\n", "git_log = git_bin.execute('git log --pretty=format:\"%h\\t%at\\t%aN\\t%s\"')\n", "commits = pd.read_csv(StringIO(git_log), \n", " sep=\"\\t\",\n", " header=None, \n", " names=['sha', 'timestamp', 'author', 'message']\n", " )\n", "commits['word_count'] = commits['message'].str.count(\" \")+1\n", "commits.head()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "\n", "commits['word_count'].hist()\n", "plt.suptitle(\"Word count distribution of commit messages\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.1" } }, "nbformat": 4, "nbformat_minor": 2 }