1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2025-01-19 14:02:55 +00:00
Commit graph

8482 commits

Author SHA1 Message Date
Thomas Waldmann
b1249ebe20
update CHANGES 2024-07-18 23:52:39 +02:00
Thomas Waldmann
4c76b67873
vagrant: use Python 3.11.9 2024-07-18 23:49:59 +02:00
Thomas Waldmann
70d1758e04
vagrant: use pyinstaller 6.7.0 2024-07-18 23:48:19 +02:00
TW
66b62c6fc9
Merge pull request #7846 from ThomasWaldmann/files-cache-with-size
files cache with size
2024-07-18 23:33:10 +02:00
Thomas Waldmann
619a06a5ba
BORG_CACHE_IMPL defaults to "adhocwithfiles" now
Also: support a "cli" env var value, that does not determine
the implementation from the env var, but rather from cli options (similar to as it was before adding BORG_CACHE_IMPL).
2024-07-18 22:51:17 +02:00
Thomas Waldmann
5a500cddf8
rename NewCache -> AdHocWithFilesCache 2024-07-18 22:14:00 +02:00
TW
55bf40db3b
Merge pull request #8285 from borgbackup/dependabot/pip/requirements.d/setuptools-70.0.0
build(deps-dev): bump setuptools from 69.2.0 to 70.0.0 in /requirements.d
2024-07-16 02:11:23 +02:00
dependabot[bot]
0fccd0bc0a
build(deps-dev): bump setuptools in /requirements.d
Bumps [setuptools](https://github.com/pypa/setuptools) from 69.2.0 to 70.0.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v69.2.0...v70.0.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 19:27:15 +00:00
Thomas Waldmann
78954b6487
skip tests not working with specific cache implementations 2024-07-15 12:45:17 +02:00
Thomas Waldmann
616af8daa8
BORG_CACHE_IMPL environment variable added
BORG_CACHE_IMPL allows users to choose the client-side cache implementation from 'local', 'newcache' and 'adhoc'.
2024-07-15 12:45:16 +02:00
Thomas Waldmann
72be8eff15
add comments to test_unknown_feature_on_cache_sync 2024-07-15 12:45:15 +02:00
Thomas Waldmann
c7249583e7
fix test_cache_chunks
- skip test_cache_chunks if there is no persistent chunks cache file
- init self.chunks for AdHocCache
- remove warning output from AdHocCache.__init__, it gets mixed with JSON output and fails the JSON decoder.
2024-07-15 12:45:13 +02:00
Thomas Waldmann
561dcc8abf
Refactor cache sync options and introduce new cache preference
Add new borg create option '--prefer-adhoc-cache' to prefer the
AdHocCache over the NewCache implementation.

Adjust a test to match the previous default behaviour (== use the
AdHocCache) with --no-cache-sync.
2024-07-15 12:45:12 +02:00
Thomas Waldmann
85688e7543
keep timestamp only in security dir
removed some code borg had for backwards compatibility with
old borg versions (that had timestamp only in the cache).

now the manifest timestamp is only checked against the manifest-timestamp
file in the security dir, simplifying the code.
2024-07-15 12:45:09 +02:00
Thomas Waldmann
89d867ea30
keep key_type only in security dir
removed some code borg had for backwards compatibility with
old borg versions (that had key_type only in the cache).

now the repo key_type is only checked against the key-type
file in the security dir, simplifying the code.
2024-07-15 12:45:08 +02:00
Thomas Waldmann
cf8c3a3ae7
keep previous repo location only in security dir
removed some code borg had for backwards compatibility with
old borg versions (that had previous_location only in the
cache).

now the repo location is only checked against the location
file in the security dir, simplifying the code and also
fixing a related test failure with NewCache.

also improved test_repository_move to test for aborting in
case the repo location changed unexpectedly.
2024-07-15 12:45:06 +02:00
Thomas Waldmann
fbfa7cf7bf
fix test_recreate_rechunkify
We can not use unique_chunks counter with NewCache,
thus we use a simpler (and weaker) assertion.
2024-07-15 12:45:05 +02:00
Thomas Waldmann
e3a0c4f375
fix check_cache and test_check_cache
NewCache and AdHocCache do not have a persistent chunks index,
so both check_cache and test_check_cache are pointless.
2024-07-15 12:45:03 +02:00
Thomas Waldmann
ab6049e269
fix test_list_chunk_counts
NewCache does not do precise refcounting, thus it does not know about
unique chunks.

For now, let's just test num_chunks, but not unique_chunks.
2024-07-15 12:45:01 +02:00
Thomas Waldmann
c73f6d4ff3
fix test_delete
NewCache does not do precise refcounting, thus chunks won't be deleted
from the repo at "borg delete" time.

"borg check --repair" would remove such chunks IF they are orphans.
2024-07-15 12:45:00 +02:00
Thomas Waldmann
86adc04da4
fix test_debug_refcount_obj for misc. refcounts 2024-07-15 12:44:59 +02:00
Thomas Waldmann
5136fa8fe3
fix test part that only works with LocalCache 2024-07-15 12:44:57 +02:00
Thomas Waldmann
25a7a1443a
skip tests requiring the chunks index (archive)
Only LocalCache implements these.
2024-07-15 12:44:55 +02:00
Thomas Waldmann
4cd9bc8a6b
check: do not consider orphan chunks a problem
if we use AdHocCache or NewCache, we do not have precise refcounting.
thus, we do not delete repo objects as their refcount does not go to zero.

check --repair will just remove the orphans.
2024-07-15 12:44:53 +02:00
Thomas Waldmann
e2a1999c59
implement NewCache
Also:
- move common code to ChunksMixin
- always use ._txn_active (not .txn_active)

Some tests are still failing.
2024-07-15 12:44:52 +02:00
Thomas Waldmann
cb8d6f8e4a
AdHocCache has no cache persistence
thus:

- no cache.path
- skip on-disk cache corruption tests for AdHocCache
2024-07-15 12:44:50 +02:00
Thomas Waldmann
876c08f654
tolerate missing chunks with delete --force
if a chunk is missing in repo, it will also be missing in a ad-hoc
built chunks index.
2024-07-15 12:44:49 +02:00
Thomas Waldmann
d466005682
refactor files cache code into FilesCacheMixin class 2024-07-15 12:44:47 +02:00
Thomas Waldmann
98162fbb42
create --no-cache-sync-forced option
when given, force using the AdHocCache.
2024-07-15 12:44:44 +02:00
Thomas Waldmann
de342581d6
fix AdHocCache.add_chunk signature (ctype, clevel kwargs) 2024-07-15 12:44:43 +02:00
Thomas Waldmann
17fce18b44
always give id and size to chunk_incref/chunk_decref
incref: returns (id, size), so it needs the size if it can't
get it from the chunks index. also needed for updating stats.

decref: caller does not always have the chunk size (e.g. for
metadata chunks),
as we consider 0 to be an invalid size, we call with size == 1
in that case. thus, stats might be slightly off.
2024-07-15 12:44:41 +02:00
Thomas Waldmann
4488c077a7
files cache: add chunk size information
the files cache used to have only the chunk ids,
so it had to rely on the chunks index having the
size information - which is problematic with e.g.
the AdhocCache (has size==0 for all not new chunks) and blocked using the files cache there.
2024-07-15 12:44:34 +02:00
TW
dc25205287
Merge pull request #8284 from ThomasWaldmann/fix-8256
fix error handling (master)
2024-07-15 12:43:24 +02:00
Thomas Waldmann
126a346296
delete: fix error handling with Ctrl-C 2024-07-15 00:49:39 +02:00
Thomas Waldmann
0ae65a08c4
rcompress: fix error handling with Ctrl-C 2024-07-15 00:48:22 +02:00
Thomas Waldmann
10b38789d6
delete: fix error handling when no archive is specified, fixes #8256 2024-07-15 00:38:24 +02:00
TW
246727f12d
Merge pull request #8281 from Aztorius/no-cache-option
Add BORG_USE_CHUNKS_ARCHIVE env var, fixes #8280
2024-07-13 22:34:20 +02:00
William Bonnaventure
de5d130dda Update docs for BORG_USE_CHUNKS_ARCHIVE 2024-07-13 21:26:18 +02:00
William Bonnaventure
fb7a8f2d85 Add BORG_USE_CHUNKS_ARCHIVE option 2024-07-13 21:26:13 +02:00
TW
f5c9e2509f
Merge pull request #8276 from ThomasWaldmann/ci-windows-fix-master
github CI: windows msys2 build: broken, disable it for now, see #8264
2024-07-07 15:40:47 +02:00
Thomas Waldmann
1e38525853
github CI: windows msys2 build: broken, disable it for now, see #8264 2024-07-07 14:36:54 +02:00
TW
24afee29c2
Merge pull request #8272 from wzyboy/fix/typo
docs: fix typo
2024-07-06 20:37:56 +02:00
William Bonnaventure
c3fb27f463
Automatic rebuild cache on exception, fixes #5213 (#8257)
Try to rebuild cache if an exception is raised, fixes #5213

For now, we catch FileNotFoundError and FileIntegrityError.

Write cache config without manifest to prevent override of manifest_id.
This is needed in order to have an empty manifest_id.
This empty id triggers the re-syncing of the chunks cache by calling sync() inside LocalCache.__init__()

Adapt and extend test_cache_chunks to new behaviour:

- a cache wipe is expected now.
- borg detects the corrupt cache and wipes/rebuilds the cache.
- check if the in-memory and on-disk cache is as expected (a rebuilt chunks cache).
2024-07-06 18:05:01 +02:00
Zhuoyun Wei
7c2fdf2d1d
docs: fix typo 2024-07-05 10:46:39 -07:00
TW
aada9859ff
Merge pull request #8248 from dertuxmalwieder/patch-1
Fixed openSUSE dependencies in installation.rst
2024-06-07 17:37:40 +02:00
Cthulhux
a0f23f97e1
Update installation.rst
Moved..
2024-06-07 03:40:17 +02:00
Cthulhux
de21d79e3d
Fixed openSUSE dependencies in installation.rst
Tested with today's Tumbleweed
2024-06-06 22:32:41 +02:00
TW
1f7cc48320
Merge pull request #8244 from tree-wall/patch-1
Installation: update Arch Linux repo name
2024-06-03 12:19:15 +02:00
tree-wall
7bc6f90dd3
Installation: update Arch Linux repo name
The "community" repository was merged into the "extra" repo last year.

https://archlinux.org/news/git-migration-completed/
2024-06-02 19:21:48 +01:00
TW
f7c18cd2c8
Merge pull request #8240 from ThomasWaldmann/fix-pytest-master
fix pytest_report_header, fixes #8232
2024-05-31 16:40:20 +02:00