GitLogParser
Python script to parse 'git log'
Usage
Script is intented to be used via commandline. Depending on the commandine arguments it can either parse a single directory (-dir), or every repository within the given directory (-mDir). Each option needs either a full or relative route to the directory.
> gitlogparser -dir ./yourRepo
> gitlogparser -dir /home/something/somewhere/yourRepo
> gitlogparser -mDir /home/dirWithMultipleRepos
> gitlogparser -mdir ..
From the mined data a json file will be created. If only a single directory was mined the json's name will be logdata_new.json, but if -mDir was given, each created file will be named after the mined repository in the following manner: logdata_YourMinedRepo.json
If the -GHT argument is specified, the commit diff-s (line/file changes) will also be mined. This is optional, since it takes a while, and requires a GitHub access token.
The console will only display errors. In the case of a succesfull execution the files will be created in the same directory where the gitlogparser command was issued.
Example
git log output:
...
commit 9f6debef550a3a30e5c6b422115f869733bc9431
Author: Mosolygó <mosolygo.iskolai@gmail.com>
Date: Fri Feb 28 15:56:59 2020 +0100
Added the ability to choose repo directory
argParser in a temporary place
GitLogParser class slightly modified, so it can correctly read the new input
commit bfffe073ed7d98ae4be7e15968d16fa85e1ead62
Author: Gábor Antal <antal@inf.u-szeged.hu>
Date: Tue Sep 3 17:07:34 2019 +0200
Reimplemented gitLogParse.py
In this commit, classes are introduced in order to ease parsing
git commits. Corresponding objects created after parsing the log file.
These objects are then rewritten into a usable, automatizable structure.
commit eee66b0b623c2dc3a99485a6d7428ad032a0bc5a
Author: Keleti Márton <tejes@hac.hu>
Date: Wed Nov 15 16:10:32 2017 +0100
Added newline to file endings
...
json's content:
...
{
"author": {
"email": "mosolygo.iskolai@gmail.com",
"name": "Mosolygó"
},
"change_id": null,
"commit_date": "2020-02-28 15:56:59+01:00",
"commit_hash": "9f6debef550a3a30e5c6b422115f869733bc9431",
"deletions": null,
"files_changed": null,
"insertions": null,
"message": "Added the ability to choose repo directory\nargParser in a temporary place\nGitLogParser class slightly modified, so it can correctly read the new input"
},
{
"author": {
"email": "antal@inf.u-szeged.hu",
"name": "Gábor Antal"
},
"change_id": null,
"commit_date": "2019-09-03 17:07:34+02:00",
"commit_hash": "bfffe073ed7d98ae4be7e15968d16fa85e1ead62",
"deletions": null,
"files_changed": null,
"insertions": null,
"message": "Reimplemented gitLogParse.py\nIn this commit, classes are introduced in order to ease parsing\ngit commits. Corresponding objects created after parsing the log file.\nThese objects are then rewritten into a usable, automatizable structure."
},
{
"author": {
"email": "tejes@hac.hu",
"name": "Keleti Márton"
},
"change_id": null,
"commit_date": "2017-11-15 16:10:32+01:00",
"commit_hash": "eee66b0b623c2dc3a99485a6d7428ad032a0bc5a",
"deletions": null,
"files_changed": null,
"insertions": null,
"message": "Added newline to file endings"
},
...
Metadata
Release files for gitlogparser 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gitlogparser-0.1.6.tar.gz | 10.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gitlogparser-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.3 kB
Release files / gitlogparser-0.1.6.tar.gz
| Download URL | gitlogparser-0.1.6.tar.gz |
|---|---|
| Size | 10.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9862f6c9a2987c8f427e87ee7b74a9ace2f371b332e66aa99f74fb1864510f03
|
|
BLAKE2b-256 checksum How to use checksums |
c0e6442551787724e2492b7f5ac8aacf7abefc426841769f73d49bb0b54f8bdb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2
|
Release files / gitlogparser-0.1.6-py3-none-any.whl
| Download URL | gitlogparser-0.1.6-py3-none-any.whl |
|---|---|
| Size | 10.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
815600b7e2e59744e05c7abd04435f2ef2339f34b63cbed4169e658819157b6b
|
|
BLAKE2b-256 checksum How to use checksums |
3cf003cf13fffb6f5a1d9220012e51a5e1d626967fab1e1baf1478d8505322e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.2
|
Security for gitlogparser 0.1.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.