- implement updating exit code based on severity, including modern codes
- extend print_warning with kwargs wc (warning code) and wt (warning type)
- update a global warnings_list with warning_info elements
- create a class hierarchy below BorgWarning class similar to Error class
- diff: change harmless warnings about speed to rc == 0
- delete --force --force: change harmless warnings to rc == 0
Also:
- have BackupRaceConditionError as a more precise subclass of BackupError
Users using recently created repos (after borg 1.0.9) or
who followed the upgrade procedure of 1.0.9 or >1.2.4 will
never see this error msg.
So, have it as short as and similar to the ArchiveTAMRequiredError.
previously, this was handled in RPCError handler and always resulted in rc 2.
now re-raise Lock Exceptions locally, so it gives rc 2 (legacy) or 7x (modern).
- _export_tar: remove unneeded call to set_ec
print_warning() already sets the exit code to EXIT_WARNING.
- msgpack version check: raise Error instead of calling set_ec
If not set, it will default to "legacy" (always return 2 for errors).
This commit only changes the Error exception class and its subclasses.
The more specific exit codes need to be defined via .exit_mcode in the subclasses.
the netbsd vagrant machine tends to segfault, guess due to some kernel or virtualbox issue.
thus, rather only do 1 tox run, so there is less output to review.
there are multiple issues with that box:
- it has a OpenSSL 1.x that is out of upstream support.
- has python 3.8
also:
- conservative users who did not upgrade yet to 22.04 will likely not jump onto borg 1.4 soon, but rather use borg 1.2.x.
We'll try to keep this box alive for borg 1.2.x, but for borg 1.4 it is "game over".
there are multiple issues with that box:
- debian 9 is out of support by debian, out of even lts support since 2022
- it has a OpenSSL 1.x that is also out of support and noone will care for it.
- has python 3.5
We'll try to keep this box alive for borg 1.2.x, but for borg 1.4 it is "game over".
We now use pyproject.toml for that.
Also, drop the >=1.7 requirement for setuptools_scm,
that was from 2015 and we assume it is not used any
more anyway.