borgbackup 2.0.0b8__tar.gz → 2.0.0b10__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.0b8 → borgbackup-2.0.0b10}/.pre-commit-config.yaml +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/Brewfile +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/CHANGES.rst +109 -13
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/PKG-INFO +7 -5
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/README.rst +10 -5
- borgbackup-2.0.0b10/docs/binaries/00_README.txt +78 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/borg_theme/css/borg.css +1 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/changes.rst +109 -13
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/changes_1.x.rst +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/deployment/automated-local.rst +4 -4
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/deployment/hosting-repositories.rst +0 -2
- borgbackup-2.0.0b10/docs/deployment/non-root-user.rst +66 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/deployment.rst +1 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/faq.rst +32 -151
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/global.rst.inc +0 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/installation.rst +3 -3
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/data-structures.rst +141 -371
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/frontends.rst +2 -2
- borgbackup-2.0.0b10/docs/internals/object-graph.odg +0 -0
- borgbackup-2.0.0b10/docs/internals/object-graph.png +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/security.rst +22 -10
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-benchmark-cpu.1 +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-benchmark-crud.1 +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-benchmark.1 +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-break-lock.1 +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-check.1 +20 -14
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-common.1 +2 -5
- borgbackup-2.0.0b10/docs/man/borg-compact.1 +67 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-compression.1 +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-config.1 +3 -3
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-create.1 +6 -14
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-delete.1 +3 -22
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-diff.1 +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-export-tar.1 +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-extract.1 +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-import-tar.1 +2 -8
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-info.1 +3 -3
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key-change-location.1 +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key-change-passphrase.1 +3 -3
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key-export.1 +19 -20
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key-import.1 +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key.1 +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-list.1 +3 -7
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-match-archives.1 +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-mount.1 +2 -5
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-patterns.1 +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-placeholders.1 +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-prune.1 +3 -22
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-recreate.1 +2 -8
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-rename.1 +3 -3
- borgbackup-2.0.0b8/docs/man/borg-rcompress.1 → borgbackup-2.0.0b10/docs/man/borg-repo-compress.1 +11 -20
- borgbackup-2.0.0b8/docs/man/borg-rcreate.1 → borgbackup-2.0.0b10/docs/man/borg-repo-create.1 +27 -18
- borgbackup-2.0.0b8/docs/man/borg-rdelete.1 → borgbackup-2.0.0b10/docs/man/borg-repo-delete.1 +5 -5
- borgbackup-2.0.0b8/docs/man/borg-rinfo.1 → borgbackup-2.0.0b10/docs/man/borg-repo-info.1 +5 -14
- borgbackup-2.0.0b8/docs/man/borg-rlist.1 → borgbackup-2.0.0b10/docs/man/borg-repo-list.1 +7 -10
- borgbackup-2.0.0b10/docs/man/borg-repo-space.1 +94 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-serve.1 +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-transfer.1 +25 -18
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-umount.1 +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-version.1 +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-with-lock.1 +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg.1 +68 -31
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borgfs.1 +2 -5
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man_intro.rst +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/quickstart.rst +18 -26
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/quickstart_example.rst.inc +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/check.rst.inc +21 -15
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/common-options.rst.inc +1 -2
- borgbackup-2.0.0b10/docs/usage/compact.rst.inc +46 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/create.rst.inc +5 -13
- borgbackup-2.0.0b10/docs/usage/delete.rst.inc +88 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/diff.rst.inc +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/export-tar.rst.inc +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/extract.rst.inc +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/date-time.rst.inc +7 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/environment.rst.inc +17 -4
- borgbackup-2.0.0b10/docs/usage/general/file-systems.rst.inc +37 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/repository-urls.rst.inc +3 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general.rst +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/import-tar.rst.inc +2 -8
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/info.rst.inc +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/key.rst +14 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/key_change-location.rst.inc +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/key_export.rst.inc +3 -14
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/key_import.rst.inc +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/list.rst.inc +2 -4
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/mount.rst.inc +2 -5
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/notes.rst +3 -3
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/prune.rst.inc +49 -68
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/recreate.rst.inc +15 -21
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/rename.rst +2 -2
- borgbackup-2.0.0b10/docs/usage/repo-compress.rst +12 -0
- borgbackup-2.0.0b8/docs/usage/rcompress.rst.inc → borgbackup-2.0.0b10/docs/usage/repo-compress.rst.inc +11 -20
- borgbackup-2.0.0b10/docs/usage/repo-create.rst +27 -0
- borgbackup-2.0.0b8/docs/usage/rcreate.rst.inc → borgbackup-2.0.0b10/docs/usage/repo-create.rst.inc +22 -11
- borgbackup-2.0.0b8/docs/usage/rdelete.rst → borgbackup-2.0.0b10/docs/usage/repo-delete.rst +2 -2
- borgbackup-2.0.0b8/docs/usage/rdelete.rst.inc → borgbackup-2.0.0b10/docs/usage/repo-delete.rst.inc +6 -6
- borgbackup-2.0.0b8/docs/usage/rinfo.rst → borgbackup-2.0.0b10/docs/usage/repo-info.rst +2 -2
- borgbackup-2.0.0b8/docs/usage/rinfo.rst.inc → borgbackup-2.0.0b10/docs/usage/repo-info.rst.inc +7 -16
- borgbackup-2.0.0b8/docs/usage/rlist.rst → borgbackup-2.0.0b10/docs/usage/repo-list.rst +2 -2
- borgbackup-2.0.0b8/docs/usage/rlist.rst.inc → borgbackup-2.0.0b10/docs/usage/repo-list.rst.inc +8 -11
- borgbackup-2.0.0b10/docs/usage/repo-space.rst +1 -0
- borgbackup-2.0.0b10/docs/usage/repo-space.rst.inc +80 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/serve.rst.inc +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/transfer.rst +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/transfer.rst.inc +27 -15
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage.rst +6 -6
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/pyproject.toml +4 -2
- borgbackup-2.0.0b10/requirements.d/codestyle.txt +1 -0
- borgbackup-2.0.0b10/requirements.d/development.lock.txt +14 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/fetch-binaries +6 -5
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/make.py +13 -5
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/upload-pypi +3 -3
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/setup.py +13 -2
- borgbackup-2.0.0b10/src/borg/_version.py +1 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archive.py +237 -492
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/__init__.py +25 -59
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/_common.py +37 -19
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/benchmark_cmd.py +21 -10
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/check_cmd.py +25 -15
- borgbackup-2.0.0b10/src/borg/archiver/compact_cmd.py +182 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/create_cmd.py +8 -39
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/debug_cmd.py +32 -147
- borgbackup-2.0.0b10/src/borg/archiver/delete_cmd.py +84 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/info_cmd.py +0 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/key_cmds.py +15 -31
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/lock_cmds.py +6 -23
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/mount_cmds.py +0 -6
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/prune_cmd.py +14 -78
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/recreate_cmd.py +1 -24
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/rename_cmd.py +1 -3
- borgbackup-2.0.0b8/src/borg/archiver/rcompress_cmd.py → borgbackup-2.0.0b10/src/borg/archiver/repo_compress_cmd.py +32 -72
- borgbackup-2.0.0b8/src/borg/archiver/rcreate_cmd.py → borgbackup-2.0.0b10/src/borg/archiver/repo_create_cmd.py +35 -15
- borgbackup-2.0.0b8/src/borg/archiver/rdelete_cmd.py → borgbackup-2.0.0b10/src/borg/archiver/repo_delete_cmd.py +9 -9
- borgbackup-2.0.0b8/src/borg/archiver/rinfo_cmd.py → borgbackup-2.0.0b10/src/borg/archiver/repo_info_cmd.py +11 -28
- borgbackup-2.0.0b8/src/borg/archiver/rlist_cmd.py → borgbackup-2.0.0b10/src/borg/archiver/repo_list_cmd.py +10 -16
- borgbackup-2.0.0b10/src/borg/archiver/repo_space_cmd.py +110 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/serve_cmd.py +5 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/tar_cmds.py +2 -30
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/transfer_cmd.py +37 -21
- borgbackup-2.0.0b10/src/borg/cache.py +818 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/checksums.c +697 -692
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/chunker.c +1471 -1442
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/compress.c +721 -695
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/compress.pyx +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/constants.py +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/crypto/keymanager.py +1 -7
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/crypto/low_level.c +1209 -1170
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/hashindex.c +3777 -6943
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/hashindex.pyi +0 -14
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/hashindex.pyx +13 -189
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/__init__.py +2 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/errors.py +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/fs.py +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/misc.py +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/msgpack.py +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/parseformat.py +32 -27
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/process.py +72 -9
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/time.py +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/item.c +673 -597
- borgbackup-2.0.0b10/src/borg/legacyremote.py +953 -0
- borgbackup-2.0.0b8/src/borg/repository.py → borgbackup-2.0.0b10/src/borg/legacyrepository.py +33 -126
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/manifest.py +160 -48
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/darwin.c +2029 -1458
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/darwin.pyx +25 -16
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/freebsd.c +2976 -1953
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/freebsd.pyx +58 -37
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/linux.c +2484 -1590
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/linux.pyx +45 -33
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/posix.c +528 -500
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/syncfilerange.c +463 -450
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/windows.c +674 -664
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/remote.py +92 -40
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/repoobj.py +22 -18
- borgbackup-2.0.0b10/src/borg/repository.py +465 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/selftest.py +1 -1
- borgbackup-2.0.0b10/src/borg/storelocking.py +243 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archive.py +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/__init__.py +5 -34
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/argparsing.py +7 -6
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/benchmark_cmd.py +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/check_cmd.py +111 -54
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/checks.py +53 -95
- borgbackup-2.0.0b10/src/borg/testsuite/archiver/compact_cmd.py +44 -0
- borgbackup-2.0.0b10/src/borg/testsuite/archiver/corruption.py +53 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/create_cmd.py +78 -91
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/debug_cmds.py +8 -25
- borgbackup-2.0.0b10/src/borg/testsuite/archiver/delete_cmd.py +34 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/diff_cmd.py +3 -3
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/disk_full.py +6 -5
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/extract_cmd.py +30 -27
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/help_cmd.py +3 -3
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/info_cmd.py +3 -3
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/key_cmds.py +37 -32
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/list_cmd.py +8 -8
- borgbackup-2.0.0b10/src/borg/testsuite/archiver/lock_cmds.py +52 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/mount_cmds.py +12 -11
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/prune_cmd.py +15 -36
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/recreate_cmd.py +38 -35
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/rename_cmd.py +4 -4
- borgbackup-2.0.0b8/src/borg/testsuite/archiver/rcompress_cmd.py → borgbackup-2.0.0b10/src/borg/testsuite/archiver/repo_compress_cmd.py +14 -13
- borgbackup-2.0.0b10/src/borg/testsuite/archiver/repo_create_cmd.py +57 -0
- borgbackup-2.0.0b8/src/borg/testsuite/archiver/rdelete_cmd.py → borgbackup-2.0.0b10/src/borg/testsuite/archiver/repo_delete_cmd.py +5 -4
- borgbackup-2.0.0b10/src/borg/testsuite/archiver/repo_info_cmd.py +31 -0
- borgbackup-2.0.0b8/src/borg/testsuite/archiver/rlist_cmd.py → borgbackup-2.0.0b10/src/borg/testsuite/archiver/repo_list_cmd.py +19 -39
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/return_codes.py +6 -4
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/serve_cmd.py +5 -3
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/tar_cmds.py +10 -10
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/transfer_cmd.py +6 -6
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/benchmark.py +1 -1
- borgbackup-2.0.0b10/src/borg/testsuite/cache.py +54 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/conftest.py +3 -25
- borgbackup-2.0.0b8/src/borg/testsuite/locking.py → borgbackup-2.0.0b10/src/borg/testsuite/fslocking.py +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/hashindex.py +6 -203
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/helpers.py +9 -1
- borgbackup-2.0.0b8/src/borg/testsuite/repository.py → borgbackup-2.0.0b10/src/borg/testsuite/legacyrepository.py +42 -143
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/platform.py +28 -14
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/platform_darwin.py +1 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/platform_freebsd.py +2 -0
- borgbackup-2.0.0b10/src/borg/testsuite/repository.py +277 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/shellpattern.py +3 -3
- borgbackup-2.0.0b10/src/borg/testsuite/storelocking.py +100 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/upgrade.py +2 -2
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borgbackup.egg-info/PKG-INFO +7 -5
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borgbackup.egg-info/SOURCES.txt +39 -42
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borgbackup.egg-info/requires.txt +2 -1
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/tox.ini +2 -2
- borgbackup-2.0.0b8/docs/internals/compaction.odg +0 -0
- borgbackup-2.0.0b8/docs/internals/compaction.png +0 -0
- borgbackup-2.0.0b8/docs/internals/object-graph.odg +0 -0
- borgbackup-2.0.0b8/docs/internals/object-graph.png +0 -0
- borgbackup-2.0.0b8/docs/man/borg-compact.1 +0 -82
- borgbackup-2.0.0b8/docs/usage/compact.rst.inc +0 -63
- borgbackup-2.0.0b8/docs/usage/config.rst +0 -22
- borgbackup-2.0.0b8/docs/usage/config.rst.inc +0 -75
- borgbackup-2.0.0b8/docs/usage/delete.rst.inc +0 -107
- borgbackup-2.0.0b8/docs/usage/general/file-systems.rst.inc +0 -30
- borgbackup-2.0.0b8/docs/usage/rcompress.rst +0 -12
- borgbackup-2.0.0b8/docs/usage/rcreate.rst +0 -27
- borgbackup-2.0.0b8/requirements.d/codestyle.txt +0 -1
- borgbackup-2.0.0b8/requirements.d/development.lock.txt +0 -14
- borgbackup-2.0.0b8/scripts/fuzz-cache-sync/HOWTO +0 -10
- borgbackup-2.0.0b8/scripts/fuzz-cache-sync/main.c +0 -33
- borgbackup-2.0.0b8/scripts/fuzz-cache-sync/testcase_dir/test_simple +0 -0
- borgbackup-2.0.0b8/src/borg/_version.py +0 -1
- borgbackup-2.0.0b8/src/borg/archiver/compact_cmd.py +0 -64
- borgbackup-2.0.0b8/src/borg/archiver/config_cmd.py +0 -181
- borgbackup-2.0.0b8/src/borg/archiver/delete_cmd.py +0 -159
- borgbackup-2.0.0b8/src/borg/cache.py +0 -1240
- borgbackup-2.0.0b8/src/borg/cache_sync/cache_sync.c +0 -138
- borgbackup-2.0.0b8/src/borg/cache_sync/sysdep.h +0 -194
- borgbackup-2.0.0b8/src/borg/cache_sync/unpack.h +0 -416
- borgbackup-2.0.0b8/src/borg/cache_sync/unpack_define.h +0 -95
- borgbackup-2.0.0b8/src/borg/cache_sync/unpack_template.h +0 -365
- borgbackup-2.0.0b8/src/borg/testsuite/archiver/bypass_lock_option.py +0 -130
- borgbackup-2.0.0b8/src/borg/testsuite/archiver/config_cmd.py +0 -63
- borgbackup-2.0.0b8/src/borg/testsuite/archiver/corruption.py +0 -108
- borgbackup-2.0.0b8/src/borg/testsuite/archiver/delete_cmd.py +0 -82
- borgbackup-2.0.0b8/src/borg/testsuite/archiver/lock_cmds.py +0 -27
- borgbackup-2.0.0b8/src/borg/testsuite/archiver/rcreate_cmd.py +0 -85
- borgbackup-2.0.0b8/src/borg/testsuite/archiver/rinfo_cmd.py +0 -55
- borgbackup-2.0.0b8/src/borg/testsuite/cache.py +0 -228
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/.coveragerc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/.git-blame-ignore-revs +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/.readthedocs.yaml +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/AUTHORS +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/LICENSE +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/MANIFEST.in +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/SECURITY.md +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/3rd_party/README +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/Makefile +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_static/Makefile +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_static/favicon.ico +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_static/logo.pdf +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_static/logo.png +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_static/logo.svg +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_static/logo_font.txt +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_templates/globaltoc.html +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_templates/logo-text.html +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/authors.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/book.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/changes_0.x.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/conf.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/deployment/central-backup-server.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/deployment/image-backup.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/deployment/pull-backup.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/development.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/index.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/encryption-aead.odg +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/encryption-aead.png +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/structure.odg +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/structure.png +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/introduction.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-change-passphrase.1 +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key-change-algorithm.1 +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key-migrate-to-repokey.1 +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-upgrade.1 +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/README +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/Vagrantfile +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/advanced.json +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/advanced.tcl +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/basic.json +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/basic.tcl +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/install.json +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/install.tcl +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/sample-wallpapers.txt +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/benchmark-crud.txt +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/borg-data-flow.odg +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/borg-data-flow.png +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/create_chunker-params.txt +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/internals-picture.txt +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/logging.conf +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/prune-example.txt +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/support.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/benchmark.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/benchmark_cpu.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/benchmark_crud.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/borgfs.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/borgfs.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/break-lock.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/change-passphrase.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/check.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/compact.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/create.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/debug.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/delete.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/diff.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/extract.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/file-metadata.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/logging.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/positional-arguments.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/repository-locations.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/resources.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/return-codes.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/units.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/help.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/help.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/info.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/key_change-passphrase.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/list.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/lock.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/mount.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/prune.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/recreate.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/rename.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/serve.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/tar.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/umount.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/usage_general.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/version.rst +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/version.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/with-lock.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage_general.rst.inc +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/requirements.d/development.txt +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/requirements.d/docs.txt +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/borg.exe.spec +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/errorlist.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/glibc_check.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/hash_sizes.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/make-testdata/test_transfer_upgrade.sh +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/msys2-install-deps +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/sdist-sign +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/shell_completions/bash/borg +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/shell_completions/fish/borg.fish +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/shell_completions/zsh/_borg +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/sign-binaries +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/setup.cfg +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/__init__.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/__main__.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/_chunker.c +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/_endian.h +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/_hashindex.c +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/_item.c +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/diff_cmd.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/extract_cmd.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/help_cmd.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/list_cmd.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/version_cmd.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/checksums.pyi +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/checksums.pyx +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/chunker.pyi +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/chunker.pyx +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/compress.pyi +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/crypto/__init__.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/crypto/file_integrity.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/crypto/key.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/crypto/low_level.pyx +0 -0
- /borgbackup-2.0.0b8/src/borg/locking.py → /borgbackup-2.0.0b10/src/borg/fslocking.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/fuse.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/fuse_impl.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/checks.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/datastruct.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/lrucache.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/nanorst.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/passphrase.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/progress.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/shellpattern.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/yes_no.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/item.pyi +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/item.pyx +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/logger.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/paperkey.html +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/patterns.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/__init__.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/base.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/posix.pyx +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/syncfilerange.pyx +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/windows.pyx +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/xattr.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platformflags.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/__init__.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/dotdot_path.tar +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/patterns.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/repo12.tar.gz +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/unusual_paths.tar +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/checksums.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/chunker.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/chunker_pytest.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/chunker_slow.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/compress.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/crypto.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/efficient_collection_queue.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/file_integrity.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/hashindex_pytest.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/item.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/key.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/logger.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/lrucache.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/nanorst.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/patterns.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/platform_linux.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/platform_posix.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/remote.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/repoobj.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/version.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/xattr.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/version.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/xattr.py +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borgbackup.egg-info/dependency_links.txt +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borgbackup.egg-info/entry_points.txt +0 -0
- {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/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
|
@@ -58,10 +58,12 @@ Compatibility notes:
|
|
58
58
|
|
59
59
|
- borg 2 repo commands:
|
60
60
|
|
61
|
-
- borg
|
62
|
-
- borg
|
63
|
-
- borg
|
64
|
-
- borg
|
61
|
+
- borg repo-create # was: borg init
|
62
|
+
- borg repo-list
|
63
|
+
- borg repo-info
|
64
|
+
- borg repo-delete
|
65
|
+
- borg repo-compress
|
66
|
+
- borg repo-space
|
65
67
|
- borg 2 archive commands:
|
66
68
|
|
67
69
|
- borg create ARCHIVE ...
|
@@ -84,6 +86,8 @@ Compatibility notes:
|
|
84
86
|
- removed --nobsdflags (use --noflags)
|
85
87
|
- removed --noatime (default now, see also --atime)
|
86
88
|
- removed --save-space option (does not change behaviour)
|
89
|
+
- removed --bypass-lock option
|
90
|
+
- removed borg config command (only worked locally anyway)
|
87
91
|
- using --list together with --progress is now disallowed (except with --log-json), #7219
|
88
92
|
- the --glob-archives option was renamed to --match-archives (the short option
|
89
93
|
name -a is unchanged) and extended to support different pattern styles:
|
@@ -114,14 +118,13 @@ Compatibility notes:
|
|
114
118
|
fail now that somehow "worked" before (but maybe didn't work as intended due to
|
115
119
|
the contradicting options).
|
116
120
|
|
117
|
-
|
118
121
|
.. _changelog:
|
119
122
|
|
120
123
|
Change Log 2.x
|
121
124
|
==============
|
122
125
|
|
123
|
-
Version 2.0.
|
124
|
-
|
126
|
+
Version 2.0.0b10 (2024-09-09)
|
127
|
+
-----------------------------
|
125
128
|
|
126
129
|
Please note:
|
127
130
|
|
@@ -130,6 +133,99 @@ This is a beta release, only for testing - do not use for production repos.
|
|
130
133
|
For upgrade and compatibility hints, please also read the section "Upgrade Notes"
|
131
134
|
above.
|
132
135
|
|
136
|
+
TL;DR: this is a huge change and the first very fundamental change in how borg
|
137
|
+
works since ever:
|
138
|
+
|
139
|
+
- you will need to create new repos.
|
140
|
+
- likely more exciting than previous betas, definitely not for production.
|
141
|
+
- remove "borg check --repair --archives-only" from your script in case you
|
142
|
+
added that for b9. "borg compact -v" now finds and deletes orphan chunks
|
143
|
+
and also outputs some new stats.
|
144
|
+
|
145
|
+
New features:
|
146
|
+
|
147
|
+
- borgstore based repository, file:, ssh: and sftp: for now, more possible.
|
148
|
+
- repository stores objects separately now, not using segment files.
|
149
|
+
this has more fs overhead, but needs much less I/O because no segment
|
150
|
+
files compaction is required anymore. also, no repository index is
|
151
|
+
needed anymore because we can directly find the objects by their ID.
|
152
|
+
- locking: new borgstore based repository locking with automatic stale
|
153
|
+
lock removal (if lock does not get refreshed, if lock owner process is dead).
|
154
|
+
- simultaneous repository access for many borg commands except check/compact.
|
155
|
+
the cache lock for adhocwithfiles is still exclusive though, so use
|
156
|
+
BORG_CACHE_IMPL=adhoc if you want to try that out using only 1 machine
|
157
|
+
and 1 user (that implementation doesn't use a cache lock). When using
|
158
|
+
multiple client machines or users, it also works with the default cache.
|
159
|
+
- delete/prune: much quicker now and can be undone.
|
160
|
+
- check --repair --undelete-archives: bring archives back from the dead.
|
161
|
+
- repo-space: manage reserved space in repository (avoid dead-end situation if
|
162
|
+
repository filesystem runs full).
|
163
|
+
|
164
|
+
Bugs/issues fixed:
|
165
|
+
|
166
|
+
- a lot! all linked from PR #8332.
|
167
|
+
|
168
|
+
Other changes:
|
169
|
+
|
170
|
+
- repository: remove transactions, solved differently and much simpler now
|
171
|
+
(convergence and write order primarily).
|
172
|
+
- repository: replaced precise reference counting with "object exists in repo?"
|
173
|
+
and "garbage collection of unused objects".
|
174
|
+
- cache: remove transactions, remove chunks cache.
|
175
|
+
removed LocalCache, BORG_CACHE_IMPL=local, solving all related issues.
|
176
|
+
as in beta 9, adhowwithfiles is the default implementation.
|
177
|
+
- compact: needs the borg key now (run it clientside), -v gives nice stats.
|
178
|
+
- transfer: archive transfers from borg 1.x need the --from-borg1 option
|
179
|
+
- check: reimplemented / bigger changes.
|
180
|
+
- code: got rid of a metric ton of not needed complexity.
|
181
|
+
when borg does not need to read borg 1.x repos/archives anymore, after
|
182
|
+
users have transferred their archives, even much more can be removed.
|
183
|
+
- docs: updated / removed outdated stuff
|
184
|
+
- renamed r* commands to repo-*
|
185
|
+
|
186
|
+
|
187
|
+
Version 2.0.0b9 (2024-07-20)
|
188
|
+
----------------------------
|
189
|
+
|
190
|
+
New features:
|
191
|
+
|
192
|
+
- add BORG_CACHE_IMPL, default is "adhocwithfiles" to test the new cache
|
193
|
+
implementation, featuring an adhoc non-persistent chunks cache and a
|
194
|
+
persistent files cache. See the docs for other values.
|
195
|
+
|
196
|
+
Requires to run "borg check --repair --archives-only" to delete orphaned
|
197
|
+
chunks before running "borg compact" to free space! These orphans are
|
198
|
+
expected due to the simplified refcounting with the AdHocFilesCache.
|
199
|
+
- make BORG_EXIT_CODES="modern" the default, #8110
|
200
|
+
- add BORG_USE_CHUNKS_ARCHIVE env var, #8280
|
201
|
+
- automatically rebuild cache on exception, #5213
|
202
|
+
|
203
|
+
Bug fixes:
|
204
|
+
|
205
|
+
- fix Ctrl-C / SIGINT behaviour for pyinstaller-made binaries, #8155
|
206
|
+
- delete: fix error handling with Ctrl-C
|
207
|
+
- rcompress: fix error handling with Ctrl-C
|
208
|
+
- delete: fix error handling when no archive is specified, #8256
|
209
|
+
- setup.py: fix import error reporting for cythonize import, see #8208
|
210
|
+
- create: deal with EBUSY, #8123
|
211
|
+
- benchmark: inherit options --rsh --remote-path, #8099
|
212
|
+
- benchmark: fix return value, #8113
|
213
|
+
- key export: fix crash when no path is given, fix exception handling
|
214
|
+
|
215
|
+
Other changes:
|
216
|
+
|
217
|
+
- setup.py: detect noexec build fs issue, see #8208
|
218
|
+
- improve acl_get / acl_set error handling (forward port from 1.4-maint)
|
219
|
+
- allow msgpack 1.1.0
|
220
|
+
- vagrant: use pyinstaller 6.7.0
|
221
|
+
- use Python 3.11.9 for binary builds
|
222
|
+
- require Cython 3.0.3 at least, #8133
|
223
|
+
- docs: add non-root deployment strategy
|
224
|
+
|
225
|
+
|
226
|
+
Version 2.0.0b8 (2024-02-20)
|
227
|
+
----------------------------
|
228
|
+
|
133
229
|
New features:
|
134
230
|
|
135
231
|
- create: add the slashdot hack, update docs, #4685
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: borgbackup
|
3
|
-
Version: 2.0.
|
3
|
+
Version: 2.0.0b10
|
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,12 +26,14 @@ 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
|
34
|
-
Requires-Dist:
|
35
|
+
Requires-Dist: borgstore~=0.0.1
|
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"
|
37
39
|
Requires-Dist: platformdirs<5.0.0,>=2.6.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
|
|
@@ -3,12 +3,17 @@ This is borg2!
|
|
3
3
|
|
4
4
|
Please note that this is the README for borg2 / master branch.
|
5
5
|
|
6
|
-
borg2 is currently in beta testing.
|
7
|
-
|
8
6
|
For the stable version's docs, please see there:
|
9
7
|
|
10
8
|
https://borgbackup.readthedocs.io/en/stable/
|
11
9
|
|
10
|
+
Borg2 is currently in beta testing and might get major and/or
|
11
|
+
breaking changes between beta releases (and there is no beta to
|
12
|
+
next-beta upgrade code, so you will have to delete and re-create repos).
|
13
|
+
|
14
|
+
Thus, **DO NOT USE BORG2 FOR YOUR PRODUCTION BACKUPS!** Please help with
|
15
|
+
testing it, but set it up *additionally* to your production backups.
|
16
|
+
|
12
17
|
TODO: the screencasts need a remake using borg2, see there:
|
13
18
|
|
14
19
|
https://github.com/borgbackup/borg/issues/6303
|
@@ -64,7 +69,7 @@ Main features
|
|
64
69
|
**Speed**
|
65
70
|
* performance-critical code (chunking, compression, encryption) is
|
66
71
|
implemented in C/Cython
|
67
|
-
* local caching
|
72
|
+
* local caching
|
68
73
|
* quick detection of unmodified files
|
69
74
|
|
70
75
|
**Data encryption**
|
@@ -117,9 +122,9 @@ For ease of use, set the BORG_REPO environment variable::
|
|
117
122
|
|
118
123
|
$ export BORG_REPO=/path/to/repo
|
119
124
|
|
120
|
-
Create a new backup repository (see ``borg
|
125
|
+
Create a new backup repository (see ``borg repo-create --help`` for encryption options)::
|
121
126
|
|
122
|
-
$ borg
|
127
|
+
$ borg repo-create -e repokey-aes-ocb
|
123
128
|
|
124
129
|
Create a new backup archive::
|
125
130
|
|
@@ -0,0 +1,78 @@
|
|
1
|
+
Binary BorgBackup builds
|
2
|
+
========================
|
3
|
+
|
4
|
+
The binaries are supposed to work on the specified platform without installing
|
5
|
+
any dependencies.
|
6
|
+
|
7
|
+
|
8
|
+
Download the correct files
|
9
|
+
--------------------------
|
10
|
+
|
11
|
+
amd64 / x86_64 architecture
|
12
|
+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
13
|
+
|
14
|
+
borg-linux-glibc236 Linux (built on Debian 12 "Bookworm" with glibc 2.36)
|
15
|
+
borg-linux-glibc231 Linux (built on Debian 11 "Bullseye" with glibc 2.31)
|
16
|
+
Note: you can also try them on other Linuxes with other glibc
|
17
|
+
versions - as long as the glibc is compatible, they will work.
|
18
|
+
If it doesn't work, try a borg 1.4.x or 1.2.x binary.
|
19
|
+
|
20
|
+
borg-macos1012 macOS (built on macOS Sierra 10.12 with latest macFUSE from brew)
|
21
|
+
To avoid signing issues download the file via command line OR
|
22
|
+
remove the "quarantine" attribute after downloading:
|
23
|
+
$ xattr -dr com.apple.quarantine borg-macos.tgz
|
24
|
+
|
25
|
+
borg-freebsd14 FreeBSD (built on FreeBSD 14)
|
26
|
+
|
27
|
+
*.tgz similar to above, but built as a directory with files,
|
28
|
+
not as a single self-extracting binary.
|
29
|
+
*.asc GnuPG signatures for *
|
30
|
+
|
31
|
+
|
32
|
+
Verifying your download
|
33
|
+
-----------------------
|
34
|
+
|
35
|
+
Please check the GPG signature to make sure you received the binary as I have
|
36
|
+
built it.
|
37
|
+
|
38
|
+
To check the GPG signature, download both the binary and the corresponding
|
39
|
+
*.asc file and then (on the shell) type, e.g.:
|
40
|
+
|
41
|
+
gpg --recv-keys 9F88FB52FAF7B393
|
42
|
+
gpg --verify borg-freebsd14.asc borg-freebsd14
|
43
|
+
|
44
|
+
The files are signed by:
|
45
|
+
|
46
|
+
Thomas Waldmann <tw@waldmann-edv.de>
|
47
|
+
GPG key fingerprint: 6D5B EF9A DD20 7580 5747 B70F 9F88 FB52 FAF7 B393
|
48
|
+
|
49
|
+
My fingerprint is also in the footer of all my borgbackup mailing list posts.
|
50
|
+
|
51
|
+
|
52
|
+
Installing
|
53
|
+
----------
|
54
|
+
|
55
|
+
It is suggested that you rename or symlink the binary to just "borg".
|
56
|
+
|
57
|
+
On UNIX-like platforms, /usr/local/bin/ or ~/bin/ is a nice place for it,
|
58
|
+
but you can invoke it from every place by giving a full path to it.
|
59
|
+
|
60
|
+
Make sure the file is readable and executable (chmod +rx borg on UNIX-like
|
61
|
+
platforms).
|
62
|
+
|
63
|
+
|
64
|
+
Reporting issues
|
65
|
+
----------------
|
66
|
+
If you find issues, please open a ticket on our issue tracker:
|
67
|
+
|
68
|
+
https://github.com/borgbackup/borg/issues/
|
69
|
+
|
70
|
+
There, please give:
|
71
|
+
- the version number (it is displayed if you invoke borg -V)
|
72
|
+
- the sha256sum of the binary
|
73
|
+
- a good description of what the issue is
|
74
|
+
- a good description of how to reproduce your issue
|
75
|
+
- a traceback with system info (if you have one)
|
76
|
+
- your precise platform (CPU, 32/64bit?), OS, distribution, release
|
77
|
+
- your python and (g)libc version
|
78
|
+
|
@@ -52,8 +52,7 @@ h1 {
|
|
52
52
|
}
|
53
53
|
|
54
54
|
.container.experimental,
|
55
|
-
#debugging-facilities
|
56
|
-
#borg-recreate {
|
55
|
+
#debugging-facilities {
|
57
56
|
/* don't change text dimensions */
|
58
57
|
margin: 0 -30px; /* padding below + border width */
|
59
58
|
padding: 0 10px; /* 10 px visual margin between edge of text and the border */
|
@@ -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
|
@@ -58,10 +58,12 @@ Compatibility notes:
|
|
58
58
|
|
59
59
|
- borg 2 repo commands:
|
60
60
|
|
61
|
-
- borg
|
62
|
-
- borg
|
63
|
-
- borg
|
64
|
-
- borg
|
61
|
+
- borg repo-create # was: borg init
|
62
|
+
- borg repo-list
|
63
|
+
- borg repo-info
|
64
|
+
- borg repo-delete
|
65
|
+
- borg repo-compress
|
66
|
+
- borg repo-space
|
65
67
|
- borg 2 archive commands:
|
66
68
|
|
67
69
|
- borg create ARCHIVE ...
|
@@ -84,6 +86,8 @@ Compatibility notes:
|
|
84
86
|
- removed --nobsdflags (use --noflags)
|
85
87
|
- removed --noatime (default now, see also --atime)
|
86
88
|
- removed --save-space option (does not change behaviour)
|
89
|
+
- removed --bypass-lock option
|
90
|
+
- removed borg config command (only worked locally anyway)
|
87
91
|
- using --list together with --progress is now disallowed (except with --log-json), #7219
|
88
92
|
- the --glob-archives option was renamed to --match-archives (the short option
|
89
93
|
name -a is unchanged) and extended to support different pattern styles:
|
@@ -114,14 +118,13 @@ Compatibility notes:
|
|
114
118
|
fail now that somehow "worked" before (but maybe didn't work as intended due to
|
115
119
|
the contradicting options).
|
116
120
|
|
117
|
-
|
118
121
|
.. _changelog:
|
119
122
|
|
120
123
|
Change Log 2.x
|
121
124
|
==============
|
122
125
|
|
123
|
-
Version 2.0.
|
124
|
-
|
126
|
+
Version 2.0.0b10 (2024-09-09)
|
127
|
+
-----------------------------
|
125
128
|
|
126
129
|
Please note:
|
127
130
|
|
@@ -130,6 +133,99 @@ This is a beta release, only for testing - do not use for production repos.
|
|
130
133
|
For upgrade and compatibility hints, please also read the section "Upgrade Notes"
|
131
134
|
above.
|
132
135
|
|
136
|
+
TL;DR: this is a huge change and the first very fundamental change in how borg
|
137
|
+
works since ever:
|
138
|
+
|
139
|
+
- you will need to create new repos.
|
140
|
+
- likely more exciting than previous betas, definitely not for production.
|
141
|
+
- remove "borg check --repair --archives-only" from your script in case you
|
142
|
+
added that for b9. "borg compact -v" now finds and deletes orphan chunks
|
143
|
+
and also outputs some new stats.
|
144
|
+
|
145
|
+
New features:
|
146
|
+
|
147
|
+
- borgstore based repository, file:, ssh: and sftp: for now, more possible.
|
148
|
+
- repository stores objects separately now, not using segment files.
|
149
|
+
this has more fs overhead, but needs much less I/O because no segment
|
150
|
+
files compaction is required anymore. also, no repository index is
|
151
|
+
needed anymore because we can directly find the objects by their ID.
|
152
|
+
- locking: new borgstore based repository locking with automatic stale
|
153
|
+
lock removal (if lock does not get refreshed, if lock owner process is dead).
|
154
|
+
- simultaneous repository access for many borg commands except check/compact.
|
155
|
+
the cache lock for adhocwithfiles is still exclusive though, so use
|
156
|
+
BORG_CACHE_IMPL=adhoc if you want to try that out using only 1 machine
|
157
|
+
and 1 user (that implementation doesn't use a cache lock). When using
|
158
|
+
multiple client machines or users, it also works with the default cache.
|
159
|
+
- delete/prune: much quicker now and can be undone.
|
160
|
+
- check --repair --undelete-archives: bring archives back from the dead.
|
161
|
+
- repo-space: manage reserved space in repository (avoid dead-end situation if
|
162
|
+
repository filesystem runs full).
|
163
|
+
|
164
|
+
Bugs/issues fixed:
|
165
|
+
|
166
|
+
- a lot! all linked from PR #8332.
|
167
|
+
|
168
|
+
Other changes:
|
169
|
+
|
170
|
+
- repository: remove transactions, solved differently and much simpler now
|
171
|
+
(convergence and write order primarily).
|
172
|
+
- repository: replaced precise reference counting with "object exists in repo?"
|
173
|
+
and "garbage collection of unused objects".
|
174
|
+
- cache: remove transactions, remove chunks cache.
|
175
|
+
removed LocalCache, BORG_CACHE_IMPL=local, solving all related issues.
|
176
|
+
as in beta 9, adhowwithfiles is the default implementation.
|
177
|
+
- compact: needs the borg key now (run it clientside), -v gives nice stats.
|
178
|
+
- transfer: archive transfers from borg 1.x need the --from-borg1 option
|
179
|
+
- check: reimplemented / bigger changes.
|
180
|
+
- code: got rid of a metric ton of not needed complexity.
|
181
|
+
when borg does not need to read borg 1.x repos/archives anymore, after
|
182
|
+
users have transferred their archives, even much more can be removed.
|
183
|
+
- docs: updated / removed outdated stuff
|
184
|
+
- renamed r* commands to repo-*
|
185
|
+
|
186
|
+
|
187
|
+
Version 2.0.0b9 (2024-07-20)
|
188
|
+
----------------------------
|
189
|
+
|
190
|
+
New features:
|
191
|
+
|
192
|
+
- add BORG_CACHE_IMPL, default is "adhocwithfiles" to test the new cache
|
193
|
+
implementation, featuring an adhoc non-persistent chunks cache and a
|
194
|
+
persistent files cache. See the docs for other values.
|
195
|
+
|
196
|
+
Requires to run "borg check --repair --archives-only" to delete orphaned
|
197
|
+
chunks before running "borg compact" to free space! These orphans are
|
198
|
+
expected due to the simplified refcounting with the AdHocFilesCache.
|
199
|
+
- make BORG_EXIT_CODES="modern" the default, #8110
|
200
|
+
- add BORG_USE_CHUNKS_ARCHIVE env var, #8280
|
201
|
+
- automatically rebuild cache on exception, #5213
|
202
|
+
|
203
|
+
Bug fixes:
|
204
|
+
|
205
|
+
- fix Ctrl-C / SIGINT behaviour for pyinstaller-made binaries, #8155
|
206
|
+
- delete: fix error handling with Ctrl-C
|
207
|
+
- rcompress: fix error handling with Ctrl-C
|
208
|
+
- delete: fix error handling when no archive is specified, #8256
|
209
|
+
- setup.py: fix import error reporting for cythonize import, see #8208
|
210
|
+
- create: deal with EBUSY, #8123
|
211
|
+
- benchmark: inherit options --rsh --remote-path, #8099
|
212
|
+
- benchmark: fix return value, #8113
|
213
|
+
- key export: fix crash when no path is given, fix exception handling
|
214
|
+
|
215
|
+
Other changes:
|
216
|
+
|
217
|
+
- setup.py: detect noexec build fs issue, see #8208
|
218
|
+
- improve acl_get / acl_set error handling (forward port from 1.4-maint)
|
219
|
+
- allow msgpack 1.1.0
|
220
|
+
- vagrant: use pyinstaller 6.7.0
|
221
|
+
- use Python 3.11.9 for binary builds
|
222
|
+
- require Cython 3.0.3 at least, #8133
|
223
|
+
- docs: add non-root deployment strategy
|
224
|
+
|
225
|
+
|
226
|
+
Version 2.0.0b8 (2024-02-20)
|
227
|
+
----------------------------
|
228
|
+
|
133
229
|
New features:
|
134
230
|
|
135
231
|
- create: add the slashdot hack, update docs, #4685
|
@@ -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,
|
@@ -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**
|
@@ -0,0 +1,66 @@
|
|
1
|
+
.. include:: ../global.rst.inc
|
2
|
+
.. highlight:: none
|
3
|
+
.. _non_root_user:
|
4
|
+
|
5
|
+
================================
|
6
|
+
Backing up using a non-root user
|
7
|
+
================================
|
8
|
+
|
9
|
+
This section describes how to run borg as a non-root user and still be able to
|
10
|
+
backup every file on the system.
|
11
|
+
|
12
|
+
Normally borg is run as the root user to bypass all filesystem permissions and
|
13
|
+
be able to read all files. But in theory this also allows borg to modify or
|
14
|
+
delete files on your system, in case of a bug for example.
|
15
|
+
|
16
|
+
To eliminate this possibility, we can run borg as a non-root user and give it read-only
|
17
|
+
permissions to all files on the system.
|
18
|
+
|
19
|
+
|
20
|
+
Using Linux capabilities inside a systemd service
|
21
|
+
=================================================
|
22
|
+
|
23
|
+
One way to do so, is to use linux `capabilities
|
24
|
+
<https://man7.org/linux/man-pages/man7/capabilities.7.html>`_ within a systemd
|
25
|
+
service.
|
26
|
+
|
27
|
+
Linux capabilities allow us to give parts of the privileges the root user has to
|
28
|
+
a non-root user. This works on a per-thread level and does not give the permission
|
29
|
+
to the non-root user as a whole.
|
30
|
+
|
31
|
+
For this we need to run our backup script from a systemd service and use the `AmbientCapabilities
|
32
|
+
<https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#AmbientCapabilities=>`_
|
33
|
+
option added in systemd 229.
|
34
|
+
|
35
|
+
A very basic unit file would look like this:
|
36
|
+
|
37
|
+
::
|
38
|
+
|
39
|
+
[Unit]
|
40
|
+
Description=Borg Backup
|
41
|
+
|
42
|
+
[Service]
|
43
|
+
Type=oneshot
|
44
|
+
User=borg
|
45
|
+
ExecStart=/usr/local/sbin/backup.sh
|
46
|
+
|
47
|
+
AmbientCapabilities=CAP_DAC_READ_SEARCH
|
48
|
+
|
49
|
+
The ``CAP_DAC_READ_SEARCH`` capability gives borg read-only access to all files and directories on the system.
|
50
|
+
|
51
|
+
This service can then be started manually using ``systemctl start``, a systemd timer or other methods.
|
52
|
+
|
53
|
+
Restore considerations
|
54
|
+
======================
|
55
|
+
|
56
|
+
When restoring files, the root user should be used. When using the non-root user, borg extract will
|
57
|
+
change all files to be owned by the non-root user. Using borg mount will not allow the non-root user
|
58
|
+
to access files that it would not have access to on the system itself.
|
59
|
+
|
60
|
+
Other than that, the same restore process, that would be used when running the backup as root, can be used.
|
61
|
+
|
62
|
+
.. warning::
|
63
|
+
|
64
|
+
When using a local repo and running borg commands as root, make sure to only use commands that do not
|
65
|
+
modify the repo itself, like extract or mount. Modifying the repo using the root user will break
|
66
|
+
the repo for the non-root user, since some files inside the repo will now be owned by root.
|