[PYTHON] J'ai essayé d'utiliser git inspector

Installation

Téléchargez depuis le site officiel https://code.google.com/p/gitinspector/ et décompressez. Nécessite git et Python 2.6 ou supérieur, avec CentOS 6.x yum est probablement bien.

Comment utiliser

gitinspector.py [facultatif] [chemin du référentiel git]

Le résultat de l'analyse est sorti en standard, donc si vous souhaitez l'enregistrer dans un fichier, utilisez la redirection.

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

Spécifiez l'extension du fichier que vous souhaitez analyser avec -f, séparés par des virgules, spécifiez le format de sortie avec -F et la valeur par défaut est le format texte. Le format html fait référence à jQuery, etc. de l'extérieur, et le html intégré est celui qui les intègre. Il existe officiellement différents échantillons, dont certains sont énumérés ci-dessous.

inspector_sample.png

Pour chaque auteur, le nombre de commits, le nombre de lignes ajoutées, le nombre de lignes supprimées, le taux de changement, le nombre de lignes modifiées pour chaque mois (-W pour chaque semaine), etc. sont affichés.

Je ne comprends pas l'accident ...

Quand je l'ai utilisé tel quel, j'ai eu l'erreur "git blame does not have e option". Confirmé que git 1.7.1 n'a pas la responsabilité de -e. Il y a une description dans blame.py, alors j'ai décidé de jouer avec.

Il semble que vous ne pouvez pas simplement gratter "-e"

Après avoir essayé diverses choses, -n semble être la bonne réponse, alors faites la partie pertinente comme suit

blame.py


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

Ensuite, il semble que l'acquisition du nom de l'auteur ne se soit pas bien déroulée ... La méthode suivante prend-elle un e-mail de la sortie de git blame et prend-elle le nom de l'auteur en fonction de celui-ci?

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]

Quand j'ai blâmé dans mon environnement, le nom de l'auteur apparaît, alors j'ai pensé qu'il valait mieux ne pas le faire, alors j'ai changé la méthode ci-dessus pour renvoyer le nom que j'ai obtenu, et cela a fonctionné. .. Je pense qu'il existe une solution plus appropriée, mais pour le moment, c'est celle-là.

Résumé

C'est plein de merde, mais je suis content d'avoir obtenu les informations du référentiel pour le moment. Il peut y avoir eu un problème avec git également. Regardez ceci régulièrement lorsque vous développez avec git. Si la période est courte, il peut être préférable de l'afficher chaque semaine.

Recommended Posts

J'ai essayé d'utiliser git inspector
J'ai essayé d'utiliser paramétré
J'ai essayé d'utiliser argparse
J'ai essayé d'utiliser la mimesis
J'ai essayé d'utiliser anytree
J'ai essayé d'utiliser Summpy
J'ai essayé d'utiliser coturn
J'ai essayé d'utiliser Pipenv
J'ai essayé d'utiliser matplotlib
J'ai essayé d'utiliser "Anvil".
J'ai essayé d'utiliser Hubot
J'ai essayé d'utiliser ESPCN
J'ai essayé d'utiliser openpyxl
J'ai essayé d'utiliser Ipython
J'ai essayé d'utiliser PyCaret
J'ai essayé d'utiliser cron
J'ai essayé d'utiliser ngrok
J'ai essayé d'utiliser face_recognition
J'ai essayé d'utiliser Jupyter
J'ai essayé d'utiliser doctest
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser jinja2
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser la fenêtre de temps
[J'ai essayé d'utiliser Pythonista 3] Introduction
J'ai essayé d'utiliser easydict (mémo).
J'ai essayé la reconnaissance faciale avec Face ++
J'ai essayé d'utiliser RandomForest
J'ai essayé d'utiliser BigQuery ML
J'ai essayé d'utiliser magenta / TensorFlow
J'ai essayé d'utiliser AWS Chalice
J'ai essayé d'utiliser l'émojinateur Slack
J'ai essayé d'utiliser Rotrics Dex Arm # 2
J'ai essayé d'utiliser Rotrics Dex Arm
J'ai essayé d'utiliser GrabCut d'OpenCV
J'ai essayé de communiquer avec le client serveur en utilisant tmux
J'ai essayé l'apprentissage par renforcement avec PyBrain
J'ai essayé l'apprentissage en profondeur avec Theano
J'ai essayé d'utiliser le notebook jupyter d'une manière ou d'une autre
[Kaggle] J'ai essayé le sous-échantillonnage en utilisant un apprentissage déséquilibré
J'ai essayé de photographier une vague de tortue en utilisant OpenPose
J'ai essayé d'utiliser l'API checkio
J'ai essayé le traitement asynchrone en utilisant asyncio
J'ai essayé d'utiliser Amazon SQS avec django-celery
J'ai essayé de gratter
J'ai essayé PyQ
J'ai essayé de jouer au jeu ○ ✕ en utilisant TensorFlow
J'ai essayé d'utiliser l'API de données YOUTUBE V3
J'ai essayé d'utiliser du sélénium avec du chrome sans tête
J'ai essayé de dessiner une ligne en utilisant une tortue
J'ai essayé d'utiliser l'optimisation bayésienne de Python
J'ai essayé de classer le texte en utilisant TensorFlow
J'ai essayé d'utiliser la recherche sélective comme R-CNN
J'ai essayé d'utiliser l'API UnityCloudBuild de Python
J'ai essayé le moulin à papier
J'ai essayé django-slack
J'ai essayé d'utiliser Headless Chrome de Selenium