Commit graph

38 commits

Author SHA1 Message Date
Adam Waldenberg
f95e81bb69 International characters were being stripped when running under Python 2. 2013-06-05 01:15:54 +02:00
Adam Waldenberg
db77273659 Fixed a potential error with comment detection.
This particular faulty detection could only occur when multi-line comments
were used as single-line comments.
2013-06-02 19:14:25 +02:00
Adam Waldenberg
cf40f16119 Fixed the decoding of strings (Fixes issue 2).
It should now (hopefully) behave the same in all Python versions 2.6+.
2013-05-16 03:06:28 +02:00
Adam Waldenberg
c6771c0b9f Hovering (in HTML output) is now done with CSS instead of javascript. 2013-05-16 03:06:06 +02:00
Adam Waldenberg
028469080f The "--since" flag is now also passed to the blame module. 2013-05-14 01:59:27 +02:00
Adam Waldenberg
b1dfade98d Fixed compatibility with Python 3. 2013-05-08 18:52:08 +02:00
Adam Waldenberg
10179d12ed Added filtering of minor authors to the tables in the HTML output.
In practice, this means that the tables are initially collapsed and hide
all authors with a workload below one percent. The user can expand a
table in order to show all authors found during statistical analysis.
2013-05-08 16:53:20 +02:00
Adam Waldenberg
b50f85ba17 Improved the pie charts of the HTML output.
All authors with a workload less than one percent are now combined into
the same slice of the pie chart.
2013-05-08 05:32:45 +02:00
Adam Waldenberg
f4c3285cb8 Added the ability to limit results by date range (Fixes issue 1).
This can now be done by supplying one (or both) of the "--since" and
"--until" parameters to the gitinspector executable. These parameters
work in the same manner as they do in git and accept the same values.
Statistics will only be generated from data between the given interval.
2013-05-01 23:09:10 +02:00
Adam Waldenberg
0fc69ff19c Fixed a long standing bug related to international characters.
This bug occurred because whenever the "git blame" command detects
international character it outputs a string escaped character string in
the form "\ddd\ddd". Gitinspector didn't properly handle this. Python
offers a way to decode this using the decode function together with the
"string_escape" encoding.
2013-04-16 14:58:33 +02:00
Adam Waldenberg
66915b7737 Moved the script tag outputted by the blame module. 2013-04-09 23:00:11 +02:00
Adam Waldenberg
32c3b5af9f Updated all copyright notices of the project to include the year 2013. 2013-04-05 14:15:56 +02:00
Adam Waldenberg
bc9503928f Changed the HTML output to a pure single-column output. 2013-03-11 09:43:51 +01:00
Adam Waldenberg
37c4260149 Added an Outputable class and worked a little more on the HTML output.
The Outputable class is now the base class of all the classes that want to
output formatted text. This is more object oriented and cleaner solution
compared to the previous implementation.
2013-03-11 00:23:50 +01:00
Adam Waldenberg
3e8d6434e8 Perfected the look of the HTML output from the blame module.
This output is a good start and should work fine as a first template that
can be used when implementing HTML output in all other modules.

Once this is done we can work on adding some interactivity. However; it
might be a good idea to just release a version with some simple HTML
output before adding more complex stuff.
2012-11-17 02:58:56 +01:00
Adam Waldenberg
f4c8aa05b5 Created an initial version of the HTML in the blame module.
Currently, the output is very rough and needs a lot of work. However, the
integration with flot and all data output seems to be correct.
2012-11-17 00:35:56 +01:00
Adam Waldenberg
e833ac1c9b Fixed some violations reported by pylint. 2012-11-13 12:18:30 +01:00
Adam Waldenberg
e4a1b6ea15 The blame module now only shows progress in text format output. 2012-10-19 02:00:34 +02:00
Adam Waldenberg
8afc57edcc Implemented support for XML output in the blame module. 2012-10-18 17:00:35 +02:00
Adam Waldenberg
35dc497e94 Removed keyword arguments from the decode() calls.
This makes the code compatible with Python 2.6 again.
2012-05-29 03:13:49 +02:00
Adam Waldenberg
c59c8c23eb More changes done to improve compatibility with Python 3.
Changed from using the deprecated functions in the os module to using the
new ones in the subprocess module. All string reading now also uses the
string.decode() function, which seems to be recommended practice whenever
the input is a little "iffy".
2012-05-28 16:35:47 +02:00
Adam Waldenberg
2d48510777 Updated the whole project to be compatible with Python 3. 2012-05-25 16:42:29 +02:00
Adam Waldenberg
949b62736c Added a responsibilities parameter that shows which author has done what.
The responsibilities module shows a maximum of 10 files, per author, that each
author is responsible for. This fucntionality can be enabled by supplying -r
or --responsibilities to gitinspector. The parameter is also enabled if
--tda367 is specified.
2012-05-25 14:27:28 +02:00
Adam Waldenberg
0fa883eb55 Now only clears the row before blame statistics if on a real terminal. 2012-05-24 02:41:34 +02:00
Adam Waldenberg
96e87ae457 Added a constant to the blame module for the number of threads. 2012-05-23 09:18:50 +02:00
Adam Waldenberg
93cf15f500 Added filtering support.
Filtering can be specified using an arbitrary number of -x (or --exclude)
parameters. The filtering works in a similar fashion to an inverted grep,
meaning that matched file names will be excluded from the generated
statistics.
2012-05-22 17:57:44 +02:00
Adam Waldenberg
81e3f5d82c The ctrl-c signal can now be sent when the blame analysis is running.
Fixed by just enabling the daemon property on the blame threads.
2012-05-21 15:43:51 +02:00
Adam Waldenberg
494679520f Enabled threading in the blame module and removed the system module.
To accommodate this modification, the changing of working directory (when
a repository is specified) has been moved from the system module to the
main gitinspector module. This enables us to change directory in one go
when gitinspector starts, thus removing the need for the previous system
module.
2012-05-20 22:02:08 +02:00
Adam Waldenberg
5096aae9c1 Implemented threading in the blame module. This is currently disabled.
The following concurrency components control the implementation:
 * A semaphore that limits the number of running blame instances to the
   number of cores detected in the system.
 * A lock that protects internal data structures inside the blame module.

The threading functionality is currently disabled because some additional
changes are needed in the system module before it can work correctly.
2012-05-20 16:46:09 +02:00
Adam Waldenberg
3302c71902 Added a progress text which is shown during the blame stage when -H is given.
This was added because "git blame -C -C" really takes a lot of time and
something is needed to indicate that gitinspector is actually running during
this stage.

The progress text is not shown if stdout points to a non-terminal.
2012-05-18 04:33:10 +02:00
Adam Waldenberg
43859e7742 gitinspector now tracks rows "really hard" if the -H flag is given. 2012-05-18 03:22:42 +02:00
Adam Waldenberg
676cb5c114 Improved the comments module yet again.
It should now be able to handle multi-line comments that are only on one line.
Furthermore, it should also handle multi-line comments from languages such as
python (where the identifiers for comment begining/end are identical).
2012-05-16 04:14:48 +02:00
Adam Waldenberg
842ca6b87c Modified the comment module to properly detect comments mixed in with code. 2012-05-16 01:49:23 +02:00
Adam Waldenberg
82700b38c2 Renamed the sysrun module to system.
This module will from now on include all "system related" commands.
2012-05-14 15:23:15 +02:00
Adam Waldenberg
c964bf14d3 Now also outputs the percentage of comments by each author.
Currently supports comments for the extensions; java, c, cpp, h, hpp, py, glsl,
rb, js, sql and xml.
2012-05-09 12:14:25 +02:00
Adam Waldenberg
f8b3a20652 Added a new --checkout-missing option. Missing files are now pretty-printed.
If any missing files are detected during analysis, gitinspector reports them
in a list. If, on the other hand, the --checkout-missing option is supplied,
gitinspector will try to checkout any missing files instead.
2012-05-07 09:38:11 +02:00
Adam Waldenberg
e5137a8468 Ran the whole project through "pylint" and fixed violations.
Also created a custom .pylintrc file that disables a few warnings, but for the
most part, gitinspector now follows proper python guidelines.
2012-05-04 15:15:41 +02:00
Adam Waldenberg
5621652946 Initial commit. 2012-05-04 11:40:30 +02:00