Commit graph

8993 commits

Author SHA1 Message Date
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
TW
f3eeae9908
Merge pull request #8738 from ThomasWaldmann/update-rtd-master
docs theme updates / fixes
2025-04-10 19:01:23 +02:00
Thomas Waldmann
d312ddb1f7
docs: register theme as extension 2025-04-10 18:56:25 +02:00
TW
4c09535b08
Merge pull request #8736 from ThomasWaldmann/port-8615-master
Docs about slow msgpack when using the binary (master)
2025-04-09 17:38:00 +02:00
Thomas Waldmann
2996daff97
docs: add FAQ entry about pure-python msgpack warning, fixes #8323 2025-04-09 17:07:18 +02:00
Thomas Waldmann
1252c16373
binary readme: first check faq and existing issues 2025-04-09 17:06:36 +02:00
TW
279bdc3fee
Merge pull request #8726 from ThomasWaldmann/update-changes
update CHANGES
2025-04-09 16:00:21 +02:00
Thomas Waldmann
992b5f18c8
update CHANGES 2025-04-06 18:25:11 +02:00
Thomas Waldmann
3fdf7a3e78
fetch_many: add replacement_chunk=True param
Sometimes, usually for file content chunks, it makes sense to
generate all-zero replacement chunks on-the-fly.

But for e.g. an archive items metadata stream, this does not
make sense (because it wants to msgpack.unpack the data), so
we rather want None. In that case, we do not have the size
information anyway.
2025-04-06 17:35:33 +02:00
Thomas Waldmann
84fe9d2c67
extract, diff, ...: use raise_missing=False
preloading: always use raise_missing=False, because
the behaviour is defined at preloading time.

fetch_many: use get_many with raise_missing=False.
if get_many yields None instead of the expected chunk
cdata bytes, on-the-fly create an all-zero replacement
chunk of the correct size (if the size is known) and
emit an error msg about the missing chunk id / size.

note: for borg recreate with re-chunking this is a bit
unpretty, because it will transform a missing chunk into
a zero bytes range in the target file in the recreated
archive. it will emit an error message at recreate time,
but afterwards the recreated archive will not "know"
about the problem any more and will just have that
zero-patched file.
so guess borg recreate with re-chunking should better
only be used on repos that do not miss chunks.
2025-04-06 17:35:31 +02:00
Thomas Waldmann
a9b2291281
get/get_many: add raise_missing=True param 2025-04-06 17:35:30 +02:00
Thomas Waldmann
e48ccc7627
simplify fetch_many api
it now takes either:
- a list of ChunkListEntry namedtuples
- a list of chunk IDs [bytes]
2025-04-06 17:35:28 +02:00
Thomas Waldmann
6357f2ebc1
Item: remove .chunks_healthy, fixes #8559
Well, it's not totally removed, some code in Item, Archive and
borg transfer --from-borg1 needs to stay in place, so that we
can pick the CORRECT chunks list that is in .chunks_healthy
for all-zero-replacement-chunk-patched items when transferring
archives from borg1 to borg2 repos.

transfer: do not transfer replacement chunks, deal with missing chunks in other_repo

FUSE fs read: IOError or all-zero result
2025-04-06 17:35:22 +02:00
TW
89daeabd7b
Merge pull request #8719 from ThomasWaldmann/remove-make-parent-dirs-master
create: remove --make-parent-dirs option, #8619
2025-04-06 17:29:48 +02:00
TW
e4890298ef
Merge pull request #8722 from div-dev123/bug/attr
tests: ignore 'com.apple.provenance' xattr (macOS specific)
2025-04-06 12:36:11 +02:00
Divyansh Agrawal
9fa8b58867 tests: ignore 'com.apple.provenance' xattr (macOS specific) 2025-04-06 13:49:49 +05:30
Divyansh Agrawal
d2066ed13d
implement padme chunk size obfuscation (SPEC 250), fixes #8705
---------

Co-authored-by: Divyansh Agrawal <your.email@example.com>
2025-04-05 19:12:19 +02:00
Thomas Waldmann
72cdf82660
create: remove --make-parent-dirs option, #8619
borgstore now does this automatically.
2025-04-04 23:18:39 +02:00
vancheese
8df4bf75d4
docs: borg commands updated with --repo option, fixes #8550 2025-04-01 17:28:57 +02:00
TW
07606a3199
Merge pull request #8700 from ThomasWaldmann/vagrant-updates-master
Vagrant updates master
2025-03-24 10:48:16 +01:00
Thomas Waldmann
20c36b652c
vagrant: build binaries with borgstore[sftp], fixes #8574 2025-03-23 17:27:22 +01:00
Thomas Waldmann
c7fd43c576
msys2: use pyinstaller 6.11.1 2025-03-23 16:00:33 +01:00
Thomas Waldmann
944a74cdf7
vagrant: use pyinstaller 6.11.1 2025-03-23 15:59:13 +01:00