Commit graph

229 commits

Author SHA1 Message Date
Adam Waldenberg
1e8e60574f The terminal module now also checks if the terminal actually is a terminal.
The output is now limited to 80 characters; this is useful when cat'ing to a
file and terminal.get_size() is called. The previous behaviour was to always
output according to the terminal width, something that probably isn't what
someone usually wants when outputting to a file.
2012-05-24 01:30:51 +02:00
Adam Waldenberg
1d30ffa7f4 The changes module now excludes commits without any valid FileDiff entries. 2012-05-24 00:56:19 +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
35b4194b40 Fixed a few misstakes in the help text. 2012-05-23 00:17:28 +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
260ab1273c Modified the help to better reflect what -H does. 2012-05-18 04:34:10 +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
d4c108d923 Removed an unused import from the extensions module. 2012-05-16 05:11:04 +02:00
Adam Waldenberg
ffbf4c3e90 Analyzed extensions are now marked when the -l switch is used.
This is extremely useful and shows exactly what files are actually used when
gitinspector generates the statistics.
2012-05-16 05:04:55 +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
4fb37bf914 Fixed a typo in the metrics module. 2012-05-15 00:35:20 +02:00
Adam Waldenberg
0188b16a37 Removed an unused import from the metrics module. 2012-05-14 15:27:14 +02:00
Adam Waldenberg
134d8d43a1 Added a metrics module together with a new -m option.
The metrics module currently only includes a very simple ELOC (estimated lines
of code) metric, but will be expanded eventually with some other metrics.
2012-05-14 15:24:45 +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
cf261728be The changes module now uses the -w flag when calling git.
This makes the generated statistics more coherent with the output from the
blame module.
2012-05-09 09:35:27 +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
4b1267ba39 The changes module no longer generates file diffs with 0 insertions/deletions.
Under certain conditions this could previously cause a division by zero in the
timeline.TimelineData.get_multiplier() method.
2012-05-05 23:24:14 +02:00
Adam Waldenberg
2d3e8e673c Completely removed the -x option controlling printing of escape characters.
Instead, gitinspector now probes stdout and checks if it points to a proper
terminal. If it doesn't, escape characters are skipped.
2012-05-05 10:26:02 +02:00
Adam Waldenberg
4c52b1b5e9 Fixed another typo in the readme file. 2012-05-05 10:12:53 +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
1eedd79089 Fixed a small typo in the readme file. 2012-05-04 13:15:45 +02:00
Adam Waldenberg
97ec237b49 Fixed a bug that caused the first commit not to be included in any statistics. 2012-05-04 12:37:55 +02:00
Adam Waldenberg
5621652946 Initial commit. 2012-05-04 11:40:30 +02:00