Commit Graph

8490 Commits

Author SHA1 Message Date
Thomas Waldmann a6fdb4dec0
vagrant: netbsd/openbsd: add version number 2024-07-19 14:16:22 +02:00
Thomas Waldmann 296c674fdf
vagrant: macos: add version number to call param 2024-07-19 14:16:07 +02:00
Thomas Waldmann f4367d66d8
vagrant: darwin -> macos
Also: add macOS version number.
2024-07-19 14:15:15 +02:00
Thomas Waldmann 445dd69eba
vagrant: adapt fetch-binaries script 2024-07-19 14:14:58 +02:00
Thomas Waldmann 0b660e0e75
vagrant: get rid of the "64" suffix for VM names.
We only have 64bit machines anyway. And even in the unlikely
case we would add 32bit machines, we could suffix them by "32".
2024-07-19 14:14:22 +02:00
Thomas Waldmann 273aaaf572
vagrant: use freebsd(13|14)_64 as VM name 2024-07-19 14:13:13 +02:00
Thomas Waldmann 3f5cb32328
add freebsd 13 box, fixes #8266
users of TrueNAS do not have fbsd 14 yet.
2024-07-19 14:11:57 +02:00
TW 0f83d0c51f
Merge pull request #8287 from ThomasWaldmann/update-changes-master
Update changes
2024-07-19 00:02:00 +02:00
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