mirror of
https://github.com/ejwa/gitinspector.git
synced 2024-12-22 21:52:15 +01:00
Completely removed the missing module and the --checkout-missing option.
This is flag should not be needed anymore, as gitinspector always uses a reference point such as HEAD or some reivision when looking into the repository (never the file structure directly).
This commit is contained in:
parent
00fdec2928
commit
bc182c6924
6 changed files with 19 additions and 110 deletions
|
@ -28,7 +28,6 @@ import filtering
|
|||
import format
|
||||
import gravatar
|
||||
import interval
|
||||
import missing
|
||||
import multiprocessing
|
||||
import re
|
||||
import subprocess
|
||||
|
@ -97,15 +96,14 @@ class Blame:
|
|||
row = row.decode("utf-8", "replace").strip("\"").strip("'").strip()
|
||||
|
||||
if FileDiff.is_valid_extension(row) and not filtering.set_filtered(FileDiff.get_filename(row)):
|
||||
if not missing.add(row):
|
||||
blame_string = "git blame -e -w {0} ".format("-C -C -M" if hard else "") + \
|
||||
interval.get_since() + interval.get_ref() + " -- \"" + row + "\""
|
||||
thread = BlameThread(changes, blame_string, FileDiff.get_extension(row), self.blames, row.strip())
|
||||
thread.daemon = True
|
||||
thread.start()
|
||||
blame_string = "git blame -e -w {0} ".format("-C -C -M" if hard else "") + \
|
||||
interval.get_since() + interval.get_ref() + " -- \"" + row + "\""
|
||||
thread = BlameThread(changes, blame_string, FileDiff.get_extension(row), self.blames, row.strip())
|
||||
thread.daemon = True
|
||||
thread.start()
|
||||
|
||||
if hard:
|
||||
Blame.output_progress(i, len(lines))
|
||||
if hard:
|
||||
Blame.output_progress(i, len(lines))
|
||||
|
||||
# Make sure all threads have completed.
|
||||
for i in range(0, NUM_THREADS):
|
||||
|
|
|
@ -22,7 +22,6 @@ import extensions
|
|||
import filtering
|
||||
import format
|
||||
import interval
|
||||
import missing
|
||||
import optval
|
||||
import os
|
||||
import subprocess
|
||||
|
@ -54,8 +53,6 @@ def __read_git_config_string__(repo, variable):
|
|||
return (True, string) if len(string) > 0 else (False, None)
|
||||
|
||||
def init(run):
|
||||
missing.set_checkout_missing(__read_git_config_bool__(run.repo, "checkout-missing"))
|
||||
|
||||
var = __read_git_config_string__(run.repo, "file-types")
|
||||
if var[0]:
|
||||
extensions.define(var[1])
|
||||
|
|
|
@ -34,7 +34,6 @@ import help
|
|||
import interval
|
||||
import getopt
|
||||
import metrics
|
||||
import missing
|
||||
import os
|
||||
import optval
|
||||
import outputable
|
||||
|
@ -96,7 +95,6 @@ class Runner:
|
|||
if self.responsibilities:
|
||||
outputable.output(responsibilities.ResponsibilitiesOutput(self.hard))
|
||||
|
||||
outputable.output(missing.Missing())
|
||||
outputable.output(filtering.Filtering())
|
||||
|
||||
if self.list_file_types:
|
||||
|
@ -115,11 +113,10 @@ def main():
|
|||
__run__ = Runner()
|
||||
|
||||
try:
|
||||
__opts__, __args__ = optval.gnu_getopt(argv[1:], "cf:F:hHlLmrTwx:", ["checkout-missing:true", "exclude=",
|
||||
"file-types=", "format=", "hard:true", "help",
|
||||
"list-file-types:true", "localize-output:true",
|
||||
"metrics:true", "responsibilities:true", "since=",
|
||||
"grading:true", "timeline:true", "until=", "version",
|
||||
__opts__, __args__ = optval.gnu_getopt(argv[1:], "f:F:hHlLmrTwx:", ["exclude=", "file-types=", "format=",
|
||||
"hard:true", "help", "list-file-types:true",
|
||||
"localize-output:true", "metrics:true", "responsibilities:true",
|
||||
"since=", "grading:true", "timeline:true", "until=", "version",
|
||||
"weeks:true"])
|
||||
for arg in __args__:
|
||||
__run__.repo = arg
|
||||
|
@ -129,11 +126,7 @@ def main():
|
|||
clear_x_on_next_pass = True
|
||||
|
||||
for o, a in __opts__:
|
||||
if o == "-c":
|
||||
missing.set_checkout_missing(True)
|
||||
elif o == "--checkout-missing":
|
||||
missing.set_checkout_missing(optval.get_boolean_argument(a))
|
||||
elif o in("-h", "--help"):
|
||||
if o in("-h", "--help"):
|
||||
help.output()
|
||||
sys.exit(0)
|
||||
elif o in("-f", "--file-types"):
|
||||
|
|
|
@ -30,7 +30,6 @@ given, information will be fetched from the last directory specified.
|
|||
|
||||
Mandatory arguments to long options are mandatory for short options too.
|
||||
Boolean arguments can only be given to long options.
|
||||
-c, --checkout-missing[=BOOL] try to checkout any missing files
|
||||
-f, --file-types=EXTENSIONS a comma separated list of file extensions to
|
||||
include when computing statistics. The
|
||||
default extensions used are:
|
||||
|
|
|
@ -25,7 +25,6 @@ from changes import FileDiff
|
|||
import comment
|
||||
import filtering
|
||||
import interval
|
||||
import missing
|
||||
import subprocess
|
||||
|
||||
__metric_eloc__ = {"java": 500, "c": 500, "cpp": 500, "h": 300, "hpp": 300, "php": 500, "py": 500, "glsl": 1000,
|
||||
|
@ -43,13 +42,14 @@ class MetricsLogic:
|
|||
i = i.decode("utf-8", "replace").strip("\"").strip("'").strip()
|
||||
|
||||
if FileDiff.is_valid_extension(i) and not filtering.set_filtered(FileDiff.get_filename(i)):
|
||||
if not missing.add(i):
|
||||
file_r = open(i.strip(), "rb")
|
||||
extension = FileDiff.get_extension(i)
|
||||
lines = MetricsLogic.get_eloc(file_r, extension)
|
||||
file_r = subprocess.Popen("git show " + interval.get_ref() + ":" + i.strip(), shell=True, bufsize=1,
|
||||
stdout=subprocess.PIPE).stdout
|
||||
|
||||
if __metric_eloc__.get(extension, None) != None and __metric_eloc__[extension] < lines:
|
||||
self.eloc[i.strip()] = lines
|
||||
extension = FileDiff.get_extension(i)
|
||||
lines = MetricsLogic.get_eloc(file_r, extension)
|
||||
|
||||
if __metric_eloc__.get(extension, None) != None and __metric_eloc__[extension] < lines:
|
||||
self.eloc[i.strip()] = lines
|
||||
|
||||
@staticmethod
|
||||
def get_eloc(file_r, extension):
|
||||
|
|
|
@ -1,78 +0,0 @@
|
|||
# coding: utf-8
|
||||
#
|
||||
# Copyright © 2012-2013 Ejwa Software. All rights reserved.
|
||||
#
|
||||
# This file is part of gitinspector.
|
||||
#
|
||||
# gitinspector is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# gitinspector is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with gitinspector. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
from localization import N_
|
||||
from outputable import Outputable
|
||||
import interval
|
||||
import os
|
||||
import subprocess
|
||||
import terminal
|
||||
import textwrap
|
||||
|
||||
__checkout_missing__ = False
|
||||
__missing_files__ = set()
|
||||
|
||||
def add(file_name):
|
||||
if not interval.has_interval() and not os.path.exists(file_name):
|
||||
if __checkout_missing__:
|
||||
subprocess.call("git checkout \"" + file_name.strip() + "\"", shell=True)
|
||||
else:
|
||||
__missing_files__.add(file_name)
|
||||
return True
|
||||
return False
|
||||
|
||||
def set_checkout_missing(checkout):
|
||||
global __checkout_missing__
|
||||
__checkout_missing__ = checkout
|
||||
|
||||
MISSING_INFO_TEXT = N_("The following files were missing in the repository and were therefore not "
|
||||
"completely included in the statistical analysis. To include them, you can "
|
||||
"either checkout manually using git or use the -c option in gitinspector")
|
||||
|
||||
class Missing(Outputable):
|
||||
def output_html(self):
|
||||
if __missing_files__:
|
||||
missing_xml = "<div><div class=\"box\">"
|
||||
missing_xml += "<p>" + _(MISSING_INFO_TEXT) + ".</p>"
|
||||
|
||||
for missing in __missing_files__:
|
||||
missing_xml += "<p class=\"error\">" + missing + "</p>"
|
||||
|
||||
missing_xml += "</div></div>"
|
||||
print(missing_xml)
|
||||
|
||||
def output_text(self):
|
||||
if __missing_files__:
|
||||
print("\n" + textwrap.fill(_(MISSING_INFO_TEXT) + ":", width=terminal.get_size()[0]))
|
||||
|
||||
for missing in __missing_files__:
|
||||
(width, _unused) = terminal.get_size()
|
||||
print("...%s" % missing[-width+3:] if len(missing) > width else missing)
|
||||
|
||||
def output_xml(self):
|
||||
if __missing_files__:
|
||||
message_xml = "\t\t<message>" + _(MISSING_INFO_TEXT) + "</message>\n"
|
||||
missing_xml = ""
|
||||
|
||||
for missing in __missing_files__:
|
||||
missing_xml += "\t\t\t<file>" + missing + "</file>\n"
|
||||
|
||||
print("\t<missing>\n" + message_xml + "\t\t<files>\n" + missing_xml + "\t\t</files>\n\t</missing>")
|
Loading…
Reference in a new issue