Commit graph

454 commits

Author SHA1 Message Date
Adam Waldenberg
0669adc560 Implemented support for XML output in the metrics module. 2012-10-23 11:25:52 +02:00
Adam Waldenberg
c4b108b7ff Fixed broken --version text output. 2012-10-21 01:27:50 +02:00
Adam Waldenberg
a72a29212a Implemented support for XML output in the timeline module. 2012-10-21 01:22:21 +02:00
Adam Waldenberg
4170c00c03 Added missing gitinspector tag to the XML output of the version flag.
This got accidentally removed when the implementation of the footer and
header functions in the format module were added.
2012-10-21 00:42:31 +02:00
Adam Waldenberg
00baf350a8 Implemented support for XML output in the extensions module. 2012-10-19 02:01:10 +02: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
77111094b6 Added a missing newline output in the changes module. 2012-10-18 17:01:40 +02:00
Adam Waldenberg
8afc57edcc Implemented support for XML output in the blame module. 2012-10-18 17:00:35 +02:00
Adam Waldenberg
a557ff9944 Implemented output_header/footer() in the format module.
This enables us to fetch XML output from multiple sources in-between the
footer and header. These functions are called at the beginning and end
when gitinspector runs.
2012-10-18 16:59:52 +02:00
Adam Waldenberg
d9c94b53d6 Fixed the packing and unpacking of parameters in the format module.
Forgot to specify the '*' operator when passing the parameters to the
callback functions; something which resulted in a dictionary being sent
into the callback functions. Obviously, this is not what we want.
2012-10-18 16:56:46 +02:00
Adam Waldenberg
e11606bcaf Implemented support for XML output in the changes module. 2012-10-18 15:35:23 +02:00
Adam Waldenberg
ed92376d35 Implemented support for XML output in the version module. 2012-10-18 15:34:16 +02:00
Adam Waldenberg
fb0b29c6c5 The format module now supports function callbacks for different formats.
There is now a call_output_function() which automatically decides which
function (of any three supplied ones) should be called.
2012-10-18 15:32:55 +02:00
Adam Waldenberg
ac5c5ddb31 Added format module with initial support for different formats.
Currently this does nothing but will later enable us to output xml and
html alongside the current support for text output.
2012-10-12 12:52:35 +02:00
Adam Waldenberg
b18e31a20b Updated help text (-h) to describe the --grading flag instead of --tda367. 2012-10-09 23:00:47 +02:00
Adam Waldenberg
28d7981bdf The flag --tda367 has been changed to --grading; making it more general. 2012-10-09 23:00:27 +02:00
Adam Waldenberg
12159cd398 Bumped the version number to 0.1.0. 2012-05-29 03:15:29 +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
22809a3b53 Extended help to better describe the -x (--exclude) parameter. 2012-05-25 14:28:43 +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
ed501fe757 Longer file names are now generated when "git log" runs in the changes module.
The default setting configures printed file names to fit to a 80 character
wide terminal; something that destroys the ability to do proper filtering of
long file names in gitinspector.
2012-05-24 02:03:57 +02:00
Adam Waldenberg
706dd6c07a Appropriate modules now take the terminal width into consideration. 2012-05-24 02:00:24 +02:00
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