borgbackup 2.0.0b14__tar.gz → 2.0.0b15__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.0b14 → borgbackup-2.0.0b15}/Brewfile +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/CHANGES.rst +72 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/LICENSE +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/PKG-INFO +7 -6
- borgbackup-2.0.0b15/docs/_templates/layout.html +173 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/binaries/00_README.txt +4 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/changes.rst +72 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/conf.py +4 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/deployment/automated-local.rst +3 -3
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/deployment/image-backup.rst +8 -8
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/deployment/pull-backup.rst +6 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/development.rst +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/faq.rst +33 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/global.rst.inc +1 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/installation.rst +29 -33
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/internals/data-structures.rst +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/internals/frontends.rst +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-analyze.1 +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-benchmark-cpu.1 +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-benchmark-crud.1 +3 -5
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-benchmark.1 +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-break-lock.1 +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-check.1 +4 -25
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-common.1 +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-compact.1 +22 -5
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-compression.1 +29 -23
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-create.1 +12 -18
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-delete.1 +4 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-diff.1 +8 -11
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-export-tar.1 +5 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-extract.1 +4 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-import-tar.1 +6 -10
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-info.1 +4 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-key-change-location.1 +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-key-change-passphrase.1 +5 -9
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-key-export.1 +4 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-key-import.1 +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-key.1 +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-list.1 +8 -13
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-match-archives.1 +5 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-mount.1 +5 -5
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-patterns.1 +28 -31
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-placeholders.1 +12 -14
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-prune.1 +10 -11
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-recreate.1 +9 -17
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-rename.1 +3 -5
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-repo-compress.1 +4 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-repo-create.1 +9 -17
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-repo-delete.1 +4 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-repo-info.1 +4 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-repo-list.1 +8 -11
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-repo-space.1 +4 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-serve.1 +31 -16
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-tag.1 +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-transfer.1 +8 -14
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-umount.1 +5 -9
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-undelete.1 +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-version.1 +3 -5
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-with-lock.1 +3 -5
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg.1 +71 -88
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borgfs.1 +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/check.rst.inc +3 -24
- borgbackup-2.0.0b15/docs/usage/compact.rst.inc +89 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/create.rst +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/create.rst.inc +4 -4
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/delete.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/diff.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/export-tar.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/extract.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/general/date-time.rst.inc +4 -3
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/general/environment.rst.inc +3 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/general/logging.rst.inc +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/help.rst.inc +28 -9
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/import-tar.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/info.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/key_change-location.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/key_export.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/key_import.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/list.rst.inc +2 -4
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/mount.rst.inc +5 -5
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/prune.rst.inc +6 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/recreate.rst.inc +6 -12
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/repo-compress.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/repo-create.rst.inc +2 -5
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/repo-delete.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/repo-info.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/repo-list.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/repo-space.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/serve.rst +14 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/serve.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/tag.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/transfer.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/undelete.rst.inc +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage.rst +1 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/pyproject.toml +5 -5
- borgbackup-2.0.0b15/requirements.d/development.lock.txt +14 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/requirements.d/development.txt +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/requirements.d/docs.txt +1 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/scripts/msys2-install-deps +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/setup.py +7 -7
- borgbackup-2.0.0b15/src/borg/_version.py +1 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archive.py +104 -141
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/__init__.py +11 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/_common.py +1 -9
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/check_cmd.py +1 -22
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/compact_cmd.py +56 -44
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/create_cmd.py +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/extract_cmd.py +40 -22
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/help_cmd.py +29 -10
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/mount_cmds.py +3 -3
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/prune_cmd.py +6 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/recreate_cmd.py +4 -10
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/repo_create_cmd.py +0 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/tar_cmds.py +3 -4
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/transfer_cmd.py +56 -41
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/cache.py +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/checksums.c +28 -28
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/chunker.c +6 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/compress.c +1585 -835
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/compress.pyx +15 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/crypto/key.py +2 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/crypto/keymanager.py +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/crypto/low_level.c +32 -32
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/fuse.py +12 -13
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/hashindex.c +1305 -1072
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/hashindex.pyx +11 -4
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/fs.py +3 -3
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/misc.py +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/parseformat.py +26 -19
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/passphrase.py +34 -14
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/time.py +13 -3
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/yes_no.py +8 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/item.c +26 -26
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/legacyremote.py +2 -22
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/legacyrepository.py +8 -14
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/logger.py +6 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/manifest.py +0 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/__init__.py +13 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/darwin.c +1167 -574
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/darwin.pyx +38 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/freebsd.c +34 -42
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/freebsd.pyx +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/linux.c +5 -5
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/posix.c +5 -5
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/syncfilerange.c +4 -4
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/windows.c +5 -5
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/remote.py +64 -66
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/repository.py +7 -5
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/check_cmd_test.py +82 -63
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/compact_cmd_test.py +26 -9
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/extract_cmd_test.py +46 -4
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/mount_cmds_test.py +9 -5
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/repo_list_cmd_test.py +68 -18
- borgbackup-2.0.0b15/src/borg/testsuite/archiver/return_codes_test.py +35 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/transfer_cmd_test.py +3 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/compress_test.py +30 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/helpers_test.py +59 -7
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/xattr_test.py +1 -1
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/upgrade.py +3 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borgbackup.egg-info/PKG-INFO +7 -6
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borgbackup.egg-info/SOURCES.txt +1 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borgbackup.egg-info/requires.txt +2 -2
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/tox.ini +1 -0
- borgbackup-2.0.0b14/docs/usage/compact.rst.inc +0 -68
- borgbackup-2.0.0b14/requirements.d/development.lock.txt +0 -14
- borgbackup-2.0.0b14/src/borg/_version.py +0 -1
- borgbackup-2.0.0b14/src/borg/testsuite/archiver/return_codes_test.py +0 -19
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/.coveragerc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/.git-blame-ignore-revs +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/.pre-commit-config.yaml +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/.readthedocs.yaml +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/AUTHORS +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/MANIFEST.in +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/README.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/SECURITY.md +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/3rd_party/README +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/Makefile +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/_static/Makefile +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/_static/favicon.ico +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/_static/logo.pdf +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/_static/logo.png +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/_static/logo.svg +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/_static/logo_font.txt +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/_templates/globaltoc.html +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/_templates/logo-text.html +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/authors.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/book.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/borg_theme/css/borg.css +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/changes_0.x.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/changes_1.x.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/deployment/central-backup-server.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/deployment/hosting-repositories.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/deployment/non-root-user.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/deployment.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/index.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/internals/encryption-aead.odg +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/internals/encryption-aead.png +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/internals/object-graph.odg +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/internals/object-graph.png +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/internals/security.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/internals/structure.odg +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/internals/structure.png +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/internals.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/introduction.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-change-passphrase.1 +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-config.1 +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-key-change-algorithm.1 +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-key-migrate-to-repokey.1 +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man/borg-upgrade.1 +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/man_intro.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/asciinema/README +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/asciinema/Vagrantfile +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/asciinema/advanced.json +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/asciinema/advanced.tcl +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/asciinema/basic.json +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/asciinema/basic.tcl +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/asciinema/install.json +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/asciinema/install.tcl +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/asciinema/sample-wallpapers.txt +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/benchmark-crud.txt +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/borg-data-flow.odg +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/borg-data-flow.png +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/create_chunker-params.txt +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/internals-picture.txt +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/logging.conf +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/misc/prune-example.txt +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/quickstart.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/quickstart_example.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/support.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/analyze.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/analyze.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/benchmark.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/benchmark_cpu.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/benchmark_crud.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/borgfs.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/borgfs.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/break-lock.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/change-passphrase.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/check.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/common-options.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/compact.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/debug.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/delete.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/diff.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/extract.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/general/file-metadata.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/general/file-systems.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/general/positional-arguments.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/general/repository-locations.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/general/repository-urls.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/general/resources.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/general/return-codes.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/general/units.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/general.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/help.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/info.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/key.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/key_change-passphrase.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/list.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/lock.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/mount.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/notes.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/prune.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/recreate.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/rename.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/rename.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/repo-compress.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/repo-create.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/repo-delete.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/repo-info.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/repo-list.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/repo-space.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/tag.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/tar.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/transfer.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/umount.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/undelete.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/usage_general.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/version.rst +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/version.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage/with-lock.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/docs/usage_general.rst.inc +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/requirements.d/codestyle.txt +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/scripts/borg.exe.spec +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/scripts/errorlist.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/scripts/fetch-binaries +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/scripts/glibc_check.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/scripts/make-testdata/test_transfer_upgrade.sh +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/scripts/make.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/scripts/sdist-sign +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/scripts/shell_completions/bash/borg +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/scripts/shell_completions/fish/borg.fish +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/scripts/shell_completions/zsh/_borg +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/scripts/sign-binaries +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/scripts/upload-pypi +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/setup.cfg +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/__init__.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/__main__.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/_chunker.c +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/_item.c +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/analyze_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/benchmark_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/debug_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/delete_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/diff_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/info_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/key_cmds.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/list_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/lock_cmds.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/rename_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/repo_compress_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/repo_delete_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/repo_info_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/repo_list_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/repo_space_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/serve_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/tag_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/undelete_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/archiver/version_cmd.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/checksums.pyi +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/checksums.pyx +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/chunker.pyi +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/chunker.pyx +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/compress.pyi +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/conftest.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/constants.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/crypto/__init__.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/crypto/file_integrity.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/crypto/low_level.pyx +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/fslocking.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/fuse_impl.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/hashindex.pyi +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/__init__.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/checks.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/datastruct.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/errors.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/lrucache.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/msgpack.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/nanorst.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/process.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/progress.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/helpers/shellpattern.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/item.pyi +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/item.pyx +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/paperkey.html +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/patterns.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/base.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/linux.pyx +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/posix.pyx +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/syncfilerange.pyx +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/windows.pyx +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platform/xattr.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/platformflags.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/repoobj.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/selftest.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/storelocking.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/__init__.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archive_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/__init__.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/analyze_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/argparsing_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/benchmark_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/checks_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/corruption_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/create_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/debug_cmds_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/delete_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/diff_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/disk_full_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/dotdot_path.tar +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/help_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/info_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/key_cmds_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/list_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/lock_cmds_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/patterns_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/prune_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/recreate_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/rename_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/repo12.tar.gz +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/repo_compress_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/repo_create_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/repo_delete_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/repo_info_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/serve_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/tag_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/tar_cmds_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/undelete_cmd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/archiver/unusual_paths.tar +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/benchmark_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/cache_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/checksums_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/chunker_pytest_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/chunker_slow_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/chunker_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/crypto_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/efficient_collection_queue_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/file_integrity_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/fslocking_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/hashindex_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/item_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/key_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/legacyrepository_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/logger_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/lrucache_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/nanorst_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/patterns_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/platform_darwin_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/platform_freebsd_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/platform_linux_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/platform_posix_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/platform_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/remote_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/repoobj_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/repository_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/shellpattern_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/storelocking_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/testsuite/version_test.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/version.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borg/xattr.py +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borgbackup.egg-info/dependency_links.txt +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borgbackup.egg-info/entry_points.txt +0 -0
- {borgbackup-2.0.0b14 → borgbackup-2.0.0b15}/src/borgbackup.egg-info/top_level.txt +0 -0
@@ -144,7 +144,7 @@ Compatibility notes:
|
|
144
144
|
Change Log 2.x
|
145
145
|
==============
|
146
146
|
|
147
|
-
Version 2.0.
|
147
|
+
Version 2.0.0b15 (2025-04-22)
|
148
148
|
-----------------------------
|
149
149
|
|
150
150
|
Please note:
|
@@ -156,6 +156,77 @@ above.
|
|
156
156
|
|
157
157
|
New features:
|
158
158
|
|
159
|
+
- compact: without --stats, it will be faster by using the cached chunks index.
|
160
|
+
with --stats it will be as slow as before, listing all repo objs.
|
161
|
+
- compact: support --dry-run (do nothing), #8300
|
162
|
+
- extract: --dry-run now displays +/- status flags (included/excluded), #8564
|
163
|
+
- allow timespan to be specified with common time units, #8624
|
164
|
+
- enhance passphrase handling, #8496.
|
165
|
+
|
166
|
+
Setting `BORG_DEBUG_PASSPHRASE=YES` enables passphrase debug logging to
|
167
|
+
stderr, showing passphrase, hex utf-8 byte sequence and related env vars if
|
168
|
+
a wrong passphrase was encountered.
|
169
|
+
|
170
|
+
Setting `BORG_DISPLAY_PASSPHRASE=YES` now always shows passphrase and its hex
|
171
|
+
utf-8 byte sequence.
|
172
|
+
- add {unixtime} placeholder, #8522
|
173
|
+
- implement padme chunk size obfuscation (SPEC 250), #8705
|
174
|
+
- macOS: retrieve birthtime in nanosecond precision via system call, #8724
|
175
|
+
|
176
|
+
Bug fixes:
|
177
|
+
|
178
|
+
- borg exits when assertions are disabled with Python optimizations, #8649
|
179
|
+
- yes(): deal with UnicodeDecodeError in input(), #6984
|
180
|
+
- fix remote repository exception handling / modern exit codes, #8631
|
181
|
+
- freebsd: fix nfs4 acl processing, #8756.
|
182
|
+
This issue only affected borg extract --numeric-ids when processing NFS4
|
183
|
+
ACLs, it didn't affect POSIX ACL processing.
|
184
|
+
|
185
|
+
Other changes:
|
186
|
+
|
187
|
+
- adapt to and require borghash 0.1.0
|
188
|
+
- adapt to and require borgstore 0.2.0 (new s3/b2 backend, fixes/improvements)
|
189
|
+
- create: remove --make-parent-dirs option (borgstore now does this automatically), #8619
|
190
|
+
- iter_items: decouple item iteration and content data chunks preloading
|
191
|
+
- remote: simplify code, add debug logging
|
192
|
+
- pyproject.toml: SPDX expression for license, add license-files, #8771
|
193
|
+
- Item: remove .chunks_healthy, #8559
|
194
|
+
- OpenBSD fixes:
|
195
|
+
|
196
|
+
- support other OpenSSL versions on OpenBSD, #8553
|
197
|
+
- vagrant: fix OpenBSD box, #8506
|
198
|
+
- Filter test output with LibreSSL related warnings on OpenBSD
|
199
|
+
- macOS: fix brew's broken pkg-config -> pkgconf transition
|
200
|
+
- tests: ignore 'com.apple.provenance' xattr (macOS specific)
|
201
|
+
- vagrant updates:
|
202
|
+
|
203
|
+
- use pyinstaller 6.11.1 (also use this in msys2 build scripts)
|
204
|
+
- use python 3.12.10
|
205
|
+
- build binaries with borgstore[sftp], #8574
|
206
|
+
- docs:
|
207
|
+
|
208
|
+
- automated backup: append to SYSTEMD_WANTS rather than overwrite, #8641
|
209
|
+
- fix udev rule priority in automated-local.rst, #8639
|
210
|
+
- FAQ: Why backups are slow on a Linux server that is a member of a windows domain? #8636
|
211
|
+
- within a shell, cli options with special characters may require quoting, #8578
|
212
|
+
- update prune documentation for new --keep-within intervals, #8630
|
213
|
+
- borg serve: recommend using a simple shell, #3818
|
214
|
+
- update install docs (requirements, pkgconfig, fuse), #8342
|
215
|
+
- libffi-dev is required for argon2-cffi-bindings
|
216
|
+
- add undelete command to index
|
217
|
+
- borg commands updated with --repo option, #8550
|
218
|
+
- FAQ: add entry about pure-python msgpack warning, #8323
|
219
|
+
- readthedocs theme fixes
|
220
|
+
|
221
|
+
- bring back highlighted content preview in search results.
|
222
|
+
- fix erroneous warning about missing javascript support.
|
223
|
+
|
224
|
+
|
225
|
+
Version 2.0.0b14 (2024-11-17)
|
226
|
+
-----------------------------
|
227
|
+
|
228
|
+
New features:
|
229
|
+
|
159
230
|
- delete: now only soft-deletes archives (same for prune)
|
160
231
|
- repo-list: --deleted lists deleted archives
|
161
232
|
- undelete: undelete soft-deleted archives, #8500
|
@@ -1,10 +1,10 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: borgbackup
|
3
|
-
Version: 2.0.
|
3
|
+
Version: 2.0.0b15
|
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>
|
7
|
-
License: BSD
|
7
|
+
License-Expression: BSD-3-Clause
|
8
8
|
Project-URL: Homepage, https://borgbackup.org/
|
9
9
|
Project-URL: Bug Tracker, https://github.com/borgbackup/borg/issues
|
10
10
|
Project-URL: Documentation, https://borgbackup.readthedocs.io/
|
@@ -14,7 +14,6 @@ Keywords: backup,borgbackup
|
|
14
14
|
Classifier: Development Status :: 4 - Beta
|
15
15
|
Classifier: Environment :: Console
|
16
16
|
Classifier: Intended Audience :: System Administrators
|
17
|
-
Classifier: License :: OSI Approved :: BSD License
|
18
17
|
Classifier: Operating System :: POSIX :: BSD :: FreeBSD
|
19
18
|
Classifier: Operating System :: POSIX :: BSD :: OpenBSD
|
20
19
|
Classifier: Operating System :: POSIX :: BSD :: NetBSD
|
@@ -32,8 +31,8 @@ Classifier: Topic :: System :: Archiving :: Backup
|
|
32
31
|
Requires-Python: >=3.9
|
33
32
|
License-File: LICENSE
|
34
33
|
License-File: AUTHORS
|
35
|
-
Requires-Dist: borghash~=0.0
|
36
|
-
Requires-Dist: borgstore~=0.
|
34
|
+
Requires-Dist: borghash~=0.1.0
|
35
|
+
Requires-Dist: borgstore~=0.2.0
|
37
36
|
Requires-Dist: msgpack<=1.1.0,>=1.0.3
|
38
37
|
Requires-Dist: packaging
|
39
38
|
Requires-Dist: platformdirs<5.0.0,>=3.0.0; sys_platform == "darwin"
|
@@ -44,6 +43,8 @@ Requires-Dist: llfuse>=1.3.8; extra == "llfuse"
|
|
44
43
|
Provides-Extra: pyfuse3
|
45
44
|
Requires-Dist: pyfuse3>=3.1.1; extra == "pyfuse3"
|
46
45
|
Provides-Extra: nofuse
|
46
|
+
Dynamic: description
|
47
|
+
Dynamic: license-file
|
47
48
|
|
48
49
|
|
49
50
|
What is BorgBackup?
|
@@ -0,0 +1,173 @@
|
|
1
|
+
{%- extends "basic/layout.html" %}
|
2
|
+
|
3
|
+
{# Do this so that bootstrap is included before the main css file #}
|
4
|
+
{%- block htmltitle %}
|
5
|
+
{% set script_files = script_files + ["_static/myscript.js"] %}
|
6
|
+
<!-- Licensed under the Apache 2.0 License -->
|
7
|
+
<link rel="stylesheet" type="text/css" href="{{ pathto('_static/fonts/open-sans/stylesheet.css', 1) }}" />
|
8
|
+
<!-- Licensed under the SIL Open Font License -->
|
9
|
+
<link rel="stylesheet" type="text/css" href="{{ pathto('_static/fonts/source-serif-pro/source-serif-pro.css', 1) }}" />
|
10
|
+
<link rel="stylesheet" type="text/css" href="{{ pathto('_static/css/bootstrap.min.css', 1) }}" />
|
11
|
+
<link rel="stylesheet" type="text/css" href="{{ pathto('_static/css/bootstrap-theme.min.css', 1) }}" />
|
12
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
13
|
+
{{ super() }}
|
14
|
+
{%- endblock %}
|
15
|
+
|
16
|
+
{%- block extrahead %}
|
17
|
+
{% if theme_touch_icon %}
|
18
|
+
<link rel="apple-touch-icon" href="{{ pathto('_static/' ~ theme_touch_icon, 1) }}" />
|
19
|
+
{% endif %}
|
20
|
+
{{ super() }}
|
21
|
+
{% endblock %}
|
22
|
+
|
23
|
+
{# Displays the URL for the homepage if it's set or the master_doc if it is not #}
|
24
|
+
{% macro homepage() -%}
|
25
|
+
{%- if theme_homepage %}
|
26
|
+
{%- if hasdoc(theme_homepage) %}
|
27
|
+
{{ pathto(theme_homepage) }}
|
28
|
+
{%- else %}
|
29
|
+
{{ theme_homepage }}
|
30
|
+
{%- endif %}
|
31
|
+
{%- else %}
|
32
|
+
{{ pathto(master_doc) }}
|
33
|
+
{%- endif %}
|
34
|
+
{%- endmacro %}
|
35
|
+
|
36
|
+
{# Displays the URL for the tospage if it's set or falls back to homepage macro #}
|
37
|
+
{% macro tospage() -%}
|
38
|
+
{%- if theme_tospage %}
|
39
|
+
{%- if hasdoc(theme_tospage) %}
|
40
|
+
{{ pathto(theme_tospage) }}
|
41
|
+
{%- else %}
|
42
|
+
{{ theme_tospage }}
|
43
|
+
{%- endif %}
|
44
|
+
{%- else %}
|
45
|
+
{{ homepage() }}
|
46
|
+
{%- endif %}
|
47
|
+
{%- endmacro %}
|
48
|
+
|
49
|
+
{# Displays the URL for the projectpage if it's set or falls back to homepage macro #}
|
50
|
+
{% macro projectlink() -%}
|
51
|
+
{%- if theme_projectlink %}
|
52
|
+
{%- if hasdoc(theme_projectlink) %}
|
53
|
+
{{ pathto(theme_projectlink) }}
|
54
|
+
{%- else %}
|
55
|
+
{{ theme_projectlink }}
|
56
|
+
{%- endif %}
|
57
|
+
{%- else %}
|
58
|
+
{{ homepage() }}
|
59
|
+
{%- endif %}
|
60
|
+
{%- endmacro %}
|
61
|
+
|
62
|
+
{# Displays the next and previous links both before and after content #}
|
63
|
+
{% macro render_relations() -%}
|
64
|
+
{% if prev or next %}
|
65
|
+
<div class="footer-relations">
|
66
|
+
{% if prev %}
|
67
|
+
<div class="pull-left">
|
68
|
+
<a class="btn btn-default" href="{{ prev.link|e }}" title="{{ _('previous chapter')}} (use the left arrow)">{{ prev.title }}</a>
|
69
|
+
</div>
|
70
|
+
{% endif %}
|
71
|
+
{%- if next and next.title != '<no title>' %}
|
72
|
+
<div class="pull-right">
|
73
|
+
<a class="btn btn-default" href="{{ next.link|e }}" title="{{ _('next chapter')}} (use the right arrow)">{{ next.title }}</a>
|
74
|
+
</div>
|
75
|
+
{%- endif %}
|
76
|
+
</div>
|
77
|
+
<div class="clearer"></div>
|
78
|
+
{% endif %}
|
79
|
+
{%- endmacro %}
|
80
|
+
|
81
|
+
{%- macro guzzle_sidebar() %}
|
82
|
+
<div id="left-column">
|
83
|
+
<div class="sphinxsidebar">
|
84
|
+
{%- if sidebars != None %}
|
85
|
+
{#- new style sidebar: explicitly include/exclude templates #}
|
86
|
+
{%- for sidebartemplate in sidebars %}
|
87
|
+
{%- include sidebartemplate %}
|
88
|
+
{%- endfor %}
|
89
|
+
{% else %}
|
90
|
+
{% include "logo-text.html" %}
|
91
|
+
{% include "globaltoc.html" %}
|
92
|
+
{% include "searchbox.html" %}
|
93
|
+
{%- endif %}
|
94
|
+
</div>
|
95
|
+
</div>
|
96
|
+
{%- endmacro %}
|
97
|
+
|
98
|
+
{%- block content %}
|
99
|
+
|
100
|
+
{%- if pagename == 'index' and theme_index_template %}
|
101
|
+
{% include theme_index_template %}
|
102
|
+
{%- else %}
|
103
|
+
<div class="container-wrapper">
|
104
|
+
|
105
|
+
<div id="mobile-toggle">
|
106
|
+
<a href="#"><span class="glyphicon glyphicon-align-justify" aria-hidden="true"></span></a>
|
107
|
+
</div>
|
108
|
+
|
109
|
+
{%- block sidebar1 %}{{ guzzle_sidebar() }}{% endblock %}
|
110
|
+
|
111
|
+
{%- block document_wrapper %}
|
112
|
+
{%- block document %}
|
113
|
+
<div id="right-column">
|
114
|
+
{% block breadcrumbs %}
|
115
|
+
<div role="navigation" aria-label="breadcrumbs navigation">
|
116
|
+
<ol class="breadcrumb">
|
117
|
+
<li><a href="{{ pathto(master_doc) }}">Docs</a></li>
|
118
|
+
{% for doc in parents %}
|
119
|
+
<li><a href="{{ doc.link|e }}">{{ doc.title }}</a></li>
|
120
|
+
{% endfor %}
|
121
|
+
<li>{{ title }}</li>
|
122
|
+
</ol>
|
123
|
+
</div>
|
124
|
+
{% endblock %}
|
125
|
+
<div class="document clearer body" role="main">
|
126
|
+
{% block body %} {% endblock %}
|
127
|
+
</div>
|
128
|
+
{%- block bottom_rel_links %}
|
129
|
+
{{ render_relations() }}
|
130
|
+
{%- endblock %}
|
131
|
+
</div>
|
132
|
+
<div class="clearfix"></div>
|
133
|
+
{%- endblock %}
|
134
|
+
{%- endblock %}
|
135
|
+
|
136
|
+
{%- block comments -%}
|
137
|
+
{% if theme_disqus_comments_shortname %}
|
138
|
+
<div class="container comment-container">
|
139
|
+
{% include "comments.html" %}
|
140
|
+
</div>
|
141
|
+
{% endif %}
|
142
|
+
{%- endblock %}
|
143
|
+
</div>
|
144
|
+
{%- endif %}
|
145
|
+
{%- endblock %}
|
146
|
+
|
147
|
+
{%- block footer %}
|
148
|
+
<script type="text/javascript">
|
149
|
+
$("#mobile-toggle a").click(function () {
|
150
|
+
$("#left-column").toggle();
|
151
|
+
});
|
152
|
+
</script>
|
153
|
+
<script type="text/javascript" src="{{ pathto('_static/js/bootstrap.js', 1)}}"></script>
|
154
|
+
{%- block footer_wrapper %}
|
155
|
+
<div class="footer">
|
156
|
+
© Copyright {{ copyright }}. Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>.
|
157
|
+
</div>
|
158
|
+
{%- endblock %}
|
159
|
+
{%- block ga %}
|
160
|
+
{%- if theme_google_analytics_account %}
|
161
|
+
<script type="text/javascript">
|
162
|
+
var _gaq = _gaq || [];
|
163
|
+
_gaq.push(['_setAccount', '{{ theme_google_analytics_account }}']);
|
164
|
+
_gaq.push(['_trackPageview']);
|
165
|
+
(function() {
|
166
|
+
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
167
|
+
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
168
|
+
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
169
|
+
})();
|
170
|
+
</script>
|
171
|
+
{%- endif %}
|
172
|
+
{%- endblock %}
|
173
|
+
{%- endblock %}
|
@@ -67,7 +67,10 @@ platforms).
|
|
67
67
|
|
68
68
|
Reporting issues
|
69
69
|
----------------
|
70
|
-
|
70
|
+
|
71
|
+
Please first check the FAQ and whether a github issue already exists.
|
72
|
+
|
73
|
+
If you find a NEW issue, please open a ticket on our issue tracker:
|
71
74
|
|
72
75
|
https://github.com/borgbackup/borg/issues/
|
73
76
|
|
@@ -144,7 +144,7 @@ Compatibility notes:
|
|
144
144
|
Change Log 2.x
|
145
145
|
==============
|
146
146
|
|
147
|
-
Version 2.0.
|
147
|
+
Version 2.0.0b15 (2025-04-22)
|
148
148
|
-----------------------------
|
149
149
|
|
150
150
|
Please note:
|
@@ -156,6 +156,77 @@ above.
|
|
156
156
|
|
157
157
|
New features:
|
158
158
|
|
159
|
+
- compact: without --stats, it will be faster by using the cached chunks index.
|
160
|
+
with --stats it will be as slow as before, listing all repo objs.
|
161
|
+
- compact: support --dry-run (do nothing), #8300
|
162
|
+
- extract: --dry-run now displays +/- status flags (included/excluded), #8564
|
163
|
+
- allow timespan to be specified with common time units, #8624
|
164
|
+
- enhance passphrase handling, #8496.
|
165
|
+
|
166
|
+
Setting `BORG_DEBUG_PASSPHRASE=YES` enables passphrase debug logging to
|
167
|
+
stderr, showing passphrase, hex utf-8 byte sequence and related env vars if
|
168
|
+
a wrong passphrase was encountered.
|
169
|
+
|
170
|
+
Setting `BORG_DISPLAY_PASSPHRASE=YES` now always shows passphrase and its hex
|
171
|
+
utf-8 byte sequence.
|
172
|
+
- add {unixtime} placeholder, #8522
|
173
|
+
- implement padme chunk size obfuscation (SPEC 250), #8705
|
174
|
+
- macOS: retrieve birthtime in nanosecond precision via system call, #8724
|
175
|
+
|
176
|
+
Bug fixes:
|
177
|
+
|
178
|
+
- borg exits when assertions are disabled with Python optimizations, #8649
|
179
|
+
- yes(): deal with UnicodeDecodeError in input(), #6984
|
180
|
+
- fix remote repository exception handling / modern exit codes, #8631
|
181
|
+
- freebsd: fix nfs4 acl processing, #8756.
|
182
|
+
This issue only affected borg extract --numeric-ids when processing NFS4
|
183
|
+
ACLs, it didn't affect POSIX ACL processing.
|
184
|
+
|
185
|
+
Other changes:
|
186
|
+
|
187
|
+
- adapt to and require borghash 0.1.0
|
188
|
+
- adapt to and require borgstore 0.2.0 (new s3/b2 backend, fixes/improvements)
|
189
|
+
- create: remove --make-parent-dirs option (borgstore now does this automatically), #8619
|
190
|
+
- iter_items: decouple item iteration and content data chunks preloading
|
191
|
+
- remote: simplify code, add debug logging
|
192
|
+
- pyproject.toml: SPDX expression for license, add license-files, #8771
|
193
|
+
- Item: remove .chunks_healthy, #8559
|
194
|
+
- OpenBSD fixes:
|
195
|
+
|
196
|
+
- support other OpenSSL versions on OpenBSD, #8553
|
197
|
+
- vagrant: fix OpenBSD box, #8506
|
198
|
+
- Filter test output with LibreSSL related warnings on OpenBSD
|
199
|
+
- macOS: fix brew's broken pkg-config -> pkgconf transition
|
200
|
+
- tests: ignore 'com.apple.provenance' xattr (macOS specific)
|
201
|
+
- vagrant updates:
|
202
|
+
|
203
|
+
- use pyinstaller 6.11.1 (also use this in msys2 build scripts)
|
204
|
+
- use python 3.12.10
|
205
|
+
- build binaries with borgstore[sftp], #8574
|
206
|
+
- docs:
|
207
|
+
|
208
|
+
- automated backup: append to SYSTEMD_WANTS rather than overwrite, #8641
|
209
|
+
- fix udev rule priority in automated-local.rst, #8639
|
210
|
+
- FAQ: Why backups are slow on a Linux server that is a member of a windows domain? #8636
|
211
|
+
- within a shell, cli options with special characters may require quoting, #8578
|
212
|
+
- update prune documentation for new --keep-within intervals, #8630
|
213
|
+
- borg serve: recommend using a simple shell, #3818
|
214
|
+
- update install docs (requirements, pkgconfig, fuse), #8342
|
215
|
+
- libffi-dev is required for argon2-cffi-bindings
|
216
|
+
- add undelete command to index
|
217
|
+
- borg commands updated with --repo option, #8550
|
218
|
+
- FAQ: add entry about pure-python msgpack warning, #8323
|
219
|
+
- readthedocs theme fixes
|
220
|
+
|
221
|
+
- bring back highlighted content preview in search results.
|
222
|
+
- fix erroneous warning about missing javascript support.
|
223
|
+
|
224
|
+
|
225
|
+
Version 2.0.0b14 (2024-11-17)
|
226
|
+
-----------------------------
|
227
|
+
|
228
|
+
New features:
|
229
|
+
|
159
230
|
- delete: now only soft-deletes archives (same for prune)
|
160
231
|
- repo-list: --deleted lists deleted archives
|
161
232
|
- undelete: undelete soft-deleted archives, #8500
|
@@ -42,7 +42,7 @@ master_doc = "index"
|
|
42
42
|
|
43
43
|
# General information about the project.
|
44
44
|
project = "Borg - Deduplicating Archiver"
|
45
|
-
copyright = "2010-2014 Jonas Borgström, 2015-
|
45
|
+
copyright = "2010-2014 Jonas Borgström, 2015-2025 The Borg Collective (see AUTHORS file)"
|
46
46
|
|
47
47
|
# The version info for the project you're documenting, acts as replacement for
|
48
48
|
# |version| and |release|, also used in various other places throughout the
|
@@ -110,6 +110,7 @@ def set_rst_settings(app):
|
|
110
110
|
|
111
111
|
|
112
112
|
def setup(app):
|
113
|
+
app.setup_extension("sphinxcontrib.jquery")
|
113
114
|
app.add_css_file("css/borg.css")
|
114
115
|
app.connect("builder-inited", set_rst_settings)
|
115
116
|
|
@@ -243,6 +244,8 @@ extensions = [
|
|
243
244
|
"sphinx.ext.todo",
|
244
245
|
"sphinx.ext.coverage",
|
245
246
|
"sphinx.ext.viewcode",
|
247
|
+
"sphinxcontrib.jquery", # jquery is not included anymore by default
|
248
|
+
"guzzle_sphinx_theme", # register the theme as an extension to generate a sitemap.xml
|
246
249
|
]
|
247
250
|
|
248
251
|
extlinks = {
|
@@ -32,9 +32,9 @@ All configuration goes into this directory.
|
|
32
32
|
Find out the ID of the partition table of your backup disk (here assumed to be /dev/sdz):
|
33
33
|
lsblk --fs -o +PTUUID /dev/sdz
|
34
34
|
|
35
|
-
Then, create ``/etc/backups/
|
35
|
+
Then, create ``/etc/backups/80-backup.rules`` with the following content (all on one line)::
|
36
36
|
|
37
|
-
ACTION=="add", SUBSYSTEM=="block", ENV{ID_PART_TABLE_UUID}=="<the PTUUID you just noted>", TAG+="systemd", ENV{SYSTEMD_WANTS}
|
37
|
+
ACTION=="add", SUBSYSTEM=="block", ENV{ID_PART_TABLE_UUID}=="<the PTUUID you just noted>", TAG+="systemd", ENV{SYSTEMD_WANTS}+="automatic-backup.service"
|
38
38
|
|
39
39
|
The "systemd" tag in conjunction with the SYSTEMD_WANTS environment variable has systemd
|
40
40
|
launch the "automatic-backup" service, which we will create next, as the
|
@@ -164,7 +164,7 @@ The last part is actually to enable the udev rules and services:
|
|
164
164
|
|
165
165
|
.. code-block:: bash
|
166
166
|
|
167
|
-
ln -s /etc/backups/
|
167
|
+
ln -s /etc/backups/80-backup.rules /etc/udev/rules.d/80-backup.rules
|
168
168
|
ln -s /etc/backups/automatic-backup.service /etc/systemd/system/automatic-backup.service
|
169
169
|
systemctl daemon-reload
|
170
170
|
udevadm control --reload
|
@@ -63,28 +63,28 @@ deduplicating. For backup, save the disk header and the contents of each partiti
|
|
63
63
|
|
64
64
|
HEADER_SIZE=$(sfdisk -lo Start $DISK | grep -A1 -P 'Start$' | tail -n1 | xargs echo)
|
65
65
|
PARTITIONS=$(sfdisk -lo Device,Type $DISK | sed -e '1,/Device\s*Type/d')
|
66
|
-
dd if=$DISK count=$HEADER_SIZE | borg create repo
|
66
|
+
dd if=$DISK count=$HEADER_SIZE | borg create --repo repo hostname-partinfo -
|
67
67
|
echo "$PARTITIONS" | grep NTFS | cut -d' ' -f1 | while read x; do
|
68
68
|
PARTNUM=$(echo $x | grep -Eo "[0-9]+$")
|
69
|
-
ntfsclone -so - $x | borg create repo
|
69
|
+
ntfsclone -so - $x | borg create --repo repo hostname-part$PARTNUM -
|
70
70
|
done
|
71
71
|
# to back up non-NTFS partitions as well:
|
72
72
|
echo "$PARTITIONS" | grep -v NTFS | cut -d' ' -f1 | while read x; do
|
73
73
|
PARTNUM=$(echo $x | grep -Eo "[0-9]+$")
|
74
|
-
borg create --read-special repo
|
74
|
+
borg create --read-special --repo repo hostname-part$PARTNUM $x
|
75
75
|
done
|
76
76
|
|
77
77
|
Restoration is a similar process::
|
78
78
|
|
79
|
-
borg extract --stdout repo
|
79
|
+
borg extract --stdout --repo repo hostname-partinfo | dd of=$DISK && partprobe
|
80
80
|
PARTITIONS=$(sfdisk -lo Device,Type $DISK | sed -e '1,/Device\s*Type/d')
|
81
81
|
borg list --format {archive}{NL} repo | grep 'part[0-9]*$' | while read x; do
|
82
82
|
PARTNUM=$(echo $x | grep -Eo "[0-9]+$")
|
83
83
|
PARTITION=$(echo "$PARTITIONS" | grep -E "$DISKp?$PARTNUM" | head -n1)
|
84
84
|
if echo "$PARTITION" | cut -d' ' -f2- | grep -q NTFS; then
|
85
|
-
borg extract --stdout repo
|
85
|
+
borg extract --stdout --repo repo $x | ntfsclone -rO $(echo "$PARTITION" | cut -d' ' -f1) -
|
86
86
|
else
|
87
|
-
borg extract --stdout repo
|
87
|
+
borg extract --stdout --repo repo $x | dd of=$(echo "$PARTITION" | cut -d' ' -f1)
|
88
88
|
fi
|
89
89
|
done
|
90
90
|
|
@@ -105,11 +105,11 @@ except it works in place, zeroing the original partition. This makes the backup
|
|
105
105
|
a bit simpler::
|
106
106
|
|
107
107
|
sfdisk -lo Device,Type $DISK | sed -e '1,/Device\s*Type/d' | grep Linux | cut -d' ' -f1 | xargs -n1 zerofree
|
108
|
-
borg create --read-special repo
|
108
|
+
borg create --read-special --repo repo hostname-disk $DISK
|
109
109
|
|
110
110
|
Because the partitions were zeroed in place, restoration is only one command::
|
111
111
|
|
112
|
-
borg extract --stdout repo
|
112
|
+
borg extract --stdout --repo repo hostname-disk | dd of=$DISK
|
113
113
|
|
114
114
|
.. note:: The "traditional" way to zero out space on a partition, especially one already
|
115
115
|
mounted, is simply to ``dd`` from ``/dev/zero`` to a temporary file and delete
|
@@ -98,7 +98,7 @@ create the backup, retaining the original paths, excluding the repository:
|
|
98
98
|
|
99
99
|
::
|
100
100
|
|
101
|
-
borg create --exclude borgrepo --files-cache ctime,size /borgrepo
|
101
|
+
borg create --exclude borgrepo --files-cache ctime,size --repo /borgrepo archive /
|
102
102
|
|
103
103
|
For the sake of simplicity only ``borgrepo`` is excluded here. You may want to
|
104
104
|
set up an exclude file with additional files and folders to be excluded. Also
|
@@ -159,7 +159,7 @@ Now we can run
|
|
159
159
|
|
160
160
|
::
|
161
161
|
|
162
|
-
borg extract /borgrepo
|
162
|
+
borg extract --repo /borgrepo archive PATH
|
163
163
|
|
164
164
|
to restore whatever we like partially. Finally, do the clean-up:
|
165
165
|
|
@@ -187,7 +187,7 @@ and extract a backup, utilizing the ``--numeric-ids`` option:
|
|
187
187
|
|
188
188
|
sshfs root@host:/ /mnt/sshfs
|
189
189
|
cd /mnt/sshfs
|
190
|
-
borg extract --numeric-ids /path/to/repo
|
190
|
+
borg extract --numeric-ids --repo /path/to/repo archive
|
191
191
|
cd ~
|
192
192
|
umount /mnt/sshfs
|
193
193
|
|
@@ -199,7 +199,7 @@ directly extract it without the need of mounting with SSHFS:
|
|
199
199
|
|
200
200
|
::
|
201
201
|
|
202
|
-
borg export-tar /path/to/repo
|
202
|
+
borg export-tar --repo /path/to/repo archive - | ssh root@host 'tar -C / -x'
|
203
203
|
|
204
204
|
Note that in this scenario the tar format is the limiting factor – it cannot
|
205
205
|
restore all the advanced features that BorgBackup supports. See
|
@@ -301,7 +301,7 @@ ignore all arguments intended for the SSH command.
|
|
301
301
|
All Borg commands can now be executed on *borg-client*. For example to create a
|
302
302
|
backup execute the ``borg create`` command::
|
303
303
|
|
304
|
-
borg-client:~$ borg create ssh://borg-server/path/to/repo
|
304
|
+
borg-client:~$ borg create --repo ssh://borg-server/path/to/repo archive /path_to_backup
|
305
305
|
|
306
306
|
When automating backup creation, the
|
307
307
|
interactive ssh session may seem inappropriate. An alternative way of creating
|
@@ -312,7 +312,7 @@ a backup may be the following command::
|
|
312
312
|
borgc@borg-client \
|
313
313
|
borg create \
|
314
314
|
--rsh "sh -c 'exec socat STDIO UNIX-CONNECT:/run/borg/reponame.sock'" \
|
315
|
-
ssh://borg-server/path/to/repo
|
315
|
+
--repo ssh://borg-server/path/to/repo archive /path_to_backup \
|
316
316
|
';' rm /run/borg/reponame.sock
|
317
317
|
|
318
318
|
This command also automatically removes the socket file after the ``borg
|
@@ -19,7 +19,7 @@ Some guidance for contributors:
|
|
19
19
|
|
20
20
|
- Discuss changes on the GitHub issue tracker, on IRC or on the mailing list.
|
21
21
|
|
22
|
-
- Make your PRs on the ``master`` branch (see `Branching Model`_ for details).
|
22
|
+
- Make your PRs on the ``master`` branch (see `Branching Model`_ for details and exceptions).
|
23
23
|
|
24
24
|
- Do clean changesets:
|
25
25
|
|
@@ -368,6 +368,13 @@ using ``nfs=nostale_ro``. Doing so implies mounting the filesystem read-only.
|
|
368
368
|
Another option is to not consider inode numbers in the files cache by passing
|
369
369
|
``--files-cache=ctime,size``.
|
370
370
|
|
371
|
+
Why are backups slow on a Linux server that is a member of a Windows domain?
|
372
|
+
----------------------------------------------------------------------------
|
373
|
+
|
374
|
+
If a Linux server is a member of a Windows domain, username to userid resolution might be
|
375
|
+
performed via ``winbind`` without caching, which can slow down backups significantly.
|
376
|
+
You can use e.g. ``nscd`` to add caching and improve the speed.
|
377
|
+
|
371
378
|
Security
|
372
379
|
########
|
373
380
|
|
@@ -845,6 +852,32 @@ A workaround is to set the option ``--files-cache=ctime,size`` to exclude the in
|
|
845
852
|
number comparison from the files cache check so that files with different inode
|
846
853
|
numbers won't be treated as modified.
|
847
854
|
|
855
|
+
Using a pure-python msgpack! This will result in lower performance.
|
856
|
+
-------------------------------------------------------------------
|
857
|
+
|
858
|
+
borg uses `msgpack` to serialize/deserialize data.
|
859
|
+
|
860
|
+
`msgpack` has 2 implementations:
|
861
|
+
|
862
|
+
- a fast one (C code compiled into a platform specific binary), and
|
863
|
+
- a slow pure-python one.
|
864
|
+
|
865
|
+
The slow one is used if it can't successfully import the fast one.
|
866
|
+
|
867
|
+
If you use the pyinstaller-made borg "fat binary" which we offer on github
|
868
|
+
releases, it could be that you downloaded a binary that does not match the
|
869
|
+
(g)libc on your system.
|
870
|
+
|
871
|
+
Binaries made for an older glibc than the one you have on your system usually
|
872
|
+
just work, but the opposite is not necessarily the case and can lead to misc.
|
873
|
+
issues - like failing to load the fast msgpack code or not working at all.
|
874
|
+
|
875
|
+
So: try a binary made for an older glibc.
|
876
|
+
|
877
|
+
If you see this without using a "fat binary" from us, it usually means that
|
878
|
+
msgpack is not built / installed correctly. It could be also that the platform
|
879
|
+
is not fully supported (so the python code works, but there is no fast binary
|
880
|
+
code).
|
848
881
|
|
849
882
|
Is there a way to limit bandwidth with Borg?
|
850
883
|
--------------------------------------------
|
@@ -14,6 +14,7 @@
|
|
14
14
|
.. _ACL: https://en.wikipedia.org/wiki/Access_control_list
|
15
15
|
.. _libacl: https://savannah.nongnu.org/projects/acl/
|
16
16
|
.. _libattr: https://savannah.nongnu.org/projects/attr/
|
17
|
+
.. _libxxhash: https://github.com/Cyan4973/xxHash
|
17
18
|
.. _liblz4: https://github.com/Cyan4973/lz4
|
18
19
|
.. _libzstd: https://github.com/facebook/zstd
|
19
20
|
.. _OpenSSL: https://www.openssl.org/
|