Commit Graph

8344 Commits

Author SHA1 Message Date
Thomas Waldmann 2e05c234b6
BackupErrors get caught and give warning RCs
also: use more union operators rather than .union()
2024-02-15 18:15:10 +01:00
Thomas Waldmann 97dd287584
raise BackupOSError subclasses 2024-02-15 17:53:53 +01:00
Thomas Waldmann 9ac4672254
add NotFoundWarning 2024-02-15 17:04:21 +01:00
Thomas Waldmann 4adc782100
print_warning*: support warning msgids, fixes #7080 2024-02-14 02:22:35 +01:00
Thomas Waldmann 5168a97782
extend errorlist script to warnings, update docs 2024-02-14 02:04:44 +01:00
Thomas Waldmann 982aeb56a7
more detailled warnings for source file OSErrors 2024-02-14 02:00:19 +01:00
Thomas Waldmann e8fa4986cc
BackupError->BackupWarning, BackupOSError->BackupOSWarning 2024-02-14 01:59:08 +01:00
Thomas Waldmann 900a1674df
move Backup*Error to errors module 2024-02-14 01:40:55 +01:00
Thomas Waldmann c704e5ea9e
new warnings infrastructure to support modern exit codes
- 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
2024-02-14 01:26:12 +01:00
Thomas Waldmann b18e613627
get rid of some rare error classes, use RTError instead 2024-02-13 23:44:02 +01:00
Thomas Waldmann 0504dee0d9
fix dealing with remote repo Locking Exceptions
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).
2024-02-13 23:33:30 +01:00
Thomas Waldmann cb8b718a96
refactor set_ec usage
- msgpack version check: raise Error instead of calling set_ec
2024-02-13 23:16:46 +01:00
Thomas Waldmann bec02a36c8
use print_warning also in borg delete ::archive --force --force 2024-02-13 23:13:25 +01:00
Thomas Waldmann 9de07ebd46
update "modern" error RCs (docs and code) 2024-02-13 22:58:02 +01:00
Thomas Waldmann 34bbce8e71
scripts/errorlist.py: improve error list docs generation
- also output modern rc and traceback yes/no
- recursive list of Error subclasses
2024-02-13 19:56:32 +01:00
Thomas Waldmann 1b09d0efd7
BORG_EXIT_CODES=modern can be set to get more specific process exit codes
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.
2024-02-13 19:53:17 +01:00
TW 0e859a6d2d
Merge pull request #8096 from ThomasWaldmann/update-changes-master
update CHANGES
2024-02-13 19:30:19 +01:00
Thomas Waldmann 3a85433ffb
update CHANGES 2024-02-13 18:20:10 +01:00
TW 3b43770ca6
Merge pull request #8091 from ThomasWaldmann/fix-long-desc-master
sdist: dynamically compute readme (long_description)
2024-02-11 00:32:40 +01:00
Thomas Waldmann dd9358f1e2
sdist: dynamically compute readme (long_description)
The long_desc_from_readme() was not called, it just read the
whole README.rst until "readme" was declared dynamic.
2024-02-10 18:06:49 +01:00
TW 77e13ad752
Merge pull request #8087 from ThomasWaldmann/less-setuppy-master
use less setup.py (master)
2024-02-10 00:16:39 +01:00
Thomas Waldmann 8eba627b29
scripts: make.py clean implementation 2024-02-09 17:37:46 +01:00
Thomas Waldmann 4d424de69e
scripts: update docs about make.py 2024-02-09 17:37:44 +01:00
Thomas Waldmann 59bca06630
scripts: rename gendocs.py to make.py 2024-02-09 17:37:43 +01:00
Thomas Waldmann 48afc4c519
requirements are defined in pyproject.toml 2024-02-09 17:37:42 +01:00
Thomas Waldmann 38ba1c383a
docs: do not refer to setup.py installation method
Invoking setup.py is deprecated.
2024-02-09 17:37:40 +01:00
Thomas Waldmann b64f6e3335
scripts/gendocs.py: make it work
remove unused html_write function

gendocs: update developer docs
2024-02-09 17:37:38 +01:00
TW 8cfbd3ea3e
Merge pull request #8083 from ThomasWaldmann/increase-gh-actions-timeout-master
gh actions: increase timeout
2024-02-09 03:28:14 +01:00
Thomas Waldmann b34a99f337
git mv setup_docs.py scripts/gendocs.py 2024-02-09 02:53:17 +01:00
Thomas Waldmann 9d913b0e82
setup.py: remove build_usage and build_man as setup.py command 2024-02-09 02:50:19 +01:00
Thomas Waldmann 7d77985601
setup.py: move long_desc_from_readme definition to here 2024-02-09 02:38:47 +01:00
TW a4c8d52ca0
Merge pull request #8086 from ThomasWaldmann/index-check-value-errors-master
check: fix return code for index entry value discrepancies
2024-02-09 02:29:46 +01:00
TW 03e4494d84
Merge pull request #8084 from ThomasWaldmann/init-message-master
init: better borg key export instructions
2024-02-09 02:29:32 +01:00
TW 5ee1eeaa4f
Merge pull request #8082 from ThomasWaldmann/remote-version-master
implement "borg version", fixes #7829
2024-02-09 02:29:15 +01:00
TW 75840d4ef9
Merge pull request #8085 from ThomasWaldmann/docs-tests-pypi-pkg-master
docs: how to run the testsuite using the dist package
2024-02-09 00:44:18 +01:00
Thomas Waldmann f43c1f56e9
check: fix return code for index entry value discrepancies
Also: use ERROR loglevel for these (not WARNING).

A different amount of index entries was already logged as error
and led to "error_found = True" in repository.check.

Different values in the rebuilt index vs. the on-disk index were
only logged on warning level, but did not lead to error_found = True.

Guess there is no reason why these should not be errors and lead to
error_found = True, so this was fixed in this commit.

Minor related change: change report_error function args, so it can be
called like logger.error - including giving a format AND args.
2024-02-09 00:43:06 +01:00
Thomas Waldmann 33393946b5
docs: how to run the testsuite using the dist package 2024-02-09 00:36:58 +01:00
Thomas Waldmann 08bf0f741c
init: better borg key export instructions 2024-02-09 00:33:06 +01:00
Thomas Waldmann 8944129806
gh actions: increase timeout
especially the macos workers are sometimes extremely slow.
2024-02-09 00:22:16 +01:00
Thomas Waldmann b6a23ee1bc
implement "borg version", fixes #7829
Additional new command "borg -r <REPO> version" which shows client and server version.
2024-02-09 00:16:29 +01:00
TW ca7338f5b6
Merge pull request #8080 from ThomasWaldmann/update-changes-master
update CHANGES
2024-02-08 23:50:32 +01:00
Thomas Waldmann 25adac4fb4
update CHANGES 2024-02-08 23:28:22 +01:00
TW c59b8fa079
Merge pull request #8046 from ThomasWaldmann/logging-msg-param-master
borg.logger: use same method params as python logging
2024-01-16 03:08:08 +01:00
Thomas Waldmann ba2e8f2dec
borg.logger: use same method params as python logging 2024-01-15 21:40:27 +01:00
TW 2787da205c
Merge pull request #6052 from stephengroat/patch-1
Create and use Brewfile
2024-01-14 19:49:28 +01:00
Thomas Waldmann 08bb028bae
Brewfile: don't install osxfuse cask by default. 2024-01-14 17:49:21 +01:00
Thomas Waldmann 576ee3532c
docs: fix markup errors 2024-01-14 17:27:21 +01:00
Stephen 438f1ddef7
docs: add brew bundle instructions (macOS) 2024-01-14 17:14:42 +01:00
Stephen 5c5df6458a
github CI (macOS): use brew bundle install (uses Brewfile) 2024-01-14 15:30:08 +01:00
Stephen b8e5df9410
Create Brewfile 2024-01-14 15:29:50 +01:00