Initial attempt to make gitstats create cumulative statistics for multiple
repos (the case of a single project consisting of more than just one git
repository.)
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
Old versions of gnuplot produce garbage if the author's name contain
non-ascii, but gnuplot 4.4 seems to handle it just fine.
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
While it's fine to compute project-wide informations (LOC) on a linear
history, we don't want to assign added lines of code to the user doing
a merge when the code was initially written by someone else on a
branch.
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
Recent versions of gnuplot understand "set size" as the amount of
space to use within the canava size. "set size 1,0.5" was therefore
creating large images with the top half being blank.
set terminal size works as expected at least with gnuplot 4.4 and 4.2.
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
gitstats is dual-licensed under GPLv2/GPLv3, so naturally the contributions are
asked to be GPLv2+.
Thanks-to: Matthieu Moy <Matthieu.Moy@grenoble-inp.fr>
The following command used to fail because git shortlog has some witty magic to
decide the behaviour based on whether stdin is a terminal:
./gitstats /repo /dst < /dev/null
effectively causing a lot of shell scripts calling gitstats to fail with
"Division by zero" in author statistics.
Thanks-to: Bertrand Jacquin <beber@meleeweb.net>
Thanks-to: Sylvain Rabot <sylvain@abstraction.fr>
When enabled, the lines of code statistics are collected from linear history.
The downside is that commits of feature long feature branches appear only at
the point where a merge commit is made.
If disabled (old behaviour), the problem is that if two branches contain the
same changes (for example, removal of same lines), the statistics get skewed.
Fixes line count statistics for this example repository:
git://github.com/septract/jstar.git
Thanks-to: Radu Grigore <radugrigore@users.sourceforge.net>
This patch changes Makefile to use perl for version number replacement to fix
'make install' on Darwin. The problem is that GNU sed and sed on Darwin (and
probably on BSDs) behave differently with regards to the '-i' command line
option.
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
Clear files, inserted and deleted after storing them for the preceding commit.
git-svn, for example, can have empty commits (when a directory is created),
causing the statistics to get skewed.
[hoxu@users.sf.net: rewrote commit message based on Tyler's mail]
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
This fixes an issue where the cache fails to load on Windows machines.
EOL characters were getting modified, causing zlib uncompression to fail.
[hoxu@users.sf.net: slightly modified the commit message]
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
getAuthors sorts by commits, sorting it again negates that and instead
sorts the list alphabetically again which kind of defeats the purpose.
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
Commit e5fc428ecf3b23ed6b1a640bbddff9a59b251969 broke for linux-2.6 repository
for example, so we make a little bit more effort in handling weird e-mail
addresses. The linux-2.6 repository contains quite a few of these, some can be
found with the following command:
git rev-list --pretty=format:"%H %an <%aE>" HEAD | grep -v ^commit |grep -v '@'
commits_frac was used in date_first's place in f.write and, thus, completely
wrong in the resulting HTML report.
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>