Commit graph

8977 commits

Author SHA1 Message Date
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
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
Thomas Waldmann
8e0ce268b2
use python 3.12.8
this includes/bundles a non-broken pip for old macOS. #8495
2025-03-23 15:56:04 +01:00
TW
112cc1a156
Merge pull request #8696 from ThomasWaldmann/requirements-update-master
update development.lock.txt
2025-03-23 15:45:05 +01:00
TW
b90807c722
Merge pull request #8693 from dagelf/docs
Clearer language
2025-03-23 14:59:23 +01:00
TW
fb6f0d4eb6
Merge pull request #8698 from ThomasWaldmann/update-changes-master
update CHANGES
2025-03-23 14:53:46 +01:00
TW
c866a4ba66
Merge pull request #8697 from ThomasWaldmann/y2025-master
it's 2025.
2025-03-23 14:48:46 +01:00
Thomas Waldmann
863a1efdc0
update CHANGES 2025-03-23 14:48:01 +01:00
Thomas Waldmann
e12ad8a6a8
it's 2025. 2025-03-23 14:40:03 +01:00
Thomas Waldmann
d8a0601b7c
update development.lock.txt 2025-03-23 14:34:23 +01:00
Coenraad Loubser
309bfc1f0c
Clearer language 2025-03-21 12:23:19 +02:00
Abhijeet
4eef6178e4
add {unixtime} placeholder, fixes #8522 2025-02-24 17:18:58 +01:00
TW
07e0eabb69
Merge pull request #8672 from ThomasWaldmann/update-changes
update CHANGES
2025-02-17 21:31:51 +01:00
Thomas Waldmann
7b0eed99ae
update CHANGES 2025-02-16 19:31:32 +01:00
TW
8817b0f832
Merge pull request #8642 from httpdev/fix-docs-automated-local-sytemd-wants
docs: modify docs for automated backup to append to SYSTEMD_WANTS
2025-01-22 22:43:39 +01:00
jan
de9d46acf0 docs: modify docs for automated backup to append to SYSTEMD_WANTS rather than overwrite
fixes #8641
In the example, setting SYSTEMD_WANTS instead of appending may prevent
other autostart services attached by earlier udev rules from launching.
This commit changes = to += to fix this behavior.
2025-01-19 14:41:52 +01:00
TW
96305856e7
Merge pull request #8640 from httpdev/fix-docs-automated-local
docs: fix udev rule priority in automated-local.rst
2025-01-18 21:15:32 +01:00
jan
113e1b7fb2 docs: fix udev rule priority in automated-local.rst
fixes #8639
The priority of 40 for the udev rules as stated in to documentation
applies the rule too early on some systems, which prevents the rule from
matching. This commit changes the priority to 80.
2025-01-18 14:22:47 +01:00