Commit graph

9307 commits

Author SHA1 Message Date
TW
3bff0c31cf
Merge pull request #9024 from ThomasWaldmann/transfer-corrupts-src-repo
fix borg transfer corrupting the src repo index
2025-09-22 21:08:04 +02:00
Thomas Waldmann
4a0b71cad1
legacyrepository: remove auto_recover, see #9022
we only read from borg 1.x legacy repos, we must not
try to "fix" them (users can use borg1 check --repair).

had to remove some tests that relied on this "feature".
2025-09-22 19:56:51 +02:00
Thomas Waldmann
d955f8ce75
fix reading borg 1.x repo index, fixes #9022
2 fixes:
- add code to update/verify the HashHeader integrity hash. this code was
  missing and led to FileIntegrityError on the borg 1.x repo index.
- when reading a non-compact borg 1.x hash table from disk (like the borg
  repo index), only add the "used" buckets to the in-memory hashtable,
  but not the unused/tombstone buckets.

The corruption described in #9022 was happening like this:
- borg failed to read the repo index, because the integrity check failed
- due to open_index(..., auto_recover=True), it tried to "fix" it by
  writing an empty hash table to disk. borg 1.x usually then rebuilt the
  index, but somehow this wasn't happening for the user in #9022.
2025-09-22 19:56:49 +02:00
Thomas Waldmann
9cbd0ca461
transfer: add test for unexpected src repo index change, #9022 2025-09-22 19:36:54 +02:00
TW
5b85f47618
Merge pull request #9015 from PhrozenByte/docs-build-src-version
Update install docs to include `SETUPTOOLS_SCM_PRETEND_VERSION`
2025-09-21 15:43:12 +02:00
TW
e42ec86e67
Merge pull request #9018 from PhrozenByte/docs-arch-dev-deps
Add Arch Linux to installing from source docs
2025-09-21 15:38:19 +02:00
Daniel Rudolf
5b765b9ec5
Add Arch Linux to installing from source docs
Note that Arch Linux usually has no separate `-dev` packages, but ships development headers with the normal package.
2025-09-19 16:55:45 +02:00
Daniel Rudolf
8f63d984be
Update install docs to include SETUPTOOLS_SCM_PRETEND_VERSION 2025-09-13 20:37:52 +02:00
TW
7b0b334cb4
Merge pull request #9013 from ThomasWaldmann/remote-repo-test
tests: add sftp/rclone/s3 repo testing
2025-09-12 21:35:39 +02:00
Thomas Waldmann
b0a680bb2a
tests: add sftp/rclone/s3 repo testing 2025-09-11 23:57:48 +02:00
TW
3e44cb7fd0
Merge pull request #9006 from mikemrm/support-borgstore-s3-backend
feat(backend): enable s3 support using borgstore
2025-09-11 23:21:20 +02:00
TW
bee82e2bb1
Merge pull request #9011 from ThomasWaldmann/ci-s3-sftp-testing
CI: add local servers for s3 and sftp testing
2025-09-11 23:16:38 +02:00
Thomas Waldmann
b5d0261222
CI: add local servers for s3 and sftp testing 2025-09-11 14:40:24 +02:00
Mike Mason
0207c2176e
feat(backend): enable s3 support using borgstore
Borg2 documentation mentions the support for the s3 backend however,
borg was missing the parsing bits for an s3 repo.

This updates the Location parser to parse the s3 url using the same
logic as borgstore.

Note: borgstore should be installed with the s3 dependencies in order
for the s3 backend to work.

Signed-off-by: Mike Mason <github@mikemrm.com>
2025-09-09 22:56:57 -05:00
TW
332ef28c7e
Merge pull request #8988 from ThomasWaldmann/vagrant-debian-testing-master
Vagrant: debian testing/trixie box (master)
2025-08-17 16:50:52 +02:00
dataprolet
5b01535768
Adds systemd-inhibit and examples (#8989) 2025-08-11 15:06:36 +02:00
TW
769e5e5e8a
Merge pull request #8987 from ThomasWaldmann/fuse-testing-config-master
FUSE testing config (master)
2025-08-09 16:57:36 +02:00
Thomas Waldmann
85e0e05f35
vagrant: add debian trixie box
currently still known as "testing",
but soon to be released.
2025-08-09 16:28:47 +02:00
Thomas Waldmann
a88bda6fbc
pyproject.toml: correctly define test envs for fuse testing
Looks like the toml config format of tox does not yet support
an easier way for generative test environments.
2025-08-09 16:07:05 +02:00
TW
498d836aea
Merge pull request #8980 from ThomasWaldmann/save_space-test_create_big-master
save space in test_create_* tests
2025-08-06 16:17:04 +02:00
Thomas Waldmann
38f97d65df
save space in test_create_* tests 2025-08-06 14:56:18 +02:00
TW
6a83ea1c60
Merge pull request #8856 from ThomasWaldmann/tar-posix-ACLs
export-tar/import-tar: support for POSIX ACLs
2025-08-05 16:21:55 +02:00
Thomas Waldmann
fe5a991c8d
export-tar/import-tar: support for POSIX ACLs (PAX format)
Implemented handling of POSIX access and default ACLs in tar files.
New keys, `SCHILY.acl.access` and `SCHILY.acl.default`, are used
to store these ACLs in the tar PAX headers.
2025-08-03 22:12:32 +02:00
TW
eb136a3d17
Merge pull request #8972 from ThomasWaldmann/rel200b19
Release 2.0.0b19
2025-08-02 14:37:12 +02:00
Thomas Waldmann
bf7a1e4a61
vagrant: use pyinstaller 6.14.2 for binary building
this is for future betas, not including b19.
2025-08-02 12:07:39 +02:00
Thomas Waldmann
49d84e3920
vagrant: use python 3.13.5 for binary building and tests
this is for future betas, not including b19.
2025-08-02 12:05:42 +02:00
Thomas Waldmann
4905fd8bea
update CHANGES 2025-08-02 11:21:28 +02:00
Thomas Waldmann
f327af11a6
build_usage build_man 2025-08-02 11:12:20 +02:00
TW
547f7ec338
Merge pull request #8971 from ThomasWaldmann/files-changed-option-master
create --files-changed=MODE option
2025-08-02 11:09:19 +02:00
Thomas Waldmann
b27df15b36
create --files-changed=MODE option
control how borg detects whether a file has changed while it was backed up, valid modes are ctime, mtime or disabled.

ctime is the safest mode and the default.

mtime can be useful if ctime does not work correctly for some reason
(e.g. OneDrive files change their ctime without the user changing the file).

disabled (= disabling change detection) is not recommended as it could lead to
inconsistent backups. Only use if you know what you are doing.
2025-08-02 09:49:04 +02:00
TW
e40298e30d
Merge pull request #8970 from ThomasWaldmann/update-changes
update CHANGES
2025-08-01 21:49:52 +02:00
TW
8659895f30
Merge pull request #8969 from ThomasWaldmann/fix-8966
to_key_filename: raise length limit to 120, fixes #8966
2025-08-01 21:49:26 +02:00
Thomas Waldmann
1f75c40d34
update CHANGES 2025-08-01 20:19:04 +02:00
Thomas Waldmann
5328c2885b
to_key_filename: raise length limit to 120, fixes #8966
it used to be 100, but that caused test failures on
some systems with deep build directories.
2025-08-01 20:15:05 +02:00
TW
53c0d0a449
Merge pull request #8964 from ThomasWaldmann/issue-8963
fixing reader bug, fixes #8963
2025-07-30 17:36:03 +02:00
Thomas Waldmann
9877fe91c9
reader: fix corruption issue "forgetting" all-zero bytestrings, fixes #8963 2025-07-28 23:14:30 +02:00
Thomas Waldmann
85582f1b13
add a (failing) test reproducing #8963 2025-07-28 23:14:28 +02:00
TW
c04707e25e
Merge pull request #8960 from ThomasWaldmann/py314-cprofile-testing
remove test skipping for py314
2025-07-23 10:56:33 +02:00
Thomas Waldmann
aedbab4fd1
remove test skipping for py314 2025-07-22 23:51:31 +02:00
TW
a8fb2d09e6
Merge pull request #8944 from ThomasWaldmann/tar-use-normalized-path-master
import-tar: normalize and sanitize tarinfo.linkname (master)
2025-06-28 14:11:21 +02:00
Thomas Waldmann
04ea0b2861
import-tar: normalize the tarinfo name/linkname when used as hlm key
also: when printing the path, use the already normalized item.path.
2025-06-28 12:06:28 +02:00
TW
0118fae5fe
Merge pull request #8943 from ThomasWaldmann/import-tar-dotslash-master
import-tar: fix the dotslash issue, add test
2025-06-27 14:03:18 +02:00
Thomas Waldmann
628b6ba45c
import-tar: fix the dotslash issue, add test 2025-06-27 12:26:28 +02:00
TW
f8735e68a9
Merge pull request #8936 from ThomasWaldmann/buzhash-micro-opt
buzhash* chunker: use window_size not self.window_size
2025-06-21 21:59:14 +02:00
Thomas Waldmann
a7f8070ff9
buzhash* chunker: use window_size not self.window_size 2025-06-21 19:37:39 +02:00
TW
515019846f
Merge pull request #8931 from ThomasWaldmann/rel200b18
Release 2.0.0b18
2025-06-19 15:53:28 +02:00
Thomas Waldmann
2aed9d4dab
vagrant: use Python 3.12.11 2025-06-18 22:59:38 +02:00
Thomas Waldmann
0324395baf
pyinstaller spec: avoid pkg_resources warning 2025-06-18 22:35:38 +02:00
Thomas Waldmann
eefbee7667
update development.lock.txt
some stuff did not fit together.
2025-06-18 20:27:20 +02:00
Thomas Waldmann
9b26b1011a
build_usage build_man 2025-06-18 17:35:37 +02:00