laZy GIT
zgit is a Python toolkit to plot, stat and archive git repositories in an easy-to-use manner.
zgit is also published to PyPI so you can install it using pip directly:
python -m pip install zgit
Important Note
Since zgit manipulates git repositories directly, make sure you commit or backup your code properly, in case your repo may be corrupted.
How to use
There are 3 main features in zgit now:
1. Sync multiple repositories asynchronizedly
usage: zgit-sync [-h] [--max-search-depth MAX_SEARCH_DEPTH] [--archive ARCHIVE] [--jobs JOBS] root
positional arguments:
root the top folder you want to search git repos and update
options:
-h, --help show this help message and exit
--max-search-depth MAX_SEARCH_DEPTH, -d MAX_SEARCH_DEPTH
maximum search depth in the `root` folder, -1 means unlimited.
--archive ARCHIVE archive .git in a repo to save disk space, a repo hasn't been updated for more than `archive` days will be compressed into a tarball.
--jobs JOBS, -j JOBS
2. Archive repositories by compressing and deleting history objects
usage: zgit-gc [-h] [--depth DEPTH] [--no-user-input] [--jobs JOBS] root
positional arguments:
root the top folder you want to search git repos and update
options:
-h, --help show this help message and exit
--depth DEPTH, -d DEPTH
maximum search depth in the `root` folder, -1 means unlimited.
--no-user-input, -ni do not ask user input, use default values
--jobs JOBS, -j JOBS
3. Git commit history analysis and visualization
usage: zgit-plot [-h] [--git-repo GIT_REPO] [--git-log GIT_LOG] [-o OUTPUT] [--author {name,email}] [--group {day,ww,month,quarter}] [--log-scale] [-v {DEBUG,INFO,WARNING,ERROR}] [-e EXCLUDE [EXCLUDE ...]] [-i INCLUDE [INCLUDE ...]] [--threshold THRESHOLD] [-d]
options:
-h, --help show this help message and exit
--git-repo GIT_REPO specify a git repo directory to analysis
--git-log GIT_LOG specify a git log file to analysis, log file can be acquired by 'git log --numstat > log.txt'. This option is ignored if --git-repo is specified.
-o OUTPUT, --output OUTPUT
specify an output directory
--author {name,email}
merge commits based on user name or user email
--group {day,ww,month,quarter}
merge commits on which time slice, supports day, work-week, month, and quarter
--log-scale plot the figure on log-scale y-axis.
-v {DEBUG,INFO,WARNING,ERROR}, --verbose {DEBUG,INFO,WARNING,ERROR}
set the log level
-e EXCLUDE [EXCLUDE ...], --exclude EXCLUDE [EXCLUDE ...]
specify an exclude pattern list, file name match any item from this list is ignored in the plot
-i INCLUDE [INCLUDE ...], --include INCLUDE [INCLUDE ...]
specify an include pattern list, file name endswith any item from this list is counted in the plot
--threshold THRESHOLD
additional exclude files with change lines above this threshold
-d, --dump save the breakdown data details
Metadata
Release files for zgit 1.0.2
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 | Actions |
|---|---|---|---|---|
| zgit-1.0.2.tar.gz | 15.4 kB | Without provenance | Details for zgit-1.0.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| zgit-1.0.2-py3-none-any.whl | Python 3 | none | any | Details for zgit-1.0.2-py3-none-any.whl |
Total release size: 34.5 kB
Release files / zgit-1.0.2.tar.gz
| Download URL | zgit-1.0.2.tar.gz |
|---|---|
| Size | 15.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d081619ceb38a8b504e104f6c7c4ee6e99c9cecb95befbbaecf44b118978cc2f
|
|
BLAKE2b-256 checksum How to use checksums |
1caacbd62b1a346904d5af232f2bdbec76975416f3e22ad3504a15d75663aed9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.31.0
|
Release files / zgit-1.0.2-py3-none-any.whl
| Download URL | zgit-1.0.2-py3-none-any.whl |
|---|---|
| Size | 19.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6f4609b0def580ab05f72c484b08b86bbec847be0cc14e2cd9940175a6849304
|
|
BLAKE2b-256 checksum How to use checksums |
726e06e9c2058211a901f647eba878f82eaaf7428bd81f5c169e9954055a3e84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-requests/2.31.0
|
Security for zgit 1.0.2
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.
To learn more about protecting yourself from malicious actors, visit our package security documentation.