Python GIT tool to check pending changes and get last commit info
Project description
Python GIT tool to check pending changes and get last commit info
gitchecker.check_status_and_get_commit_info()
checks if there is
any pending changes in GIT repository status and returns the last commit info:
- sha (string): commit SHA (7 digits length)
- author (string): author name
- authored_datetime (datetime): author datetime
- committer (string): committer name
- committed_datetime (datetime): committer datetime
By default it raises an Exception
if there are any pending changes but
it can be configured to only show a warning instead.
Requirements
- Python 3.5 or newer
- Git 1.7.0 or newer, because gitpython dependency
Install
pip install gitchecker
Demo Usage
import gitchecker
commit_info = \
gitchecker.check_status_and_get_commit_info(repo_path="",
warning_instead_of_error=False,
ignore_untracked_files=False,
ignore_files_regex=None,
logger=None)
print("commit", commit_info)
The displayed values of the parameters are the default ones.
If a logger
is provided, it will be used only if it has an error()
or warning()
method. The required method depends on the value of
warning_instead_of_error
. If no logger
provided or no proper
log function exists in logger
, print()
will be used instead.
Ignoring untracked files (ignore_untracked_files=True
) or
Ignoring by regex (ignore_files_regex="regex"
) will ignore them completely,
not raising errors and not showing warnings.
Testing
The GIT status must be clean to run functional test.
python setup.py test
To run only unit tests, use:
python -m pytest --pep8 --cov=gitchecker --cov-report=term-missing --cov-report=html -vv -x -k unit
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for gitchecker-2.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9b72537fbc7999ae333be25bbd2508aba3f23378a8d8b9cb9eb47b6e09a5939 |
|
MD5 | e1bb82424b1c8d654087df4b6f7c43ef |
|
BLAKE2b-256 | 73d469ec3cb2c864b9c7042e78e6473f39b588c1d29481b3c8994fdabb06e4df |