Commit graph

451 commits

Author SHA1 Message Date
Adam Waldenberg
6d77989e34 Fix logic error in the threading code of the changes module (Fixes #118).
This particular problem is also briefly mentioned in issue #115. The
fix resolves the overflow problem resulting in an array with a dangling
"None" type at the end. It also takes care of a race condition where
two threads by accident could update the same data.
2017-05-15 03:06:53 +02:00
Adam Waldenberg
c80c822892 Ignore any unicode_escape decode fails when decoding emails (Fixes #122).
This is only needed with emails that have escape characters, as described
in issue #46. If the call fails, it will most likely not affect us and
can be safely ignored.
2017-05-13 16:41:54 +02:00
Adam Waldenberg
b3fbb3e3c3 Removed dangling semicolon in changes module. 2017-05-13 16:36:05 +02:00
Bart van Andel
40cfd0ac84 Bump version for npm 2017-05-13 16:14:45 +02:00
Bart van Andel
1e5f5959db Convert line endings of Python files to Unix-style before publishing 2017-05-13 16:14:45 +02:00
Bart van Andel
a8e0de7910 Shorten description so it doesn't get truncated online 2017-05-13 16:14:45 +02:00
Bart van Andel
09c5e50381 Add some more keywords 2017-05-13 16:14:45 +02:00
Bart van Andel
55434ff76a Prefer npm global install 2017-05-13 16:14:45 +02:00
Bart van Andel
3d11cdce44 Setup npm package 2017-05-13 16:14:45 +02:00
GuillermoMI
315f4079ac Fix for PHP close comment token. 2017-05-13 16:06:38 +02:00
Adam Waldenberg
d0798d8358 Set ref to HEAD when starting changes analysis i (Fixes #132).
This gets rid of any invalid refs being set at a subsequent point during
execution.
2017-05-13 15:43:09 +02:00
Adam Waldenberg
a56680c4b4 Handle git-rev-list and git-ls-tree with empty changesets (#132, #115).
If the changeset was empty or filtered with no matching files a bunch of
errors would be thrown from git with no proper results being returned
back to gitinspector.

We now pipe stderr (catching the output) and also check the return code
when running these commands.
2017-05-13 15:41:13 +02:00
Adam Waldenberg
8cff4bd208 Removed logically redundant part of an if statement.
The len(self.commits) > 0 check was already being performed one level up.
2017-05-13 15:41:13 +02:00
Adam Waldenberg
983d3d05bd When generating the report, summed changes need to be non-empty (#132).
Previoulsy, we were just checking against the changes returned from the
last repository analyzed - which of course broke the whole thing if that
repository had no matching commits!
2017-05-13 15:39:38 +02:00
Adam Waldenberg
9f336e63ce Faulty clone code made it possible to run gitinspector in sub-directories.
This resulted in undefined behavior. The base directory was being
incorrectly defined when cloning did not occur.
2017-05-12 15:31:28 +02:00
Adam Waldenberg
ba1c3341fe The typo "defaut" should be "default" in documentation (Fixes #113). 2016-07-19 04:04:31 +02:00
Adam Waldenberg
e543eeaf58 Only include valid extensions in blame output (#95). 2016-02-03 14:22:19 +01:00
Adam Waldenberg
6e0365e8ba Fix inconsistent behavior with -f "**" (#95).
Improved by taking advantage of the detected file types during the first
pass in the changes module.
2016-02-03 11:47:00 +01:00
Adam Waldenberg
139f5306f4 Better support terminals behaving like urxvt (Fixes #101).
This terminal was allowing backspaces (\b) to bypass column zero on the
current row, completely breaking the current way gitinspector was
clearing text outputted to the currently active row.
2016-01-21 00:22:52 +01:00
Adam Waldenberg
9b5bbc469f Removed superfluous quotation character in the JSON metrics output. 2015-12-18 08:41:46 +01:00
Adam Waldenberg
a9d519c93b Recognize Rust programming language (.rs) comments (#83). 2015-12-17 03:15:22 +01:00
Adam Waldenberg
9aa4aba336 Removed size parameter from gravatar URL's in JSON output (#50). 2015-12-17 03:08:33 +01:00
Adam Waldenberg
6ef9936508 Fix some minor typos in the documentation.
Also regenerated the documentation using AsciiDoc.
2015-12-14 05:19:09 +01:00
Adam Waldenberg
150e316918 Add documentation about JSON output to the AsciiDoc file. 2015-12-14 05:17:11 +01:00
Adam Waldenberg
ba049a0367 Fix AttributeError thrown when no extensions were detected (Fixes #91).
The bug was introduced with the commit ecc67a3 and was caused by the
initialization of an empty Changes object.

This fix makes sure that the __iadd__() method properly handles empty
change sets and returns a satisfactory object back when completing
execution.
2015-12-12 07:49:58 +01:00
Gregrs
3c48789890 Recognise Lilypond (.ly and .ily) comments 2015-12-10 07:34:18 +00:00
Adam Waldenberg
533bba64c6 Recognize comments in Robot Framework (.robot) files (#88). 2015-12-09 09:30:49 +01:00
Adam Waldenberg
4ee02f5907 Recognize Go language (.go) comments (#86). 2015-11-27 23:41:53 +01:00
Adam Waldenberg
5275521a9a Added author and license meta data to gitinspector piclet image. 2015-11-26 00:58:30 +01:00
Adam Waldenberg
ecc67a31a5 Repositories are now merged with __iadd__() instead of __add__().
Thus, we are overriding the "+=" operator instead of "+". This
implementation results in a much cleaner solution as we were directly
updating "self" when overriding __add__(), something which isn't really
an acceptable solution as we were changing the supplied in-parameters.
2015-11-25 17:28:50 +01:00
Adam Waldenberg
9bd4b979b3 Fixed confusing variable names in JSON output functions and methods.
These functions and methods were originally based on the XML output.
Consequently, those variable names were also preserved. All "<name>_xml"
variables are now named "<name>_json" instead.
2015-11-24 21:20:35 +01:00
Adam Waldenberg
bfde70db91 Include author email in JSON and HTML outputs (Fixes #85). 2015-11-24 21:02:32 +01:00
Adam Waldenberg
12f8c8a192 Use repos_string instead of repos[0].name in JSON output in format.py. 2015-11-07 05:55:14 +01:00
Adam Waldenberg
9a22763e64 Added missing line break in format.__get_zip_file_content__(...). 2015-11-07 05:52:23 +01:00
Adam Waldenberg
346645d655 The format.__output_html_template__(...) function now cleans up. 2015-11-07 05:51:40 +01:00
Adam Waldenberg
91d94446a7 The logo in the HTML output now links to the gitinspector page. 2015-11-04 05:56:52 +01:00
Adam Waldenberg
88d840dd51 Gitinspector now has a better and more clear logo. 2015-11-04 05:31:24 +01:00
Adam Waldenberg
26f77e0ee4 The XML output now prints repositories in a proper XML list.
If one repository is found, the following format is used:

<repository>name</repository>

If multiple repositories are found, the following format is used:

<repositories>
	<repository>name</repository>
	<repository>name</repository>
	...
</repositories>
2015-11-03 23:00:17 +01:00
Adam Waldenberg
4d6ecd3123 Avoid hyphen characters ("-") in JSON properties.
Using that character is obviously a bad idea, as it is reserved
for substraction in most programming languages; making output a
hassle to parse.
2015-11-03 22:52:17 +01:00
Adam Waldenberg
9b3a5b674e Some output was missing in the JSON output.
Repository names, gitinspector version and report date were all missing
from the output when JSON was selected.
2015-11-03 22:42:23 +01:00
Adam Waldenberg
87fd5b467f Upgraded the JQuery version in the flot archive to 1.9.1 (#28).
This is the minimal version required by Bootstrap3 (which we will
base the new responsive HTML theme on). This upgrade required changes
to the JavaScript code, as toggle(...) has been deprecated since
version 1.9.x of JQuery.
2015-11-03 04:25:40 +01:00
Adam Waldenberg
4fd918fca4 Fixed some pylint violations. 2015-11-03 00:44:47 +01:00
Adam Waldenberg
949a301698 Fixed a few typo mistakes in the HTML output of the format module. 2015-11-03 00:36:05 +01:00
Adam Waldenberg
211060c20e Updated the flot archive to version 0.8.3. 2015-11-03 00:33:16 +01:00
Adam Waldenberg
9ada057d81 Progress output now includes repository name (#24).
The name of the repository is only printed when multiple repositories
are specified. Otherwise, gitinspector falls back to the previous
behavior
2015-11-02 18:22:56 +01:00
Adam Waldenberg
7dda8d34b5 Made terminal.output_progress(...) aware of the terminal width.
Instead of clearing the row using the "\b" character on each
iteration, the function now passes a carriage return ("\r") instead.
Furthermore, the row is now always completely cleared before
printing the progress.
2015-11-02 18:02:54 +01:00
Adam Waldenberg
d5106a7302 Implemented validation and printing of all supplied repositories (#24).
Upon start-up, now directly passes all supplied paths to git in order
to check if all of them point to a valid git repository.

The clone.create() function now returns a list of Repository instances,
containing the name and location of the repository. This is later
used in the gitinspector module to execute and parse the repository.

format.output_header(...) now takes a list of Repository instances.
Thanks to this, each output format can print every supplied repository.
2015-11-02 02:30:28 +01:00
Adam Waldenberg
01bdbfaba1 basedir.get_basedir_git() now takes an optional path argument.
This enables us to change the working directory for the git commands
in the function upon request. This change is in preparation of the
completion of #24.
2015-11-01 17:19:46 +01:00
Adam Waldenberg
7f5b50cd0d Fixed formatting bug in the JSON output of the metrics module.
Sections in the metrics output were not being separated with a comma,
leading to invalid JSON.
2015-11-01 03:45:44 +01:00
Adam Waldenberg
802f18e7e5 The metrics module now supports multiple repositories (See issue #24). 2015-11-01 03:36:40 +01:00