Friday, December 5, 2008

shortstat

i ran some simple stats on mysql releases

*** mysql-4.1..mysql-5.0
commits: 7790
diffstat: 4424 files changed, 1271855 insertions(+), 199555 deletions(-)
/sql 255 files changed, 129725 insertions(+), 41964 deletions(-)
/test 1509 files changed, 954053 insertions(+), 15940 deletions(-)

*** mysql-5.0..mysql-5.1
commits: 6411
diffstat: 10244 files changed, 2172077 insertions(+), 1349098 deletions(-)
/sql 243 files changed, 151483 insertions(+), 69799 deletions(-)
/test 3862 files changed, 1258333 insertions(+), 206729 deletions(-)

*** mysql-5.1..mysql-6.0
commits: 3546
diffstat: 3574 files changed, 679669 insertions(+), 82131 deletions(-)
/sql 226 files changed, 63619 insertions(+), 16469 deletions(-)
/test 1772 files changed, 292884 insertions(+), 33553 deletions(-)
/storage 1184 files changed, 281298 insertions(+), 9179 deletions(-)

*** mysql-5.1..mysql-5.1-telco-6.2
commits: 761
diffstat: 841 files changed, 75105 insertions(+), 37063 deletions(-)
/sql 72 files changed, 8673 insertions(+), 5544 deletions(-)
/test 326 files changed, 12269 insertions(+), 18376 deletions(-)
/storage 396 files changed, 52983 insertions(+), 12434 deletions(-)

*** mysql-5.1-telco-6.2..mysql-5.1-telco-6.3
commits: 347
diffstat: 455 files changed, 27372 insertions(+), 10033 deletions(-)
/sql 39 files changed, 3471 insertions(+), 740 deletions(-)
/test 215 files changed, 8735 insertions(+), 2251 deletions(-)
/storage 182 files changed, 14990 insertions(+), 7031 deletions(-)

*** mysql-5.1-telco-6.3..mysql-5.1-telco-6.4
commits: 582
diffstat: 733 files changed, 73161 insertions(+), 30912 deletions(-)
/sql 12 files changed, 472 insertions(+), 250 deletions(-)
/test 48 files changed, 1151 insertions(+), 218 deletions(-)
/storage 622 files changed, 70267 insertions(+), 30010 deletions(-)

--- conclusions

none

--- how to get git copy of mysql repository

git-clone git://ndb.mysql.com/mysql.git

--- script that produces stats

#!/bin/sh

R="mysql-4.1..mysql-5.0 mysql-5.0..mysql-5.1 mysql-5.1..mysql-6.0 mysql-5.1..mysql-5.1-telco-6.2 mysql-5.1-telco-6.2..mysql-5.1-t
elco-6.3 mysql-5.1-telco-6.3..mysql-5.1-telco-6.4"

for i in $R
do
echo "*** $i"
echo "commits: `git-log --no-merges $i | grep Author | wc -l`"
echo "diffstat: `git-diff --shortstat $i`"
echo " /sql `git-diff --shortstat $i -- sql/`"
echo " /test `git-diff --shortstat $i -- mysql-test/`"
if [ -z "`echo $i | grep mysql-5.0`" ]
then
echo " /storage `git-diff --shortstat $i -- storage/`"
fi
echo
done