borgbackup 2.0.0b9__tar.gz → 2.0.0b11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/.pre-commit-config.yaml +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/CHANGES.rst +149 -31
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/PKG-INFO +6 -4
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/README.rst +3 -3
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/changes.rst +149 -31
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/changes_1.x.rst +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/deployment/automated-local.rst +4 -4
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/deployment/central-backup-server.rst +4 -4
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/deployment/hosting-repositories.rst +0 -2
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/deployment/image-backup.rst +6 -6
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/faq.rst +62 -181
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/installation.rst +2 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/internals/data-structures.rst +149 -377
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/internals/frontends.rst +2 -2
- borgbackup-2.0.0b11/docs/internals/object-graph.odg +0 -0
- borgbackup-2.0.0b11/docs/internals/object-graph.png +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/internals/security.rst +22 -10
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-benchmark-cpu.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-benchmark-crud.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-benchmark.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-break-lock.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-check.1 +19 -13
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-common.1 +2 -5
- borgbackup-2.0.0b11/docs/man/borg-compact.1 +67 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-compression.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-create.1 +13 -32
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-delete.1 +14 -24
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-diff.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-export-tar.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-extract.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-import-tar.1 +3 -9
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-info.1 +12 -6
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-key-change-location.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-key-change-passphrase.1 +3 -3
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-key-export.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-key-import.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-key.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-list.1 +2 -6
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-match-archives.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-mount.1 +1 -4
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-patterns.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-placeholders.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-prune.1 +30 -32
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-recreate.1 +2 -8
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-rename.1 +3 -3
- borgbackup-2.0.0b9/docs/man/borg-rcompress.1 → borgbackup-2.0.0b11/docs/man/borg-repo-compress.1 +10 -19
- borgbackup-2.0.0b9/docs/man/borg-rcreate.1 → borgbackup-2.0.0b11/docs/man/borg-repo-create.1 +26 -17
- borgbackup-2.0.0b9/docs/man/borg-rdelete.1 → borgbackup-2.0.0b11/docs/man/borg-repo-delete.1 +4 -4
- borgbackup-2.0.0b9/docs/man/borg-rinfo.1 → borgbackup-2.0.0b11/docs/man/borg-repo-info.1 +4 -13
- borgbackup-2.0.0b9/docs/man/borg-rlist.1 → borgbackup-2.0.0b11/docs/man/borg-repo-list.1 +6 -9
- borgbackup-2.0.0b11/docs/man/borg-repo-space.1 +94 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-serve.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-transfer.1 +24 -17
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-umount.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-version.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-with-lock.1 +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg.1 +72 -69
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borgfs.1 +1 -4
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man_intro.rst +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/quickstart.rst +39 -46
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/quickstart_example.rst.inc +18 -20
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/check.rst.inc +19 -13
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/common-options.rst.inc +1 -2
- borgbackup-2.0.0b11/docs/usage/compact.rst.inc +46 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/create.rst +8 -12
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/create.rst.inc +3 -18
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/delete.rst +5 -2
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/delete.rst.inc +39 -52
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/general/date-time.rst.inc +7 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/general/environment.rst.inc +4 -17
- borgbackup-2.0.0b11/docs/usage/general/file-systems.rst.inc +37 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/general/repository-urls.rst.inc +11 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/general.rst +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/import-tar.rst.inc +0 -6
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/info.rst +3 -3
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/info.rst.inc +7 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/key.rst +2 -2
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/list.rst.inc +0 -2
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/mount.rst.inc +0 -3
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/notes.rst +3 -3
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/prune.rst +14 -4
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/prune.rst.inc +62 -74
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/recreate.rst.inc +14 -20
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/rename.rst +2 -2
- borgbackup-2.0.0b11/docs/usage/repo-compress.rst +12 -0
- borgbackup-2.0.0b9/docs/usage/rcompress.rst.inc → borgbackup-2.0.0b11/docs/usage/repo-compress.rst.inc +9 -18
- borgbackup-2.0.0b11/docs/usage/repo-create.rst +27 -0
- borgbackup-2.0.0b9/docs/usage/rcreate.rst.inc → borgbackup-2.0.0b11/docs/usage/repo-create.rst.inc +20 -9
- borgbackup-2.0.0b9/docs/usage/rdelete.rst → borgbackup-2.0.0b11/docs/usage/repo-delete.rst +2 -2
- borgbackup-2.0.0b9/docs/usage/rdelete.rst.inc → borgbackup-2.0.0b11/docs/usage/repo-delete.rst.inc +4 -4
- borgbackup-2.0.0b9/docs/usage/rinfo.rst → borgbackup-2.0.0b11/docs/usage/repo-info.rst +2 -2
- borgbackup-2.0.0b9/docs/usage/rinfo.rst.inc → borgbackup-2.0.0b11/docs/usage/repo-info.rst.inc +5 -14
- borgbackup-2.0.0b9/docs/usage/rlist.rst → borgbackup-2.0.0b11/docs/usage/repo-list.rst +2 -2
- borgbackup-2.0.0b9/docs/usage/rlist.rst.inc → borgbackup-2.0.0b11/docs/usage/repo-list.rst.inc +6 -9
- borgbackup-2.0.0b11/docs/usage/repo-space.rst +1 -0
- borgbackup-2.0.0b11/docs/usage/repo-space.rst.inc +80 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/tar.rst +2 -2
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/transfer.rst +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/transfer.rst.inc +25 -13
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage.rst +6 -6
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/pyproject.toml +2 -0
- borgbackup-2.0.0b11/requirements.d/codestyle.txt +1 -0
- borgbackup-2.0.0b11/requirements.d/development.lock.txt +14 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/make.py +13 -5
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/msys2-install-deps +2 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/upload-pypi +3 -3
- borgbackup-2.0.0b11/src/borg/_version.py +1 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archive.py +265 -517
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/__init__.py +26 -59
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/_common.py +42 -24
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/check_cmd.py +25 -15
- borgbackup-2.0.0b11/src/borg/archiver/compact_cmd.py +186 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/create_cmd.py +8 -57
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/debug_cmd.py +47 -172
- borgbackup-2.0.0b11/src/borg/archiver/delete_cmd.py +93 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/diff_cmd.py +6 -5
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/info_cmd.py +11 -7
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/key_cmds.py +2 -7
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/list_cmd.py +4 -2
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/lock_cmds.py +6 -23
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/mount_cmds.py +0 -6
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/prune_cmd.py +26 -83
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/recreate_cmd.py +15 -35
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/rename_cmd.py +1 -3
- borgbackup-2.0.0b9/src/borg/archiver/rcompress_cmd.py → borgbackup-2.0.0b11/src/borg/archiver/repo_compress_cmd.py +36 -82
- borgbackup-2.0.0b9/src/borg/archiver/rcreate_cmd.py → borgbackup-2.0.0b11/src/borg/archiver/repo_create_cmd.py +35 -15
- borgbackup-2.0.0b9/src/borg/archiver/rdelete_cmd.py → borgbackup-2.0.0b11/src/borg/archiver/repo_delete_cmd.py +9 -9
- borgbackup-2.0.0b9/src/borg/archiver/rinfo_cmd.py → borgbackup-2.0.0b11/src/borg/archiver/repo_info_cmd.py +8 -18
- borgbackup-2.0.0b9/src/borg/archiver/rlist_cmd.py → borgbackup-2.0.0b11/src/borg/archiver/repo_list_cmd.py +10 -16
- borgbackup-2.0.0b11/src/borg/archiver/repo_space_cmd.py +110 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/serve_cmd.py +5 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/tar_cmds.py +2 -30
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/transfer_cmd.py +66 -36
- borgbackup-2.0.0b11/src/borg/cache.py +893 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/checksums.c +654 -659
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/chunker.c +1422 -1417
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/compress.c +681 -662
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/compress.pyx +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/constants.py +10 -3
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/crypto/keymanager.py +1 -7
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/crypto/low_level.c +1166 -1135
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/fuse.py +7 -7
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/hashindex.c +3931 -7115
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/hashindex.pyi +0 -14
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/hashindex.pyx +13 -189
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/__init__.py +2 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/fs.py +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/misc.py +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/parseformat.py +46 -30
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/process.py +54 -5
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/item.c +2570 -2505
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/item.pyi +4 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/item.pyx +2 -0
- borgbackup-2.0.0b11/src/borg/legacyremote.py +953 -0
- borgbackup-2.0.0b9/src/borg/repository.py → borgbackup-2.0.0b11/src/borg/legacyrepository.py +33 -126
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/manifest.py +245 -59
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/darwin.c +753 -743
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/freebsd.c +703 -692
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/linux.c +1034 -1017
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/posix.c +486 -476
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/syncfilerange.c +422 -427
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/windows.c +632 -640
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/remote.py +93 -40
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/repoobj.py +22 -18
- borgbackup-2.0.0b11/src/borg/repository.py +481 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/selftest.py +1 -1
- borgbackup-2.0.0b11/src/borg/storelocking.py +267 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/__init__.py +7 -41
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/argparsing.py +7 -6
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/benchmark_cmd.py +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/check_cmd.py +114 -74
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/checks.py +45 -110
- borgbackup-2.0.0b11/src/borg/testsuite/archiver/compact_cmd.py +44 -0
- borgbackup-2.0.0b11/src/borg/testsuite/archiver/corruption.py +32 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/create_cmd.py +67 -152
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/debug_cmds.py +8 -30
- borgbackup-2.0.0b11/src/borg/testsuite/archiver/delete_cmd.py +34 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/diff_cmd.py +3 -3
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/disk_full.py +6 -5
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/extract_cmd.py +27 -27
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/help_cmd.py +3 -3
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/info_cmd.py +3 -3
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/key_cmds.py +26 -26
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/list_cmd.py +5 -5
- borgbackup-2.0.0b11/src/borg/testsuite/archiver/lock_cmds.py +52 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/mount_cmds.py +12 -11
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/prune_cmd.py +15 -36
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/recreate_cmd.py +25 -39
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/rename_cmd.py +4 -4
- borgbackup-2.0.0b11/src/borg/testsuite/archiver/repo_compress_cmd.py +71 -0
- borgbackup-2.0.0b11/src/borg/testsuite/archiver/repo_create_cmd.py +57 -0
- borgbackup-2.0.0b9/src/borg/testsuite/archiver/rdelete_cmd.py → borgbackup-2.0.0b11/src/borg/testsuite/archiver/repo_delete_cmd.py +4 -4
- borgbackup-2.0.0b11/src/borg/testsuite/archiver/repo_info_cmd.py +31 -0
- borgbackup-2.0.0b9/src/borg/testsuite/archiver/rlist_cmd.py → borgbackup-2.0.0b11/src/borg/testsuite/archiver/repo_list_cmd.py +19 -39
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/return_codes.py +2 -5
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/serve_cmd.py +5 -3
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/tar_cmds.py +10 -10
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/transfer_cmd.py +6 -6
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/benchmark.py +1 -1
- borgbackup-2.0.0b11/src/borg/testsuite/cache.py +55 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/conftest.py +1 -25
- borgbackup-2.0.0b9/src/borg/testsuite/locking.py → borgbackup-2.0.0b11/src/borg/testsuite/fslocking.py +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/hashindex.py +6 -203
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/helpers.py +16 -0
- borgbackup-2.0.0b9/src/borg/testsuite/repository.py → borgbackup-2.0.0b11/src/borg/testsuite/legacyrepository.py +42 -143
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/platform.py +1 -1
- borgbackup-2.0.0b11/src/borg/testsuite/repository.py +277 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/shellpattern.py +3 -3
- borgbackup-2.0.0b11/src/borg/testsuite/storelocking.py +100 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/upgrade.py +1 -1
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borgbackup.egg-info/PKG-INFO +6 -4
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borgbackup.egg-info/SOURCES.txt +37 -42
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borgbackup.egg-info/requires.txt +1 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/tox.ini +2 -2
- borgbackup-2.0.0b9/docs/internals/compaction.odg +0 -0
- borgbackup-2.0.0b9/docs/internals/compaction.png +0 -0
- borgbackup-2.0.0b9/docs/internals/object-graph.odg +0 -0
- borgbackup-2.0.0b9/docs/internals/object-graph.png +0 -0
- borgbackup-2.0.0b9/docs/man/borg-compact.1 +0 -82
- borgbackup-2.0.0b9/docs/usage/compact.rst.inc +0 -63
- borgbackup-2.0.0b9/docs/usage/config.rst +0 -22
- borgbackup-2.0.0b9/docs/usage/config.rst.inc +0 -75
- borgbackup-2.0.0b9/docs/usage/general/file-systems.rst.inc +0 -30
- borgbackup-2.0.0b9/docs/usage/rcompress.rst +0 -12
- borgbackup-2.0.0b9/docs/usage/rcreate.rst +0 -27
- borgbackup-2.0.0b9/requirements.d/codestyle.txt +0 -1
- borgbackup-2.0.0b9/requirements.d/development.lock.txt +0 -14
- borgbackup-2.0.0b9/scripts/fuzz-cache-sync/HOWTO +0 -10
- borgbackup-2.0.0b9/scripts/fuzz-cache-sync/main.c +0 -33
- borgbackup-2.0.0b9/scripts/fuzz-cache-sync/testcase_dir/test_simple +0 -0
- borgbackup-2.0.0b9/src/borg/_version.py +0 -1
- borgbackup-2.0.0b9/src/borg/archiver/compact_cmd.py +0 -64
- borgbackup-2.0.0b9/src/borg/archiver/config_cmd.py +0 -177
- borgbackup-2.0.0b9/src/borg/archiver/delete_cmd.py +0 -158
- borgbackup-2.0.0b9/src/borg/cache.py +0 -1389
- borgbackup-2.0.0b9/src/borg/cache_sync/cache_sync.c +0 -138
- borgbackup-2.0.0b9/src/borg/cache_sync/sysdep.h +0 -194
- borgbackup-2.0.0b9/src/borg/cache_sync/unpack.h +0 -416
- borgbackup-2.0.0b9/src/borg/cache_sync/unpack_define.h +0 -95
- borgbackup-2.0.0b9/src/borg/cache_sync/unpack_template.h +0 -365
- borgbackup-2.0.0b9/src/borg/testsuite/archiver/bypass_lock_option.py +0 -130
- borgbackup-2.0.0b9/src/borg/testsuite/archiver/config_cmd.py +0 -64
- borgbackup-2.0.0b9/src/borg/testsuite/archiver/corruption.py +0 -144
- borgbackup-2.0.0b9/src/borg/testsuite/archiver/delete_cmd.py +0 -81
- borgbackup-2.0.0b9/src/borg/testsuite/archiver/lock_cmds.py +0 -29
- borgbackup-2.0.0b9/src/borg/testsuite/archiver/rcompress_cmd.py +0 -76
- borgbackup-2.0.0b9/src/borg/testsuite/archiver/rcreate_cmd.py +0 -86
- borgbackup-2.0.0b9/src/borg/testsuite/archiver/rinfo_cmd.py +0 -55
- borgbackup-2.0.0b9/src/borg/testsuite/cache.py +0 -228
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/.coveragerc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/.git-blame-ignore-revs +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/.readthedocs.yaml +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/AUTHORS +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/Brewfile +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/LICENSE +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/MANIFEST.in +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/SECURITY.md +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/3rd_party/README +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/Makefile +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/_static/Makefile +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/_static/favicon.ico +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/_static/logo.pdf +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/_static/logo.png +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/_static/logo.svg +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/_static/logo_font.txt +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/_templates/globaltoc.html +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/_templates/logo-text.html +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/authors.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/binaries/00_README.txt +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/book.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/borg_theme/css/borg.css +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/changes_0.x.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/conf.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/deployment/non-root-user.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/deployment/pull-backup.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/deployment.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/development.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/global.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/index.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/internals/encryption-aead.odg +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/internals/encryption-aead.png +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/internals/structure.odg +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/internals/structure.png +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/internals.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/introduction.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-change-passphrase.1 +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-config.1 +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-key-change-algorithm.1 +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-key-migrate-to-repokey.1 +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/man/borg-upgrade.1 +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/asciinema/README +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/asciinema/Vagrantfile +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/asciinema/advanced.json +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/asciinema/advanced.tcl +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/asciinema/basic.json +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/asciinema/basic.tcl +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/asciinema/install.json +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/asciinema/install.tcl +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/asciinema/sample-wallpapers.txt +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/benchmark-crud.txt +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/borg-data-flow.odg +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/borg-data-flow.png +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/create_chunker-params.txt +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/internals-picture.txt +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/logging.conf +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/misc/prune-example.txt +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/support.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/benchmark.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/benchmark_cpu.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/benchmark_crud.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/borgfs.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/borgfs.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/break-lock.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/change-passphrase.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/check.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/compact.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/debug.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/diff.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/diff.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/export-tar.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/extract.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/extract.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/general/file-metadata.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/general/logging.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/general/positional-arguments.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/general/repository-locations.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/general/resources.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/general/return-codes.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/general/units.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/help.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/help.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/key_change-location.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/key_change-passphrase.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/key_export.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/key_import.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/list.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/lock.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/mount.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/recreate.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/rename.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/serve.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/serve.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/umount.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/usage_general.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/version.rst +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/version.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage/with-lock.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/docs/usage_general.rst.inc +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/requirements.d/development.txt +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/requirements.d/docs.txt +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/borg.exe.spec +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/errorlist.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/fetch-binaries +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/glibc_check.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/hash_sizes.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/make-testdata/test_transfer_upgrade.sh +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/sdist-sign +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/shell_completions/bash/borg +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/shell_completions/fish/borg.fish +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/shell_completions/zsh/_borg +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/scripts/sign-binaries +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/setup.cfg +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/setup.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/__init__.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/__main__.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/_chunker.c +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/_endian.h +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/_hashindex.c +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/_item.c +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/benchmark_cmd.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/extract_cmd.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/help_cmd.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/archiver/version_cmd.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/checksums.pyi +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/checksums.pyx +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/chunker.pyi +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/chunker.pyx +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/compress.pyi +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/crypto/__init__.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/crypto/file_integrity.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/crypto/key.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/crypto/low_level.pyx +0 -0
- /borgbackup-2.0.0b9/src/borg/locking.py → /borgbackup-2.0.0b11/src/borg/fslocking.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/fuse_impl.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/checks.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/datastruct.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/errors.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/lrucache.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/msgpack.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/nanorst.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/passphrase.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/progress.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/shellpattern.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/time.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/helpers/yes_no.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/logger.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/paperkey.html +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/patterns.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/__init__.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/base.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/darwin.pyx +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/freebsd.pyx +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/linux.pyx +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/posix.pyx +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/syncfilerange.pyx +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/windows.pyx +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platform/xattr.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/platformflags.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/__init__.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archive.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/dotdot_path.tar +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/patterns.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/repo12.tar.gz +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/archiver/unusual_paths.tar +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/checksums.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/chunker.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/chunker_pytest.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/chunker_slow.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/compress.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/crypto.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/efficient_collection_queue.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/file_integrity.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/hashindex_pytest.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/item.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/key.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/logger.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/lrucache.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/nanorst.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/patterns.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/platform_darwin.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/platform_freebsd.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/platform_linux.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/platform_posix.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/remote.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/repoobj.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/version.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/testsuite/xattr.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/version.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borg/xattr.py +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borgbackup.egg-info/dependency_links.txt +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borgbackup.egg-info/entry_points.txt +0 -0
- {borgbackup-2.0.0b9 → borgbackup-2.0.0b11}/src/borgbackup.egg-info/top_level.txt +0 -0
@@ -12,8 +12,8 @@ This section provides information about security and corruption issues.
|
|
12
12
|
Upgrade Notes
|
13
13
|
=============
|
14
14
|
|
15
|
-
borg 1.2.x to borg 2.0
|
16
|
-
|
15
|
+
borg 1.2.x/1.4.x to borg 2.0
|
16
|
+
----------------------------
|
17
17
|
|
18
18
|
Compatibility notes:
|
19
19
|
|
@@ -21,11 +21,11 @@ Compatibility notes:
|
|
21
21
|
|
22
22
|
We tried to put all the necessary "breaking" changes into this release, so we
|
23
23
|
hopefully do not need another breaking release in the near future. The changes
|
24
|
-
were necessary for improved security, improved speed
|
25
|
-
improvements, getting rid of legacy crap
|
26
|
-
simpler code to maintain.
|
24
|
+
were necessary for improved security, improved speed and parallelism,
|
25
|
+
unblocking future improvements, getting rid of legacy crap and design
|
26
|
+
limitations, having less and simpler code to maintain.
|
27
27
|
|
28
|
-
You can use "borg transfer" to transfer archives from borg 1.
|
28
|
+
You can use "borg transfer" to transfer archives from borg 1.2/1.4 repos to
|
29
29
|
a new borg 2.0 repo, but it will need some time and space.
|
30
30
|
|
31
31
|
Before using "borg transfer", you must have upgraded to borg >= 1.2.6 (or
|
@@ -42,37 +42,45 @@ Compatibility notes:
|
|
42
42
|
- ssh:// URLs: removed support for /~otheruser/, #6855.
|
43
43
|
If you used this, just replace it by: ssh://user@host:port/home/otheruser/
|
44
44
|
- -P / --prefix option was removed, please use the similar -a / --match-archives.
|
45
|
-
-
|
45
|
+
- archive names don't need to be unique anymore. to the contrary:
|
46
|
+
it is now strongly recommended to use the identical name for borg create
|
47
|
+
within the same series of archives to make borg work more efficiently.
|
48
|
+
the name now identifies a series of archive, to identify a single archive
|
49
|
+
please use aid:<archive-hash-prefix>, e.g.: borg delete aid:d34db33f
|
50
|
+
- the archive id is always given separately from the repository
|
46
51
|
(differently than with borg 1.x you must not give repo::archive).
|
47
|
-
- the
|
52
|
+
- the series name or archive id is either given as a positional parameter,
|
53
|
+
like:
|
48
54
|
|
49
|
-
- borg create
|
50
|
-
- borg diff
|
55
|
+
- borg create documents ~/Documents
|
56
|
+
- borg diff aid:deadbeef aid:d34db33f
|
51
57
|
- or, if the command makes sense for an arbitrary amount of archives, archives
|
52
58
|
can be selected using a glob pattern, like:
|
53
59
|
|
54
|
-
- borg delete -a 'sh:myarchive
|
55
|
-
- borg recreate -a 'sh:myarchive
|
60
|
+
- borg delete -a 'sh:myarchive-2024-??-??'
|
61
|
+
- borg recreate -a 'sh:myarchive-2024-??-??'
|
56
62
|
- some borg 1.x commands that supported working on a repo AND on an archive
|
57
63
|
were split into 2 commands, some others were renamed:
|
58
64
|
|
59
65
|
- borg 2 repo commands:
|
60
66
|
|
61
|
-
- borg
|
62
|
-
- borg
|
63
|
-
- borg
|
64
|
-
- borg
|
67
|
+
- borg repo-create # was: borg init
|
68
|
+
- borg repo-list
|
69
|
+
- borg repo-info
|
70
|
+
- borg repo-delete
|
71
|
+
- borg repo-compress
|
72
|
+
- borg repo-space
|
65
73
|
- borg 2 archive commands:
|
66
74
|
|
67
|
-
- borg create
|
68
|
-
- borg list
|
69
|
-
- borg extract
|
70
|
-
- borg diff
|
71
|
-
- borg rename
|
72
|
-
- borg info
|
73
|
-
- borg delete
|
74
|
-
- borg recreate
|
75
|
-
- borg mount -a
|
75
|
+
- borg create NAME ...
|
76
|
+
- borg list ID
|
77
|
+
- borg extract ID ...
|
78
|
+
- borg diff ID1 ID2
|
79
|
+
- borg rename ID NEWNAME
|
80
|
+
- borg info ID
|
81
|
+
- borg delete ID
|
82
|
+
- borg recreate ID ...
|
83
|
+
- borg mount -a ID mountpoint ...
|
76
84
|
|
77
85
|
For more details, please consult the docs or --help option output.
|
78
86
|
- create/recreate/import-tar --timestamp: defaults to local timezone
|
@@ -84,6 +92,8 @@ Compatibility notes:
|
|
84
92
|
- removed --nobsdflags (use --noflags)
|
85
93
|
- removed --noatime (default now, see also --atime)
|
86
94
|
- removed --save-space option (does not change behaviour)
|
95
|
+
- removed --bypass-lock option
|
96
|
+
- removed borg config command (only worked locally anyway)
|
87
97
|
- using --list together with --progress is now disallowed (except with --log-json), #7219
|
88
98
|
- the --glob-archives option was renamed to --match-archives (the short option
|
89
99
|
name -a is unchanged) and extended to support different pattern styles:
|
@@ -94,8 +104,8 @@ Compatibility notes:
|
|
94
104
|
|
95
105
|
So you might need to edit your scripts like e.g.::
|
96
106
|
|
97
|
-
borg 1.x: --glob-archives 'myserver-*'
|
98
|
-
borg 2.0: --match-archives 'sh:myserver-*'
|
107
|
+
borg 1.x: --glob-archives 'myserver-2024-*'
|
108
|
+
borg 2.0: --match-archives 'sh:myserver-2024-*'
|
99
109
|
|
100
110
|
- use platformdirs 3.x.x instead of home-grown code. Due to that:
|
101
111
|
|
@@ -114,24 +124,132 @@ Compatibility notes:
|
|
114
124
|
fail now that somehow "worked" before (but maybe didn't work as intended due to
|
115
125
|
the contradicting options).
|
116
126
|
|
117
|
-
|
118
127
|
.. _changelog:
|
119
128
|
|
120
129
|
Change Log 2.x
|
121
130
|
==============
|
122
131
|
|
123
|
-
Version 2.0.
|
124
|
-
|
132
|
+
Version 2.0.0b11 (2024-09-26)
|
133
|
+
-----------------------------
|
125
134
|
|
126
135
|
Please note:
|
127
136
|
|
128
|
-
|
137
|
+
Beta releases are only for testing on NEW repos - do not use for production.
|
129
138
|
|
130
139
|
For upgrade and compatibility hints, please also read the section "Upgrade Notes"
|
131
140
|
above.
|
132
141
|
|
133
142
|
New features:
|
134
143
|
|
144
|
+
- Support rclone:// URLs for borg repositories.
|
145
|
+
|
146
|
+
This enables 70+ cloud storage products, including Amazon S3, Backblaze B2,
|
147
|
+
Ceph, Dropbox, ftp(s), Google Cloud Storage, Google Drive, Microsoft Azure,
|
148
|
+
Microsoft OneDrive, OpenStack Swift, pCloud, Seafile, sftp, SMB / CIFS and
|
149
|
+
WebDAV!
|
150
|
+
|
151
|
+
See https://rclone.org/ for more details.
|
152
|
+
- Parallel operations in same repo from same client (same user/machine).
|
153
|
+
- Archive series feature, #7930.
|
154
|
+
|
155
|
+
TL;DR: a NAME now identifies a series of identically named archives,
|
156
|
+
to identify a specific single archive, use aid:<archive hash>.
|
157
|
+
|
158
|
+
in borg 1.x, we used to put a timestamp into the archive name, because borg1
|
159
|
+
required unique archive names.
|
160
|
+
|
161
|
+
borg2 does not require unique archive names, but it encourages you to even
|
162
|
+
use a identical archive names within the same SERIES of archives, e.g. you
|
163
|
+
could backup user files to archives named "user-files" and system files to
|
164
|
+
archives named "system-files".
|
165
|
+
that makes matching (e.g. for prune, for the files cache, ...) much simpler
|
166
|
+
and borg now KNOWS which archives belong to the same series (because they all
|
167
|
+
have the same name).
|
168
|
+
- info/delete/prune: allow positional NAME argument, e.g.:
|
169
|
+
|
170
|
+
- borg prune --keep-daily 30 <seriesname>
|
171
|
+
- borg delete aid:<archive hash>
|
172
|
+
- create: also archive inode number, #8362
|
173
|
+
|
174
|
+
Borg can use this when using archive series to rebuild the local files cache
|
175
|
+
from the previous archive (of the same series) in the repository.
|
176
|
+
|
177
|
+
Fixes:
|
178
|
+
|
179
|
+
- Remove superfluous repository.list() call. for high latency repos
|
180
|
+
(like sftp, cloud), this improves performance of borg check and compact.
|
181
|
+
- repository.list: refresh lock more frequently
|
182
|
+
- misc. commands fixed for non-unique archive names
|
183
|
+
- remote: allow get_manifest method
|
184
|
+
- files cache: fix rare race condition with data loss potential, #3536
|
185
|
+
- storelocking: misc. fixes / cleanups
|
186
|
+
|
187
|
+
Other changes:
|
188
|
+
|
189
|
+
- Cache the chunks index in the repository, #8397.
|
190
|
+
Improves high latency repo performance for most commands compared to b10.
|
191
|
+
- repo-compress: faster by using chunks index rather than repository.list().
|
192
|
+
- Files cache entries now have both ctime AND mtime.
|
193
|
+
- Borg updates the ctime and mtime of known and "unchanged" files, #4915.
|
194
|
+
- Rebuild files cache from previous archive in same series, #8385.
|
195
|
+
- Reduce RAM usage by splitting the files cache by archive series, #5658.
|
196
|
+
- Remove AdHocCache, remove BORG_CACHE_IMPL (we only have one implementation).
|
197
|
+
- Docs: user@ and :port are optional in sftp and ssh URLs.
|
198
|
+
- CI: re-enable windows build after fixing it.
|
199
|
+
- Upgrade pyinstaller to 6.10.0.
|
200
|
+
- Increase IDS_PER_CHUNK, #6945.
|
201
|
+
|
202
|
+
|
203
|
+
Version 2.0.0b10 (2024-09-09)
|
204
|
+
-----------------------------
|
205
|
+
|
206
|
+
New features:
|
207
|
+
|
208
|
+
- borgstore based repository, file:, ssh: and sftp: for now, more possible.
|
209
|
+
- repository stores objects separately now, not using segment files.
|
210
|
+
this has more fs overhead, but needs much less I/O because no segment
|
211
|
+
files compaction is required anymore. also, no repository index is
|
212
|
+
needed anymore because we can directly find the objects by their ID.
|
213
|
+
- locking: new borgstore based repository locking with automatic stale
|
214
|
+
lock removal (if lock does not get refreshed, if lock owner process is dead).
|
215
|
+
- simultaneous repository access for many borg commands except check/compact.
|
216
|
+
the cache lock for adhocwithfiles is still exclusive though, so use
|
217
|
+
BORG_CACHE_IMPL=adhoc if you want to try that out using only 1 machine
|
218
|
+
and 1 user (that implementation doesn't use a cache lock). When using
|
219
|
+
multiple client machines or users, it also works with the default cache.
|
220
|
+
- delete/prune: much quicker now and can be undone.
|
221
|
+
- check --repair --undelete-archives: bring archives back from the dead.
|
222
|
+
- repo-space: manage reserved space in repository (avoid dead-end situation if
|
223
|
+
repository filesystem runs full).
|
224
|
+
|
225
|
+
Bugs/issues fixed:
|
226
|
+
|
227
|
+
- a lot! all linked from PR #8332.
|
228
|
+
|
229
|
+
Other changes:
|
230
|
+
|
231
|
+
- repository: remove transactions, solved differently and much simpler now
|
232
|
+
(convergence and write order primarily).
|
233
|
+
- repository: replaced precise reference counting with "object exists in repo?"
|
234
|
+
and "garbage collection of unused objects".
|
235
|
+
- cache: remove transactions, remove chunks cache.
|
236
|
+
removed LocalCache, BORG_CACHE_IMPL=local, solving all related issues.
|
237
|
+
as in beta 9, adhowwithfiles is the default implementation.
|
238
|
+
- compact: needs the borg key now (run it clientside), -v gives nice stats.
|
239
|
+
- transfer: archive transfers from borg 1.x need the --from-borg1 option
|
240
|
+
- check: reimplemented / bigger changes.
|
241
|
+
- code: got rid of a metric ton of not needed complexity.
|
242
|
+
when borg does not need to read borg 1.x repos/archives anymore, after
|
243
|
+
users have transferred their archives, even much more can be removed.
|
244
|
+
- docs: updated / removed outdated stuff
|
245
|
+
- renamed r* commands to repo-*
|
246
|
+
|
247
|
+
|
248
|
+
Version 2.0.0b9 (2024-07-20)
|
249
|
+
----------------------------
|
250
|
+
|
251
|
+
New features:
|
252
|
+
|
135
253
|
- add BORG_CACHE_IMPL, default is "adhocwithfiles" to test the new cache
|
136
254
|
implementation, featuring an adhoc non-persistent chunks cache and a
|
137
255
|
persistent files cache. See the docs for other values.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: borgbackup
|
3
|
-
Version: 2.0.
|
3
|
+
Version: 2.0.0b11
|
4
4
|
Summary: Deduplicated, encrypted, authenticated and compressed backups
|
5
5
|
Author: The Borg Collective (see AUTHORS file)
|
6
6
|
Maintainer-email: Thomas Waldmann <tw@waldmann-edv.de>
|
@@ -26,11 +26,13 @@ Classifier: Programming Language :: Python :: 3.9
|
|
26
26
|
Classifier: Programming Language :: Python :: 3.10
|
27
27
|
Classifier: Programming Language :: Python :: 3.11
|
28
28
|
Classifier: Programming Language :: Python :: 3.12
|
29
|
+
Classifier: Programming Language :: Python :: 3.13
|
29
30
|
Classifier: Topic :: Security :: Cryptography
|
30
31
|
Classifier: Topic :: System :: Archiving :: Backup
|
31
32
|
Requires-Python: >=3.9
|
32
33
|
License-File: LICENSE
|
33
34
|
License-File: AUTHORS
|
35
|
+
Requires-Dist: borgstore~=0.0.4
|
34
36
|
Requires-Dist: msgpack<=1.1.0,>=1.0.3
|
35
37
|
Requires-Dist: packaging
|
36
38
|
Requires-Dist: platformdirs<5.0.0,>=3.0.0; sys_platform == "darwin"
|
@@ -93,7 +95,7 @@ Main features
|
|
93
95
|
**Speed**
|
94
96
|
* performance-critical code (chunking, compression, encryption) is
|
95
97
|
implemented in C/Cython
|
96
|
-
* local caching
|
98
|
+
* local caching
|
97
99
|
* quick detection of unmodified files
|
98
100
|
|
99
101
|
**Data encryption**
|
@@ -146,9 +148,9 @@ For ease of use, set the BORG_REPO environment variable::
|
|
146
148
|
|
147
149
|
$ export BORG_REPO=/path/to/repo
|
148
150
|
|
149
|
-
Create a new backup repository (see ``borg
|
151
|
+
Create a new backup repository (see ``borg repo-create --help`` for encryption options)::
|
150
152
|
|
151
|
-
$ borg
|
153
|
+
$ borg repo-create -e repokey-aes-ocb
|
152
154
|
|
153
155
|
Create a new backup archive::
|
154
156
|
|
@@ -69,7 +69,7 @@ Main features
|
|
69
69
|
**Speed**
|
70
70
|
* performance-critical code (chunking, compression, encryption) is
|
71
71
|
implemented in C/Cython
|
72
|
-
* local caching
|
72
|
+
* local caching
|
73
73
|
* quick detection of unmodified files
|
74
74
|
|
75
75
|
**Data encryption**
|
@@ -122,9 +122,9 @@ For ease of use, set the BORG_REPO environment variable::
|
|
122
122
|
|
123
123
|
$ export BORG_REPO=/path/to/repo
|
124
124
|
|
125
|
-
Create a new backup repository (see ``borg
|
125
|
+
Create a new backup repository (see ``borg repo-create --help`` for encryption options)::
|
126
126
|
|
127
|
-
$ borg
|
127
|
+
$ borg repo-create -e repokey-aes-ocb
|
128
128
|
|
129
129
|
Create a new backup archive::
|
130
130
|
|
@@ -12,8 +12,8 @@ This section provides information about security and corruption issues.
|
|
12
12
|
Upgrade Notes
|
13
13
|
=============
|
14
14
|
|
15
|
-
borg 1.2.x to borg 2.0
|
16
|
-
|
15
|
+
borg 1.2.x/1.4.x to borg 2.0
|
16
|
+
----------------------------
|
17
17
|
|
18
18
|
Compatibility notes:
|
19
19
|
|
@@ -21,11 +21,11 @@ Compatibility notes:
|
|
21
21
|
|
22
22
|
We tried to put all the necessary "breaking" changes into this release, so we
|
23
23
|
hopefully do not need another breaking release in the near future. The changes
|
24
|
-
were necessary for improved security, improved speed
|
25
|
-
improvements, getting rid of legacy crap
|
26
|
-
simpler code to maintain.
|
24
|
+
were necessary for improved security, improved speed and parallelism,
|
25
|
+
unblocking future improvements, getting rid of legacy crap and design
|
26
|
+
limitations, having less and simpler code to maintain.
|
27
27
|
|
28
|
-
You can use "borg transfer" to transfer archives from borg 1.
|
28
|
+
You can use "borg transfer" to transfer archives from borg 1.2/1.4 repos to
|
29
29
|
a new borg 2.0 repo, but it will need some time and space.
|
30
30
|
|
31
31
|
Before using "borg transfer", you must have upgraded to borg >= 1.2.6 (or
|
@@ -42,37 +42,45 @@ Compatibility notes:
|
|
42
42
|
- ssh:// URLs: removed support for /~otheruser/, #6855.
|
43
43
|
If you used this, just replace it by: ssh://user@host:port/home/otheruser/
|
44
44
|
- -P / --prefix option was removed, please use the similar -a / --match-archives.
|
45
|
-
-
|
45
|
+
- archive names don't need to be unique anymore. to the contrary:
|
46
|
+
it is now strongly recommended to use the identical name for borg create
|
47
|
+
within the same series of archives to make borg work more efficiently.
|
48
|
+
the name now identifies a series of archive, to identify a single archive
|
49
|
+
please use aid:<archive-hash-prefix>, e.g.: borg delete aid:d34db33f
|
50
|
+
- the archive id is always given separately from the repository
|
46
51
|
(differently than with borg 1.x you must not give repo::archive).
|
47
|
-
- the
|
52
|
+
- the series name or archive id is either given as a positional parameter,
|
53
|
+
like:
|
48
54
|
|
49
|
-
- borg create
|
50
|
-
- borg diff
|
55
|
+
- borg create documents ~/Documents
|
56
|
+
- borg diff aid:deadbeef aid:d34db33f
|
51
57
|
- or, if the command makes sense for an arbitrary amount of archives, archives
|
52
58
|
can be selected using a glob pattern, like:
|
53
59
|
|
54
|
-
- borg delete -a 'sh:myarchive
|
55
|
-
- borg recreate -a 'sh:myarchive
|
60
|
+
- borg delete -a 'sh:myarchive-2024-??-??'
|
61
|
+
- borg recreate -a 'sh:myarchive-2024-??-??'
|
56
62
|
- some borg 1.x commands that supported working on a repo AND on an archive
|
57
63
|
were split into 2 commands, some others were renamed:
|
58
64
|
|
59
65
|
- borg 2 repo commands:
|
60
66
|
|
61
|
-
- borg
|
62
|
-
- borg
|
63
|
-
- borg
|
64
|
-
- borg
|
67
|
+
- borg repo-create # was: borg init
|
68
|
+
- borg repo-list
|
69
|
+
- borg repo-info
|
70
|
+
- borg repo-delete
|
71
|
+
- borg repo-compress
|
72
|
+
- borg repo-space
|
65
73
|
- borg 2 archive commands:
|
66
74
|
|
67
|
-
- borg create
|
68
|
-
- borg list
|
69
|
-
- borg extract
|
70
|
-
- borg diff
|
71
|
-
- borg rename
|
72
|
-
- borg info
|
73
|
-
- borg delete
|
74
|
-
- borg recreate
|
75
|
-
- borg mount -a
|
75
|
+
- borg create NAME ...
|
76
|
+
- borg list ID
|
77
|
+
- borg extract ID ...
|
78
|
+
- borg diff ID1 ID2
|
79
|
+
- borg rename ID NEWNAME
|
80
|
+
- borg info ID
|
81
|
+
- borg delete ID
|
82
|
+
- borg recreate ID ...
|
83
|
+
- borg mount -a ID mountpoint ...
|
76
84
|
|
77
85
|
For more details, please consult the docs or --help option output.
|
78
86
|
- create/recreate/import-tar --timestamp: defaults to local timezone
|
@@ -84,6 +92,8 @@ Compatibility notes:
|
|
84
92
|
- removed --nobsdflags (use --noflags)
|
85
93
|
- removed --noatime (default now, see also --atime)
|
86
94
|
- removed --save-space option (does not change behaviour)
|
95
|
+
- removed --bypass-lock option
|
96
|
+
- removed borg config command (only worked locally anyway)
|
87
97
|
- using --list together with --progress is now disallowed (except with --log-json), #7219
|
88
98
|
- the --glob-archives option was renamed to --match-archives (the short option
|
89
99
|
name -a is unchanged) and extended to support different pattern styles:
|
@@ -94,8 +104,8 @@ Compatibility notes:
|
|
94
104
|
|
95
105
|
So you might need to edit your scripts like e.g.::
|
96
106
|
|
97
|
-
borg 1.x: --glob-archives 'myserver-*'
|
98
|
-
borg 2.0: --match-archives 'sh:myserver-*'
|
107
|
+
borg 1.x: --glob-archives 'myserver-2024-*'
|
108
|
+
borg 2.0: --match-archives 'sh:myserver-2024-*'
|
99
109
|
|
100
110
|
- use platformdirs 3.x.x instead of home-grown code. Due to that:
|
101
111
|
|
@@ -114,24 +124,132 @@ Compatibility notes:
|
|
114
124
|
fail now that somehow "worked" before (but maybe didn't work as intended due to
|
115
125
|
the contradicting options).
|
116
126
|
|
117
|
-
|
118
127
|
.. _changelog:
|
119
128
|
|
120
129
|
Change Log 2.x
|
121
130
|
==============
|
122
131
|
|
123
|
-
Version 2.0.
|
124
|
-
|
132
|
+
Version 2.0.0b11 (2024-09-26)
|
133
|
+
-----------------------------
|
125
134
|
|
126
135
|
Please note:
|
127
136
|
|
128
|
-
|
137
|
+
Beta releases are only for testing on NEW repos - do not use for production.
|
129
138
|
|
130
139
|
For upgrade and compatibility hints, please also read the section "Upgrade Notes"
|
131
140
|
above.
|
132
141
|
|
133
142
|
New features:
|
134
143
|
|
144
|
+
- Support rclone:// URLs for borg repositories.
|
145
|
+
|
146
|
+
This enables 70+ cloud storage products, including Amazon S3, Backblaze B2,
|
147
|
+
Ceph, Dropbox, ftp(s), Google Cloud Storage, Google Drive, Microsoft Azure,
|
148
|
+
Microsoft OneDrive, OpenStack Swift, pCloud, Seafile, sftp, SMB / CIFS and
|
149
|
+
WebDAV!
|
150
|
+
|
151
|
+
See https://rclone.org/ for more details.
|
152
|
+
- Parallel operations in same repo from same client (same user/machine).
|
153
|
+
- Archive series feature, #7930.
|
154
|
+
|
155
|
+
TL;DR: a NAME now identifies a series of identically named archives,
|
156
|
+
to identify a specific single archive, use aid:<archive hash>.
|
157
|
+
|
158
|
+
in borg 1.x, we used to put a timestamp into the archive name, because borg1
|
159
|
+
required unique archive names.
|
160
|
+
|
161
|
+
borg2 does not require unique archive names, but it encourages you to even
|
162
|
+
use a identical archive names within the same SERIES of archives, e.g. you
|
163
|
+
could backup user files to archives named "user-files" and system files to
|
164
|
+
archives named "system-files".
|
165
|
+
that makes matching (e.g. for prune, for the files cache, ...) much simpler
|
166
|
+
and borg now KNOWS which archives belong to the same series (because they all
|
167
|
+
have the same name).
|
168
|
+
- info/delete/prune: allow positional NAME argument, e.g.:
|
169
|
+
|
170
|
+
- borg prune --keep-daily 30 <seriesname>
|
171
|
+
- borg delete aid:<archive hash>
|
172
|
+
- create: also archive inode number, #8362
|
173
|
+
|
174
|
+
Borg can use this when using archive series to rebuild the local files cache
|
175
|
+
from the previous archive (of the same series) in the repository.
|
176
|
+
|
177
|
+
Fixes:
|
178
|
+
|
179
|
+
- Remove superfluous repository.list() call. for high latency repos
|
180
|
+
(like sftp, cloud), this improves performance of borg check and compact.
|
181
|
+
- repository.list: refresh lock more frequently
|
182
|
+
- misc. commands fixed for non-unique archive names
|
183
|
+
- remote: allow get_manifest method
|
184
|
+
- files cache: fix rare race condition with data loss potential, #3536
|
185
|
+
- storelocking: misc. fixes / cleanups
|
186
|
+
|
187
|
+
Other changes:
|
188
|
+
|
189
|
+
- Cache the chunks index in the repository, #8397.
|
190
|
+
Improves high latency repo performance for most commands compared to b10.
|
191
|
+
- repo-compress: faster by using chunks index rather than repository.list().
|
192
|
+
- Files cache entries now have both ctime AND mtime.
|
193
|
+
- Borg updates the ctime and mtime of known and "unchanged" files, #4915.
|
194
|
+
- Rebuild files cache from previous archive in same series, #8385.
|
195
|
+
- Reduce RAM usage by splitting the files cache by archive series, #5658.
|
196
|
+
- Remove AdHocCache, remove BORG_CACHE_IMPL (we only have one implementation).
|
197
|
+
- Docs: user@ and :port are optional in sftp and ssh URLs.
|
198
|
+
- CI: re-enable windows build after fixing it.
|
199
|
+
- Upgrade pyinstaller to 6.10.0.
|
200
|
+
- Increase IDS_PER_CHUNK, #6945.
|
201
|
+
|
202
|
+
|
203
|
+
Version 2.0.0b10 (2024-09-09)
|
204
|
+
-----------------------------
|
205
|
+
|
206
|
+
New features:
|
207
|
+
|
208
|
+
- borgstore based repository, file:, ssh: and sftp: for now, more possible.
|
209
|
+
- repository stores objects separately now, not using segment files.
|
210
|
+
this has more fs overhead, but needs much less I/O because no segment
|
211
|
+
files compaction is required anymore. also, no repository index is
|
212
|
+
needed anymore because we can directly find the objects by their ID.
|
213
|
+
- locking: new borgstore based repository locking with automatic stale
|
214
|
+
lock removal (if lock does not get refreshed, if lock owner process is dead).
|
215
|
+
- simultaneous repository access for many borg commands except check/compact.
|
216
|
+
the cache lock for adhocwithfiles is still exclusive though, so use
|
217
|
+
BORG_CACHE_IMPL=adhoc if you want to try that out using only 1 machine
|
218
|
+
and 1 user (that implementation doesn't use a cache lock). When using
|
219
|
+
multiple client machines or users, it also works with the default cache.
|
220
|
+
- delete/prune: much quicker now and can be undone.
|
221
|
+
- check --repair --undelete-archives: bring archives back from the dead.
|
222
|
+
- repo-space: manage reserved space in repository (avoid dead-end situation if
|
223
|
+
repository filesystem runs full).
|
224
|
+
|
225
|
+
Bugs/issues fixed:
|
226
|
+
|
227
|
+
- a lot! all linked from PR #8332.
|
228
|
+
|
229
|
+
Other changes:
|
230
|
+
|
231
|
+
- repository: remove transactions, solved differently and much simpler now
|
232
|
+
(convergence and write order primarily).
|
233
|
+
- repository: replaced precise reference counting with "object exists in repo?"
|
234
|
+
and "garbage collection of unused objects".
|
235
|
+
- cache: remove transactions, remove chunks cache.
|
236
|
+
removed LocalCache, BORG_CACHE_IMPL=local, solving all related issues.
|
237
|
+
as in beta 9, adhowwithfiles is the default implementation.
|
238
|
+
- compact: needs the borg key now (run it clientside), -v gives nice stats.
|
239
|
+
- transfer: archive transfers from borg 1.x need the --from-borg1 option
|
240
|
+
- check: reimplemented / bigger changes.
|
241
|
+
- code: got rid of a metric ton of not needed complexity.
|
242
|
+
when borg does not need to read borg 1.x repos/archives anymore, after
|
243
|
+
users have transferred their archives, even much more can be removed.
|
244
|
+
- docs: updated / removed outdated stuff
|
245
|
+
- renamed r* commands to repo-*
|
246
|
+
|
247
|
+
|
248
|
+
Version 2.0.0b9 (2024-07-20)
|
249
|
+
----------------------------
|
250
|
+
|
251
|
+
New features:
|
252
|
+
|
135
253
|
- add BORG_CACHE_IMPL, default is "adhocwithfiles" to test the new cache
|
136
254
|
implementation, featuring an adhoc non-persistent chunks cache and a
|
137
255
|
persistent files cache. See the docs for other values.
|
@@ -3469,7 +3469,7 @@ Other changes:
|
|
3469
3469
|
- archiver tests: add check_cache tool - lints refcounts
|
3470
3470
|
|
3471
3471
|
- fixed cache sync performance regression from 1.1.0b1 onwards, #1940
|
3472
|
-
- syncing the cache without chunks.archive.d
|
3472
|
+
- syncing the cache without chunks.archive.d
|
3473
3473
|
now avoids any merges and is thus faster, #1940
|
3474
3474
|
- borg check --verify-data: faster due to linear on-disk-order scan
|
3475
3475
|
- borg debug-xxx commands removed, we use "debug xxx" subcommands now, #1627
|
@@ -105,7 +105,7 @@ modify it to suit your needs (e.g. more backup sets, dumping databases etc.).
|
|
105
105
|
#
|
106
106
|
|
107
107
|
# Options for borg create
|
108
|
-
BORG_OPTS="--stats --one-file-system --compression lz4
|
108
|
+
BORG_OPTS="--stats --one-file-system --compression lz4"
|
109
109
|
|
110
110
|
# Set BORG_PASSPHRASE or BORG_PASSCOMMAND somewhere around here, using export,
|
111
111
|
# if encryption is used.
|
@@ -150,7 +150,7 @@ modify it to suit your needs (e.g. more backup sets, dumping databases etc.).
|
|
150
150
|
fi
|
151
151
|
|
152
152
|
Create the ``/etc/backups/autoeject`` file to have the script automatically eject the drive
|
153
|
-
after creating the backup. Rename the file to something else (e.g. ``/etc/
|
153
|
+
after creating the backup. Rename the file to something else (e.g. ``/etc/backups/autoeject-no``)
|
154
154
|
when you want to do something with the drive after creating backups (e.g running check).
|
155
155
|
|
156
156
|
Create the ``/etc/backups/backup-suspend`` file if the machine should suspend after completing
|
@@ -177,7 +177,7 @@ Find the UUID of the file system that backups should be stored on::
|
|
177
177
|
|
178
178
|
lsblk -o+uuid,label
|
179
179
|
|
180
|
-
Note the UUID into the ``/etc/
|
180
|
+
Note the UUID into the ``/etc/backups/backup.disks`` file.
|
181
181
|
|
182
182
|
Mount the drive to /mnt/backup.
|
183
183
|
|
@@ -198,7 +198,7 @@ Security considerations
|
|
198
198
|
-----------------------
|
199
199
|
|
200
200
|
The script as shown above will mount any file system with an UUID listed in
|
201
|
-
``/etc/
|
201
|
+
``/etc/backups/backup.disks``. The UUID check is a safety / annoyance-reduction
|
202
202
|
mechanism to keep the script from blowing up whenever a random USB thumb drive is connected.
|
203
203
|
It is not meant as a security mechanism. Mounting file systems and reading repository
|
204
204
|
data exposes additional attack surfaces (kernel file system drivers,
|
@@ -82,7 +82,7 @@ The options which are added to the key will perform the following:
|
|
82
82
|
Due to the ``cd`` command we use, the server automatically changes the current
|
83
83
|
working directory. Then client doesn't need to have knowledge of the absolute
|
84
84
|
or relative remote repository path and can directly access the repositories at
|
85
|
-
|
85
|
+
``ssh://<user>@<host>/./<repo>``.
|
86
86
|
|
87
87
|
.. note:: The setup above ignores all client given commandline parameters
|
88
88
|
which are normally appended to the `borg serve` command.
|
@@ -94,21 +94,21 @@ The client needs to initialize the `pictures` repository like this:
|
|
94
94
|
|
95
95
|
::
|
96
96
|
|
97
|
-
borg init backup@backup01.srv.local
|
97
|
+
borg init ssh://backup@backup01.srv.local/./pictures
|
98
98
|
|
99
99
|
Or with the full path (should actually never be used, as only for demonstration purposes).
|
100
100
|
The server should automatically change the current working directory to the `<client fqdn>` folder.
|
101
101
|
|
102
102
|
::
|
103
103
|
|
104
|
-
borg init backup@backup01.srv.local
|
104
|
+
borg init ssh://backup@backup01.srv.local/home/backup/repos/johndoe.clnt.local/pictures
|
105
105
|
|
106
106
|
When `johndoe.clnt.local` tries to access a not restricted path the following error is raised.
|
107
107
|
John Doe tries to back up into the Web 01 path:
|
108
108
|
|
109
109
|
::
|
110
110
|
|
111
|
-
borg init backup@backup01.srv.local
|
111
|
+
borg init ssh://backup@backup01.srv.local/home/backup/repos/web01.srv.local/pictures
|
112
112
|
|
113
113
|
::
|
114
114
|
|
@@ -68,8 +68,6 @@ can be filled to the specified quota.
|
|
68
68
|
If storage quotas are used, ensure that all deployed Borg releases
|
69
69
|
support storage quotas.
|
70
70
|
|
71
|
-
Refer to :ref:`internals_storage_quota` for more details on storage quotas.
|
72
|
-
|
73
71
|
**Specificities: Append-only repositories**
|
74
72
|
|
75
73
|
Running ``borg init`` via a ``borg serve --append-only`` server will **not**
|