All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Define new exception
PyGitOpsWorkingDirError
extending fromPyGitOpsError
.- Exception raised in cases where
git.Repo.working_dir
is None (see below).
- Exception raised in cases where
- Adjust repo working_dir path operations to comply with
gitpython
type hint changes.- Between
gitpython==3.1.18
->3.1.29
,git.Repo.working_dir
was typed asOptional
. - Since many
os
andpathlib
operations rely onRepo.working_dir
and expectUnion[str, os.PathLike]
, code touchingrepo.working_dir
was updated to comply with this difference.
- Between
0.16.0 - 2022-07-27
- Added optional
force
arg tocheckout_pull_branch
, allowing any uncommitted changes in an existing repository to be discarded. (#246)
- Fixed
get_default_branch
not returning the full branch name if it contains dashes or periods (#250)
0.15.0 - 2022-05-24
-
Calls to
Path.mkdir
are now made with theexist_ok=True
parameter, eliminating a race condition when multiple workers are attempting to create the same directory. -
Bump bandit from 1.7.1 to 1.7.2
-
Bump mkdocs-material from 8.1.2 to 8.1.8
-
Bump actions/checkout from 2 to 3
-
Bump actions/setup-python from 2 to 3.1.1
-
Bump actions/upload-artifact from 2 to 3
-
Bump mypy from 0.931 to 0.950
0.14.0 - 2022-04-26
- Add kwarg pass-through parameter to
stage_commit_push_changes
, allowing users to provide keyword arguments togit push
.
- Bumped mkdocstrings from 0.17.0 to 0.18.1
- Bump black from 22.1.0 to 22.3.0
- Support for Python 3.6
0.13.2 - 2022-03-10
- Loosened the Gitpython version requirement range
0.13.1 - 2022-01-06
- Python version
3.10
tested during CI - Python version
3.10
added to package classifiers
- Improved debug-level logging
stage_commit_push_changes
function
0.13.0 - 2021-09-22
- Change in behavior for
pygitops.operations.stage_commit_push_changes
:- Previously, the
items_to_stage
optional argument will drive autodiscovery of items to stage if not provided. - Previously, when no items to stage are discovered, a
PyGitOpsError
is raised. - The new change in behavior allows
items_to_stage
to be explicitly set to[]
, indicating that the caller does not want autodiscovery of items to stage to occur, and the list is indeed empty. - This change caters to more advanced use cases such as performing automated updates to git submodules where staged changes are intentionally absent
- Previously, the
0.12.1 - 2021-09-21
- Restrict the allowable version range of GitPython to >=3.1,<=3.1.18
- Newer versions of GitPython have had significant issues with typehinting that are proving to be incompatible with mypy
0.12.0 - 2021-08-30
- Cleaned up the working directory on feature branch when we exit feature branch context manager.
0.11.1 - 2021-05-17
- Properly increment version number to
0.11.1
(version0.11.0
was not tagged properly so it was not pushed to PyPI)
0.11.0 - 2021-05-14
- Removed
repo_name
parameter of theget_updated_repo
function to give the user control of exactly where to clone the repo contents to. Theclone_dir
argument is now the directory into which the contents of the repo will be cloned.
0.10.0 - 2021-05-07
- First public release!!!