[PYTHON] Ich habe versucht, Git Inspector zu verwenden

Installation

Laden Sie es von der offiziellen Website https://code.google.com/p/gitinspector/ herunter und entpacken Sie es. Benötigt Git und Python 2.6 oder höher, mit CentOS 6.x ist yum wahrscheinlich in Ordnung.

Wie benutzt man

gitinspector.py [optional] [git-Repository-Pfad]

Das Analyseergebnis wird standardmäßig ausgegeben. Wenn Sie es also in einer Datei speichern möchten, verwenden Sie die Umleitung.

gitinspector.py -f java,conf,css,html,js,properties,sh,vm,xml -F htmlembedded -THmrl /home/mriit/ITRM > /var/www/html/inspector_simple.html

Geben Sie die Erweiterung der zu analysierenden Datei mit -f durch Kommas getrennt an, geben Sie das Ausgabeformat mit -F an, und der Standardwert ist das Textformat. Das HTML-Format bezieht sich von außen auf jQuery usw., und das eingebettete HTML ist dasjenige, das sie einbettet. Es gibt offiziell verschiedene Beispiele, von denen einige unten aufgeführt sind.

inspector_sample.png

Für jeden Autor werden die Anzahl der Commits, die Anzahl der hinzugefügten Zeilen, die Anzahl der gelöschten Zeilen, die Änderungsrate, die Anzahl der geänderten Zeilen für jeden Monat (-W für jede Woche) usw. angezeigt.

Ich verstehe den Unfall nicht ...

Als ich es so benutzte wie es war, bekam ich den Fehler "Git Schuld hat keine Option". Bestätigt, dass Git 1.7.1 -e nicht schuld ist. Es gibt eine Beschreibung in tad.py, also habe ich beschlossen, damit zu spielen.

Es scheint, dass man nicht einfach "-e" kratzen kann

Nachdem Sie verschiedene Dinge ausprobiert haben, scheint -n die richtige Antwort zu sein. Machen Sie den relevanten Teil wie folgt

blame.py


blame_string = "git blame -n -w {0} ".format("-C -C -M" if hard else "") + \

Dann scheint es, dass die Namenserfassung des Autors nicht gut gelaufen ist ... Nimmt die folgende Methode eine E-Mail aus der Ausgabe von git tad und nimmt den Namen des Autors basierend darauf?

blame.py


@staticmethod
        def get_author_email(string):
                author_email = re.search(" \((.*?)\d\d\d\d-\d\d-\d\d", string)
                return author_email.group(1).strip().lstrip("<").rstrip(">")

changes.py


def get_latest_author_by_email(self, name):
               return self.authors_by_email[name]

Wenn ich in meiner Umgebung die Schuld gegeben habe, erscheint der Name des Autors, und ich dachte, es wäre besser, das nicht zu tun. Deshalb habe ich die obige Methode geändert, um den Namen zurückzugeben, den ich erhalten habe, und es hat funktioniert. .. Ich denke, es gibt eine angemessenere Lösung, aber vorerst ist dies die richtige.

Zusammenfassung

Es ist voller Mist, aber ich bin froh, dass ich die Informationen vorerst aus dem Repository erhalten habe. Möglicherweise gab es auch ein Problem mit Git. Schau dir das regelmäßig an, wenn du mit git entwickelst. Wenn der Zeitraum kurz ist, ist es möglicherweise besser, ihn wöchentlich anzuzeigen.

Recommended Posts

Ich habe versucht, Git Inspector zu verwenden
Ich habe versucht, parametrisiert zu verwenden
Ich habe versucht, Argparse zu verwenden
Ich habe versucht, Mimesis zu verwenden
Ich habe versucht, anytree zu verwenden
Ich habe versucht, Summpy zu verwenden
Ich habe versucht, Coturn zu verwenden
Ich habe versucht, Pipenv zu verwenden
Ich habe versucht, Matplotlib zu verwenden
Ich habe versucht, "Anvil" zu verwenden.
Ich habe versucht, Hubot zu verwenden
Ich habe versucht, ESPCN zu verwenden
Ich habe versucht, openpyxl zu verwenden
Ich habe versucht, Ipython zu verwenden
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, Cron zu verwenden
Ich habe versucht, ngrok zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, Jupyter zu verwenden
Ich habe versucht, doctest zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, jinja2 zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, das Zeitfenster zu verwenden
[Ich habe versucht, Pythonista 3 zu verwenden] Einführung
Ich habe versucht, easydict (Memo) zu verwenden.
Ich habe versucht, das Gesicht mit Face ++ zu erkennen
Ich habe versucht, RandomForest zu verwenden
Ich habe versucht, BigQuery ML zu verwenden
Ich habe versucht, Magenta / TensorFlow zu verwenden
Ich habe versucht, AWS Chalice zu verwenden
Ich habe versucht, Slack Emojinator zu verwenden
Ich habe versucht, Rotrics Dex Arm # 2 zu verwenden
Ich habe versucht, Rotrics Dex Arm zu verwenden
Ich habe versucht, GrabCut von OpenCV zu verwenden
Ich habe versucht, mit dem Server-Client über tmux zu kommunizieren
Ich habe versucht, mit PyBrain verstärkt zu lernen
Ich habe versucht, mit Theano tief zu lernen
Ich habe irgendwie versucht, ein Jupyter-Notebook zu verwenden
[Kaggle] Ich habe versucht, mit unausgeglichenem Lernen zu unterabtasten
Ich habe versucht, mit OpenPose eine Schildkrötenwelle zu schießen
Ich habe versucht, die checkio-API zu verwenden
Ich habe versucht, asynchrone Verarbeitung mit Asyncio
Ich habe versucht, Amazon SQS mit Django-Sellerie zu verwenden
Ich habe versucht zu kratzen
Ich habe PyQ ausprobiert
Ich habe versucht, ○ ✕ mit TensorFlow zu spielen
Ich habe versucht, YOUTUBE Data API V3 zu verwenden
Ich habe versucht, Selen mit Headless-Chrom zu verwenden
Ich habe versucht, mit einer Schildkröte eine Linie zu ziehen
Ich habe versucht, die Bayes'sche Optimierung von Python zu verwenden
Ich habe versucht, Text mit TensorFlow zu klassifizieren
Ich habe versucht, die selektive Suche als R-CNN zu verwenden
Ich habe versucht, die UnityCloudBuild-API von Python zu verwenden
Ich habe es mit Papiermühle versucht
Ich habe versucht, Django-Slack
Ich habe versucht, Headless Chrome von Selenium zu verwenden