On systems like Arch Linux `python` defaults to `python3` preventing
gitstats to start. This fixes it.
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
[hoxu@users.sf.net: Debian Jessie and CentOS 6.5 have /usr/bin/python2,
but OS X Yosemite only has /usr/bin/python2.7. There does not seem to be
a portable way to refer to python 2.x, so unfortunately on some
platforms the shebang needs to be modified manually]
When generating HTML output with a custom stylesheet specified using
-c style='mystyle.css' the CSS file specified was not being copied to
the target directory.
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
Split limit 5 was off by one, which resulted in incorrect
processing of file paths with spaces embedded in them.
New split limit of 4 gets the required parts, because it
specifies the allowed number of splits, not elements:
mode type hash size name
1 2 3 4
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
implement a way to limit the statistics to commits after a start date
This is really useful when computing statistics over a set of
repositories, where some repositories are much older than other.
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
This fixes a memory / ressource leak that manifests when computing
stats over big sets of repositories. It was eating more than 8G of
memory for ~15 git repositories.
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
Remove backticks from author names passed to gnuplot.
Without this, author names containing `touch /tmp/vulnerable` would cause said
file to appear after generating statistics for the given repository.
This is not an optimal solution. Instead of blacklisting characters we should
either whitelist some, or find a safe escape mechanism for gnuplot.
* author.txt was renamed to AUTHOR
* use git shortlog instead of git-shortlog
because the latter is not necessarily in PATH
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
Problem: gitstats will read every commit and every file in repository in one
thread during initial statistics generation (i.e. no cache available). It may
take much time in case of huge repositories (100 000+ files) Solution: Execute
all read commands in 24 threads instead of one
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>
RHBZ#962168. In response to user request added support for invoking with the -h
or --help argument to print usage information. Previously usage was only
printed if the user provided less than two arguments AND did not provide any
invalid arguments, as they were unhandled the commonly used -h and --help
arguments counted as invalid.
https://bugzilla.redhat.com/show_bug.cgi?id=962168
Signed-off-by: Heikki Hokkanen <hoxu@users.sf.net>