Commit graph

9015 commits

Author SHA1 Message Date
TW
a97ffd3d5d
Merge pull request #8799 from ThomasWaldmann/remote-api-versioning
fix remote api versioning
2025-04-29 13:48:08 +02:00
Thomas Waldmann
ee304a7328
fix remote api versioning 2025-04-28 22:38:15 +02:00
TW
d11ba6e7f8
Merge pull request #8798 from ThomasWaldmann/remove-append-only
remove remainders of append-only support
2025-04-28 22:30:10 +02:00
Thomas Waldmann
477e8f53fb
build_man build_usage 2025-04-28 21:42:30 +02:00
Thomas Waldmann
9e6d90754e
remove remainders of append-only support
Some features like append-only repositories rely on a server-side component
that enforces them (because that shall only be controllable server-side,
not client-side).

So, that can only work, if such a server-side component exists, which is the
case for borg 1.x ssh: repositories (but not for borg 1.x non-ssh: repositories).

For borg2, we currently have:
- fs repos
- sftp: repos
- rclone: repos (enabling many different cloud providers)
- s3/b3: repos
- ssh: repos using client/server rpc code similar as in borg 1.x

So, only for the last method we have a borg server-side process that could enforce some features, but not for any of the other repo types.

For append-only the current idea is that this should not be done within borg,
but solved by a missing repo object delete permission enforced by the storage.

borg create could then use credentials that miss permission to delete,
while borg compact would use credentials that include permission to delete.
2025-04-28 18:55:15 +02:00
TW
94df5eee21
Merge pull request #8797 from ThomasWaldmann/remove-quota
remove remainders of quota support
2025-04-28 17:46:02 +02:00
Thomas Waldmann
48b39d878f
remove remainders of quota support
Some features like repository quotas rely on a server-side component
that enforces them (because that shall only be controllable server-side,
not client-side).

So, that can only work, if such a server-side component exists, which is the
case for borg 1.x ssh: repositories (but not for borg 1.x non-ssh: repositories).

For borg2, we currently have:
- fs repos
- sftp: repos
- rclone: repos (enabling many different cloud providers)
- s3/b3: repos
- ssh: repos using client/server rpc code similar as in borg 1.x

So, only for the last method we have a borg server-side process that could enforce some features, but not for any of the other repo types.

For quotas the current idea is that this should not be done within borg,
but enforced by a storage specific quota implementation (like fs quota,
or quota of the cloud storage provider). borg could offer information
about overall repo space used, but would not enforce quotas within borg.
2025-04-28 16:57:30 +02:00
TW
19c1a29181
Merge pull request #8794 from ThomasWaldmann/change-chunkindex-hash-seed
chunks cache: invalidate old chunk index cache
2025-04-28 01:51:30 +02:00
Thomas Waldmann
34d3ed402b
chunks cache: invalidate old chunk index cache
guess we better invalidate the old repo-side cache of the
chunk index and rebuild it with the current borg and
borghash code.
2025-04-28 01:00:17 +02:00
TW
622b42aefa
Merge pull request #8792 from ThomasWaldmann/fix-compact
compact: always write updated chunkindex to repo, fixes #8791
2025-04-25 11:52:32 +02:00
Thomas Waldmann
8dfdfb7e18
compact: always write updated chunkindex to repo, fixes #8791
The issue was due to using an outdated chunkindex that had
entries for chunks that did not exist in the repo anymore.
2025-04-25 10:31:46 +02:00
TW
2391f3f589
Merge pull request #8790 from ThomasWaldmann/remove-py39-2
remove support for / testing on Python 3.9
2025-04-25 09:47:30 +02:00
Thomas Waldmann
5c3d9dec4b
remove support for / testing on Python 3.9
Python 3.9 will run out of upstream support 2025-10 anyway.
So we can also drop it right now and have faster CI testing.
2025-04-24 22:29:55 +02:00
TW
40c20478ca
Merge pull request #8788 from ThomasWaldmann/obfuscation-fixes-master
Obfuscation fixes (master)
2025-04-24 22:18:28 +02:00
TW
a2f95c7e2a
Merge pull request #8789 from ThomasWaldmann/remove-py39
remove support for / testing on Python 3.9
2025-04-24 22:18:06 +02:00
Thomas Waldmann
a90473600d
remove support for / testing on Python 3.9
Python 3.9 will run out of upstream support 2025-10 anyway.
So we can also drop it right now and have faster CI testing.
2025-04-24 20:55:02 +02:00
Thomas Waldmann
738b0c8cb6
only obfuscate the size of file content chunks, fixes #7559
before this fix, borg also obfuscated other chunks it creates,
e.g. the archive metadata stream chunks, which is not necessary
and only added a lot of overhead.

as we have meta["type"] in borg2, this is easy to fix here.
2025-04-24 20:39:41 +02:00
Thomas Waldmann
cb34a1c705
cosmetic: move padme obfuscation method closer to the other o. methods 2025-04-24 19:53:17 +02:00
TW
45435514bd
Merge pull request #8784 from ThomasWaldmann/cache-fixes-master
chunks cache fixes (master)
2025-04-23 02:01:05 +02:00
Thomas Waldmann
3d92e0812c
AdhocWithFilesCache: fix call to _maybe_write_chunks_cache 2025-04-23 00:14:26 +02:00
Thomas Waldmann
7dfc88a493
ChunksMixin: don't use self._chunks until it is demand-built 2025-04-23 00:06:46 +02:00
TW
8c5559cf3a
Merge pull request #8780 from ThomasWaldmann/rel200b15
Release 2.0.0b15
2025-04-22 13:23:54 +02:00
Thomas Waldmann
18dbfd3985
update CHANGES 2025-04-21 21:08:45 +02:00
Thomas Waldmann
4550a49b0f
build_usage / build_man 2025-04-21 21:08:42 +02:00
Thomas Waldmann
8d8fd598af
update development.lock.txt 2025-04-21 21:08:41 +02:00
Thomas Waldmann
3ea0c9a3f1
vagrant: use Python 3.12.10 2025-04-21 21:08:39 +02:00
Thomas Waldmann
cb3253191d
vagrant: install borgstore with all options
now we have a new s3 backend.
2025-04-21 20:27:53 +02:00
Thomas Waldmann
35d7bb316c
adapt to new deleted flag semantics in borgstore 0.2.0
also: require borgstore 0.2.x
2025-04-21 20:25:31 +02:00
TW
66b952ca24
Merge pull request #8779 from ThomasWaldmann/update-changes-master
update CHANGES
2025-04-21 18:57:38 +02:00
Thomas Waldmann
a69fd81098
update CHANGES 2025-04-21 18:36:23 +02:00
TW
b5e95daccf
Merge pull request #8778 from ThomasWaldmann/assert-quickfix-master
quickfix to disallow running borg with assertions switched off, see #8649
2025-04-21 18:34:27 +02:00
Thomas Waldmann
13b7e1f5a8
quickfix to disallow running borg with assertions switched off, see #8649
forward port of #8685 to master branch.
2025-04-21 17:44:20 +02:00
TW
4f38dc6031
Merge pull request #8761 from ThomasWaldmann/fix-remote-modern-exit-codes-master
fix remote repository exception handling / exit codes, fixes #8631
2025-04-21 15:09:07 +02:00
TW
4c8cb05ad7
Merge pull request #8774 from ThomasWaldmann/license-spdx-master
pyproject.toml: SPDX expression for license, add license-files, see #8771
2025-04-20 15:28:36 +02:00
Thomas Waldmann
0a3ccf1094
pyproject.toml: SPDX expression for license, add license-files, see #8771
Also: raise setuptools version requirement appropriately.
2025-04-19 21:39:21 +02:00
TW
a34f4a1dae
Merge pull request #8768 from sersorrel/push-rzkyyukwytos
Remove unnecessary check that Padmé overhead is at most 12%
2025-04-19 11:25:51 +02:00
ash
d1899c1919 Remove unnecessary check that Padmé overhead is at most 12%
It's easy enough to verify exhaustively for any plausible chunker params
that Padmé always produces at most a 12% overhead. Checking that again
at runtime is pointless.
2025-04-18 23:00:23 +01:00
Thomas Waldmann
8ec48ffb05
refactor test_return_codes
... so works in a similar way as test_exit_codes.
2025-04-17 17:57:38 +02:00
Thomas Waldmann
0b284db33a
fix remote repository exception handling / exit codes, fixes #8631
also: reduce code duplication.
2025-04-17 17:45:15 +02:00
TW
da3105f1e0
Merge pull request #8758 from ThomasWaldmann/fix-nfs4-acl-freebsd-master
freebsd: fix nfs4 acl processing, fixes #8756 (master)
2025-04-17 17:16:57 +02:00
Thomas Waldmann
df2bb8c988
freebsd: fix nfs4 acl processing, fixes #8756
This only happened when:
- using borg extract --numeric-ids
- processing NFS4 ACLs

It didn't affect POSIX ACL processing.

This is rather old code, so it looks like nobody used that
code or the bug was not reported.

The bug was discovered by PyCharm's "Junie" AI. \o/
2025-04-17 15:41:31 +02:00
TW
3651d26b1e
Merge pull request #8747 from destructor64/key_import_error_message_fix
Fix paper key import error message
2025-04-13 19:02:42 +02:00
Peter Zangerl
ce5dd4bed2 Fix paper key import error message 2025-04-13 10:06:16 +02:00
Xiaocheng Song
0d9f375fdd
macOS: retrieve birthtime in nanosecond precision via system call, fixes #8724 2025-04-12 14:03:48 +02:00
TW
e12b3bb2f6
Merge pull request #8568 from ThomasWaldmann/remove-chunks-healthy
Item: remove .chunks_healthy, fixes #8559
2025-04-11 21:11:42 +02:00
TW
bec6da4c15
Merge pull request #8741 from ThomasWaldmann/update3-rtd-master
docs: fix search preview
2025-04-10 21:31:23 +02:00
Thomas Waldmann
c14e803429
docs: fix template to support search result preview 2025-04-10 21:20:37 +02:00
Thomas Waldmann
30e9bc9d83
docs: add layout.html template from guzzle_sphinx_theme 0.7.11 2025-04-10 21:19:15 +02:00
TW
0eef4abd59
Merge pull request #8739 from ThomasWaldmann/update2-rtd-master
docs: add sphinxcontrib.jquery
2025-04-10 20:10:21 +02:00
Thomas Waldmann
f55d64db0b
docs: add sphinxcontrib.jquery
The html generated uses jquery ($(...)),
but sphinx does not include it anymore since a while.

also: correctly add guzzle_sphinx_theme to extensions.
2025-04-10 19:50:12 +02:00