Commit Graph

450 Commits

Author SHA1 Message Date
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
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