Commit graph

9057 commits

Author SHA1 Message Date
Thomas Waldmann
7cef820b7e
pull borgstore from master branch 2025-05-16 13:16:45 +02:00
Thomas Waldmann
552646cc9b
BORG_REPO_PERMISSIONS=all|no-delete|read-only
The posixfs borgstore backend implements permissions to make
testing with differently permissive stores easier.

The env var selects from pre-defined permission configurations
within borg and gives the chosen permissions config to borgstore.
2025-05-16 13:16:43 +02:00
TW
4d43e136a6
Merge pull request #8826 from ThomasWaldmann/repo-compress-tests
tests: add repo-compress --stats test
2025-05-11 10:21:04 +02:00
TW
4d1e4cd5c0
improve testing of transfer cmd 2025-05-11 10:20:06 +02:00
TW
5c304edf9c
Merge pull request #8829 from RonnyPfannschmidt/fix-6858-cpdev-set-name-supported-in-cython31
fix #6858: correct the signature of __set_name__ as cython 3.1 added support
2025-05-10 12:18:34 +02:00
Ronny Pfannschmidt
be1b90bbc3 remove Cython constraints 2025-05-10 08:05:19 +02:00
Ronny Pfannschmidt
8b313048bd fix #8828: correct the signature of __set_name__ as cython 3.1 added support
the code calling it is left in place for now to ensure function with older cython
2025-05-10 08:04:12 +02:00
TW
c78a3434b9
Merge pull request #8830 from RonnyPfannschmidt/codeql-update
update codeql to v3 due to deprecation
2025-05-10 02:15:03 +02:00
Ronny Pfannschmidt
4d2197b536 update codeql to v3 due to deprecation 2025-05-09 23:11:23 +02:00
Thomas Waldmann
d9f6f16b5c
tests: add repo-compress --stats test
very simple, mostly for coverage.
2025-05-09 22:19:34 +02:00
TW
82e06a345f
Merge pull request #8827 from ThomasWaldmann/require-cython-less-than-31-master
require Cython < 3.1 for now
2025-05-09 22:04:57 +02:00
Thomas Waldmann
d3080c84fe
require Cython < 3.1 for now
This is a workaround for:

https://github.com/cython/cython/issues/6858
2025-05-09 20:39:50 +02:00
TW
7d92389b1f
Merge pull request #8822 from lkwg82/patch-1
adds 1.4.x versions to SECURITY.md
2025-05-08 15:43:25 +02:00
Lars K.W. Gohlke
040ecfe9f9
adds 1.4.x versions to SECURITY.md 2025-05-08 13:35:17 +02:00
TW
b14be7fa92
Merge pull request #8821 from ThomasWaldmann/compact-fixes
borg compact fix / test
2025-05-08 11:17:53 +02:00
Thomas Waldmann
38268127c9
compact/check: fix bug not writing the complete index, fixes #8813
Add incremental flag to `write_chunkindex_to_repo_cache`.

borg create uses incremental cache indexes to save progress.
But other OPs need to write a full index and delete all other cached indexes.

Added debug logging for missing object IDs.
2025-05-08 01:54:52 +02:00
TW
5dc05b083c
Merge pull request #8819 from ThomasWaldmann/developer-docs
misc updates to developer docs
2025-05-07 17:43:46 +02:00
Thomas Waldmann
b6ee18fffc
docs: minor formatting changes in development docs 2025-05-07 17:02:29 +02:00
Thomas Waldmann
b68552aef2
docs: announce releases on Mastodon, bsky, X 2025-05-07 16:53:30 +02:00
Thomas Waldmann
32ce149caa
docs: refer to more current 1.4-maint 2025-05-07 16:48:55 +02:00
Thomas Waldmann
ae423cfd10
docs: must have the release tags in the local repo, fixes #8582 2025-05-07 16:45:53 +02:00
TW
1ed582a391
Merge pull request #8818 from ThomasWaldmann/repo-info-formatting-fix
repo-info: fix output formatting
2025-05-07 11:27:48 +02:00
TW
c16956a47b
Merge pull request #8817 from ThomasWaldmann/display-archive-ts-in-localtime
check/compact/analyze: show archive timestamp in local tz, fixes #8814
2025-05-07 11:12:43 +02:00
TW
e3cb7b8915
Merge pull request #8816 from ThomasWaldmann/repo-space-tests-and-fixes
repo-space tests and fixes
2025-05-07 10:45:39 +02:00
Thomas Waldmann
dd638ff22d
repo-info: fix output formatting
also: simplify code a little
2025-05-07 10:34:26 +02:00
Thomas Waldmann
2063da3b09
check/compact/analyze: show archive timestamp in local tz, fixes #8814 2025-05-07 10:02:35 +02:00
Thomas Waldmann
455c3e99ad
repo-space: enable ssh: repo testing, fix AttributeError, fixes #8815 2025-05-07 09:14:59 +02:00
Thomas Waldmann
9206e106e1
Add tests for repo-space command functionality
Introduce tests to verify the functionality of the `repo-space` command, including space reservation, freeing, display, and edge cases. These tests ensure proper handling of various scenarios and validation of the respective outputs.
2025-05-07 09:02:28 +02:00
TW
87b1d454cc
Merge pull request #8809 from ThomasWaldmann/rel200b16
Release 2.0.0b16
2025-05-06 14:15:48 +02:00
Thomas Waldmann
524d927871
build_usage build_man 2025-05-06 01:37:17 +02:00
Thomas Waldmann
3bca22a0a3
update CHANGES 2025-05-06 01:35:29 +02:00
TW
5c277b2e77
Merge pull request #8808 from ThomasWaldmann/other-repo-improvements
better support other repo by misc. passphrase env vars, fixes #8457
2025-05-06 01:10:30 +02:00
Thomas Waldmann
bcb178418e
BORG_DEBUG_PASSPHRASE: also show "other" env vars, docs 2025-05-05 21:21:38 +02:00
Thomas Waldmann
ae4aaa96b9
better support other repo by misc. passphrase env vars, fixes #8457
- borg repo-create and borg transfer not only support --repo / --other-repo options,
  but also already supported related BORG_REPO and BORG_OTHER_REPO env vars.
- similar to that, the passphrases now come from BORG_[OTHER_]PASSPHRASE, BORG_[OTHER_]PASSCOMMAND or BORG_[OTHER_]PASSPHRASE_FD.
- borg repo-create --repo B --other-repo A does not silently copy the passphrase of key A
  to key B anymore, but either asks for the passphrase or reads it from env vars.
2025-05-05 21:09:31 +02:00
TW
9a61a86de3
Merge pull request #8805 from ThomasWaldmann/check-ask-passphrase-early
check: ask for key passphrase early, fixes #1931
2025-04-30 22:26:57 +02:00
TW
5ea7383d10
Merge pull request #8804 from ThomasWaldmann/fix-timezone-inconsistency
format_time: output date/time in local tz, fixes #8802
2025-04-30 20:38:08 +02:00
Thomas Waldmann
2340e60504
check: ask for key passphrase early, fixes #1931 2025-04-30 20:35:16 +02:00
Thomas Waldmann
f8aea242c7
format_time: output date/time in local tz, fixes #8802 2025-04-30 18:11:29 +02:00
TW
2efe2bd9ee
Merge pull request #8801 from ThomasWaldmann/borg-serve-repo-option-docs
docs: borg serve --repo is not supported, fixes #8591
2025-04-30 11:58:44 +02:00
Thomas Waldmann
27ca97884c
docs: borg serve --repo is not supported, #8591 2025-04-29 23:08:14 +02:00
TW
677390e175
Merge pull request #8800 from ThomasWaldmann/remove-cygwin-workaround
remove cygwin < 2.8.0 bug workaround
2025-04-29 20:20:52 +02:00
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
edd55df3e8
remove cygwin < 2.8.0 bug workaround 2025-04-28 22:43:22 +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