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.
Files changed (442) hide show
  1. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/.pre-commit-config.yaml +1 -1
  2. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/Brewfile +1 -1
  3. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/CHANGES.rst +109 -13
  4. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/PKG-INFO +7 -5
  5. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/README.rst +10 -5
  6. borgbackup-2.0.0b10/docs/binaries/00_README.txt +78 -0
  7. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/borg_theme/css/borg.css +1 -2
  8. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/changes.rst +109 -13
  9. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/changes_1.x.rst +1 -1
  10. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/deployment/automated-local.rst +4 -4
  11. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/deployment/hosting-repositories.rst +0 -2
  12. borgbackup-2.0.0b10/docs/deployment/non-root-user.rst +66 -0
  13. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/deployment.rst +1 -0
  14. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/faq.rst +32 -151
  15. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/global.rst.inc +0 -1
  16. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/installation.rst +3 -3
  17. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/data-structures.rst +141 -371
  18. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/frontends.rst +2 -2
  19. borgbackup-2.0.0b10/docs/internals/object-graph.odg +0 -0
  20. borgbackup-2.0.0b10/docs/internals/object-graph.png +0 -0
  21. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/security.rst +22 -10
  22. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-benchmark-cpu.1 +1 -1
  23. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-benchmark-crud.1 +1 -1
  24. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-benchmark.1 +1 -1
  25. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-break-lock.1 +1 -1
  26. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-check.1 +20 -14
  27. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-common.1 +2 -5
  28. borgbackup-2.0.0b10/docs/man/borg-compact.1 +67 -0
  29. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-compression.1 +1 -1
  30. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-config.1 +3 -3
  31. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-create.1 +6 -14
  32. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-delete.1 +3 -22
  33. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-diff.1 +2 -2
  34. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-export-tar.1 +2 -2
  35. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-extract.1 +2 -2
  36. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-import-tar.1 +2 -8
  37. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-info.1 +3 -3
  38. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key-change-location.1 +2 -2
  39. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key-change-passphrase.1 +3 -3
  40. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key-export.1 +19 -20
  41. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key-import.1 +2 -2
  42. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key.1 +1 -1
  43. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-list.1 +3 -7
  44. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-match-archives.1 +1 -1
  45. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-mount.1 +2 -5
  46. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-patterns.1 +1 -1
  47. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-placeholders.1 +1 -1
  48. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-prune.1 +3 -22
  49. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-recreate.1 +2 -8
  50. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-rename.1 +3 -3
  51. borgbackup-2.0.0b8/docs/man/borg-rcompress.1 → borgbackup-2.0.0b10/docs/man/borg-repo-compress.1 +11 -20
  52. borgbackup-2.0.0b8/docs/man/borg-rcreate.1 → borgbackup-2.0.0b10/docs/man/borg-repo-create.1 +27 -18
  53. borgbackup-2.0.0b8/docs/man/borg-rdelete.1 → borgbackup-2.0.0b10/docs/man/borg-repo-delete.1 +5 -5
  54. borgbackup-2.0.0b8/docs/man/borg-rinfo.1 → borgbackup-2.0.0b10/docs/man/borg-repo-info.1 +5 -14
  55. borgbackup-2.0.0b8/docs/man/borg-rlist.1 → borgbackup-2.0.0b10/docs/man/borg-repo-list.1 +7 -10
  56. borgbackup-2.0.0b10/docs/man/borg-repo-space.1 +94 -0
  57. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-serve.1 +2 -2
  58. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-transfer.1 +25 -18
  59. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-umount.1 +1 -1
  60. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-version.1 +1 -1
  61. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-with-lock.1 +1 -1
  62. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg.1 +68 -31
  63. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borgfs.1 +2 -5
  64. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man_intro.rst +1 -1
  65. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/quickstart.rst +18 -26
  66. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/quickstart_example.rst.inc +2 -2
  67. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/check.rst.inc +21 -15
  68. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/common-options.rst.inc +1 -2
  69. borgbackup-2.0.0b10/docs/usage/compact.rst.inc +46 -0
  70. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/create.rst.inc +5 -13
  71. borgbackup-2.0.0b10/docs/usage/delete.rst.inc +88 -0
  72. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/diff.rst.inc +2 -2
  73. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/export-tar.rst.inc +2 -2
  74. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/extract.rst.inc +2 -2
  75. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/date-time.rst.inc +7 -0
  76. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/environment.rst.inc +17 -4
  77. borgbackup-2.0.0b10/docs/usage/general/file-systems.rst.inc +37 -0
  78. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/repository-urls.rst.inc +3 -0
  79. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general.rst +1 -1
  80. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/import-tar.rst.inc +2 -8
  81. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/info.rst.inc +2 -2
  82. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/key.rst +14 -2
  83. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/key_change-location.rst.inc +2 -2
  84. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/key_export.rst.inc +3 -14
  85. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/key_import.rst.inc +2 -2
  86. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/list.rst.inc +2 -4
  87. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/mount.rst.inc +2 -5
  88. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/notes.rst +3 -3
  89. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/prune.rst.inc +49 -68
  90. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/recreate.rst.inc +15 -21
  91. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/rename.rst +2 -2
  92. borgbackup-2.0.0b10/docs/usage/repo-compress.rst +12 -0
  93. borgbackup-2.0.0b8/docs/usage/rcompress.rst.inc → borgbackup-2.0.0b10/docs/usage/repo-compress.rst.inc +11 -20
  94. borgbackup-2.0.0b10/docs/usage/repo-create.rst +27 -0
  95. borgbackup-2.0.0b8/docs/usage/rcreate.rst.inc → borgbackup-2.0.0b10/docs/usage/repo-create.rst.inc +22 -11
  96. borgbackup-2.0.0b8/docs/usage/rdelete.rst → borgbackup-2.0.0b10/docs/usage/repo-delete.rst +2 -2
  97. borgbackup-2.0.0b8/docs/usage/rdelete.rst.inc → borgbackup-2.0.0b10/docs/usage/repo-delete.rst.inc +6 -6
  98. borgbackup-2.0.0b8/docs/usage/rinfo.rst → borgbackup-2.0.0b10/docs/usage/repo-info.rst +2 -2
  99. borgbackup-2.0.0b8/docs/usage/rinfo.rst.inc → borgbackup-2.0.0b10/docs/usage/repo-info.rst.inc +7 -16
  100. borgbackup-2.0.0b8/docs/usage/rlist.rst → borgbackup-2.0.0b10/docs/usage/repo-list.rst +2 -2
  101. borgbackup-2.0.0b8/docs/usage/rlist.rst.inc → borgbackup-2.0.0b10/docs/usage/repo-list.rst.inc +8 -11
  102. borgbackup-2.0.0b10/docs/usage/repo-space.rst +1 -0
  103. borgbackup-2.0.0b10/docs/usage/repo-space.rst.inc +80 -0
  104. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/serve.rst.inc +2 -2
  105. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/transfer.rst +1 -1
  106. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/transfer.rst.inc +27 -15
  107. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage.rst +6 -6
  108. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/pyproject.toml +4 -2
  109. borgbackup-2.0.0b10/requirements.d/codestyle.txt +1 -0
  110. borgbackup-2.0.0b10/requirements.d/development.lock.txt +14 -0
  111. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/fetch-binaries +6 -5
  112. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/make.py +13 -5
  113. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/upload-pypi +3 -3
  114. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/setup.py +13 -2
  115. borgbackup-2.0.0b10/src/borg/_version.py +1 -0
  116. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archive.py +237 -492
  117. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/__init__.py +25 -59
  118. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/_common.py +37 -19
  119. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/benchmark_cmd.py +21 -10
  120. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/check_cmd.py +25 -15
  121. borgbackup-2.0.0b10/src/borg/archiver/compact_cmd.py +182 -0
  122. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/create_cmd.py +8 -39
  123. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/debug_cmd.py +32 -147
  124. borgbackup-2.0.0b10/src/borg/archiver/delete_cmd.py +84 -0
  125. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/info_cmd.py +0 -2
  126. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/key_cmds.py +15 -31
  127. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/lock_cmds.py +6 -23
  128. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/mount_cmds.py +0 -6
  129. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/prune_cmd.py +14 -78
  130. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/recreate_cmd.py +1 -24
  131. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/rename_cmd.py +1 -3
  132. borgbackup-2.0.0b8/src/borg/archiver/rcompress_cmd.py → borgbackup-2.0.0b10/src/borg/archiver/repo_compress_cmd.py +32 -72
  133. borgbackup-2.0.0b8/src/borg/archiver/rcreate_cmd.py → borgbackup-2.0.0b10/src/borg/archiver/repo_create_cmd.py +35 -15
  134. borgbackup-2.0.0b8/src/borg/archiver/rdelete_cmd.py → borgbackup-2.0.0b10/src/borg/archiver/repo_delete_cmd.py +9 -9
  135. borgbackup-2.0.0b8/src/borg/archiver/rinfo_cmd.py → borgbackup-2.0.0b10/src/borg/archiver/repo_info_cmd.py +11 -28
  136. borgbackup-2.0.0b8/src/borg/archiver/rlist_cmd.py → borgbackup-2.0.0b10/src/borg/archiver/repo_list_cmd.py +10 -16
  137. borgbackup-2.0.0b10/src/borg/archiver/repo_space_cmd.py +110 -0
  138. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/serve_cmd.py +5 -1
  139. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/tar_cmds.py +2 -30
  140. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/transfer_cmd.py +37 -21
  141. borgbackup-2.0.0b10/src/borg/cache.py +818 -0
  142. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/checksums.c +697 -692
  143. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/chunker.c +1471 -1442
  144. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/compress.c +721 -695
  145. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/compress.pyx +1 -1
  146. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/constants.py +1 -1
  147. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/crypto/keymanager.py +1 -7
  148. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/crypto/low_level.c +1209 -1170
  149. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/hashindex.c +3777 -6943
  150. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/hashindex.pyi +0 -14
  151. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/hashindex.pyx +13 -189
  152. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/__init__.py +2 -1
  153. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/errors.py +1 -1
  154. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/fs.py +1 -1
  155. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/misc.py +1 -1
  156. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/msgpack.py +1 -1
  157. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/parseformat.py +32 -27
  158. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/process.py +72 -9
  159. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/time.py +1 -1
  160. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/item.c +673 -597
  161. borgbackup-2.0.0b10/src/borg/legacyremote.py +953 -0
  162. borgbackup-2.0.0b8/src/borg/repository.py → borgbackup-2.0.0b10/src/borg/legacyrepository.py +33 -126
  163. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/manifest.py +160 -48
  164. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/darwin.c +2029 -1458
  165. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/darwin.pyx +25 -16
  166. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/freebsd.c +2976 -1953
  167. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/freebsd.pyx +58 -37
  168. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/linux.c +2484 -1590
  169. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/linux.pyx +45 -33
  170. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/posix.c +528 -500
  171. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/syncfilerange.c +463 -450
  172. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/windows.c +674 -664
  173. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/remote.py +92 -40
  174. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/repoobj.py +22 -18
  175. borgbackup-2.0.0b10/src/borg/repository.py +465 -0
  176. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/selftest.py +1 -1
  177. borgbackup-2.0.0b10/src/borg/storelocking.py +243 -0
  178. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archive.py +2 -2
  179. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/__init__.py +5 -34
  180. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/argparsing.py +7 -6
  181. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/benchmark_cmd.py +1 -1
  182. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/check_cmd.py +111 -54
  183. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/checks.py +53 -95
  184. borgbackup-2.0.0b10/src/borg/testsuite/archiver/compact_cmd.py +44 -0
  185. borgbackup-2.0.0b10/src/borg/testsuite/archiver/corruption.py +53 -0
  186. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/create_cmd.py +78 -91
  187. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/debug_cmds.py +8 -25
  188. borgbackup-2.0.0b10/src/borg/testsuite/archiver/delete_cmd.py +34 -0
  189. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/diff_cmd.py +3 -3
  190. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/disk_full.py +6 -5
  191. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/extract_cmd.py +30 -27
  192. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/help_cmd.py +3 -3
  193. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/info_cmd.py +3 -3
  194. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/key_cmds.py +37 -32
  195. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/list_cmd.py +8 -8
  196. borgbackup-2.0.0b10/src/borg/testsuite/archiver/lock_cmds.py +52 -0
  197. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/mount_cmds.py +12 -11
  198. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/prune_cmd.py +15 -36
  199. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/recreate_cmd.py +38 -35
  200. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/rename_cmd.py +4 -4
  201. 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
  202. borgbackup-2.0.0b10/src/borg/testsuite/archiver/repo_create_cmd.py +57 -0
  203. 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
  204. borgbackup-2.0.0b10/src/borg/testsuite/archiver/repo_info_cmd.py +31 -0
  205. 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
  206. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/return_codes.py +6 -4
  207. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/serve_cmd.py +5 -3
  208. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/tar_cmds.py +10 -10
  209. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/transfer_cmd.py +6 -6
  210. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/benchmark.py +1 -1
  211. borgbackup-2.0.0b10/src/borg/testsuite/cache.py +54 -0
  212. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/conftest.py +3 -25
  213. borgbackup-2.0.0b8/src/borg/testsuite/locking.py → borgbackup-2.0.0b10/src/borg/testsuite/fslocking.py +1 -1
  214. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/hashindex.py +6 -203
  215. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/helpers.py +9 -1
  216. borgbackup-2.0.0b8/src/borg/testsuite/repository.py → borgbackup-2.0.0b10/src/borg/testsuite/legacyrepository.py +42 -143
  217. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/platform.py +28 -14
  218. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/platform_darwin.py +1 -1
  219. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/platform_freebsd.py +2 -0
  220. borgbackup-2.0.0b10/src/borg/testsuite/repository.py +277 -0
  221. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/shellpattern.py +3 -3
  222. borgbackup-2.0.0b10/src/borg/testsuite/storelocking.py +100 -0
  223. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/upgrade.py +2 -2
  224. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borgbackup.egg-info/PKG-INFO +7 -5
  225. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borgbackup.egg-info/SOURCES.txt +39 -42
  226. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borgbackup.egg-info/requires.txt +2 -1
  227. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/tox.ini +2 -2
  228. borgbackup-2.0.0b8/docs/internals/compaction.odg +0 -0
  229. borgbackup-2.0.0b8/docs/internals/compaction.png +0 -0
  230. borgbackup-2.0.0b8/docs/internals/object-graph.odg +0 -0
  231. borgbackup-2.0.0b8/docs/internals/object-graph.png +0 -0
  232. borgbackup-2.0.0b8/docs/man/borg-compact.1 +0 -82
  233. borgbackup-2.0.0b8/docs/usage/compact.rst.inc +0 -63
  234. borgbackup-2.0.0b8/docs/usage/config.rst +0 -22
  235. borgbackup-2.0.0b8/docs/usage/config.rst.inc +0 -75
  236. borgbackup-2.0.0b8/docs/usage/delete.rst.inc +0 -107
  237. borgbackup-2.0.0b8/docs/usage/general/file-systems.rst.inc +0 -30
  238. borgbackup-2.0.0b8/docs/usage/rcompress.rst +0 -12
  239. borgbackup-2.0.0b8/docs/usage/rcreate.rst +0 -27
  240. borgbackup-2.0.0b8/requirements.d/codestyle.txt +0 -1
  241. borgbackup-2.0.0b8/requirements.d/development.lock.txt +0 -14
  242. borgbackup-2.0.0b8/scripts/fuzz-cache-sync/HOWTO +0 -10
  243. borgbackup-2.0.0b8/scripts/fuzz-cache-sync/main.c +0 -33
  244. borgbackup-2.0.0b8/scripts/fuzz-cache-sync/testcase_dir/test_simple +0 -0
  245. borgbackup-2.0.0b8/src/borg/_version.py +0 -1
  246. borgbackup-2.0.0b8/src/borg/archiver/compact_cmd.py +0 -64
  247. borgbackup-2.0.0b8/src/borg/archiver/config_cmd.py +0 -181
  248. borgbackup-2.0.0b8/src/borg/archiver/delete_cmd.py +0 -159
  249. borgbackup-2.0.0b8/src/borg/cache.py +0 -1240
  250. borgbackup-2.0.0b8/src/borg/cache_sync/cache_sync.c +0 -138
  251. borgbackup-2.0.0b8/src/borg/cache_sync/sysdep.h +0 -194
  252. borgbackup-2.0.0b8/src/borg/cache_sync/unpack.h +0 -416
  253. borgbackup-2.0.0b8/src/borg/cache_sync/unpack_define.h +0 -95
  254. borgbackup-2.0.0b8/src/borg/cache_sync/unpack_template.h +0 -365
  255. borgbackup-2.0.0b8/src/borg/testsuite/archiver/bypass_lock_option.py +0 -130
  256. borgbackup-2.0.0b8/src/borg/testsuite/archiver/config_cmd.py +0 -63
  257. borgbackup-2.0.0b8/src/borg/testsuite/archiver/corruption.py +0 -108
  258. borgbackup-2.0.0b8/src/borg/testsuite/archiver/delete_cmd.py +0 -82
  259. borgbackup-2.0.0b8/src/borg/testsuite/archiver/lock_cmds.py +0 -27
  260. borgbackup-2.0.0b8/src/borg/testsuite/archiver/rcreate_cmd.py +0 -85
  261. borgbackup-2.0.0b8/src/borg/testsuite/archiver/rinfo_cmd.py +0 -55
  262. borgbackup-2.0.0b8/src/borg/testsuite/cache.py +0 -228
  263. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/.coveragerc +0 -0
  264. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/.git-blame-ignore-revs +0 -0
  265. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/.readthedocs.yaml +0 -0
  266. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/AUTHORS +0 -0
  267. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/LICENSE +0 -0
  268. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/MANIFEST.in +0 -0
  269. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/SECURITY.md +0 -0
  270. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/3rd_party/README +0 -0
  271. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/Makefile +0 -0
  272. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_static/Makefile +0 -0
  273. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_static/favicon.ico +0 -0
  274. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_static/logo.pdf +0 -0
  275. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_static/logo.png +0 -0
  276. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_static/logo.svg +0 -0
  277. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_static/logo_font.txt +0 -0
  278. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_templates/globaltoc.html +0 -0
  279. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/_templates/logo-text.html +0 -0
  280. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/authors.rst +0 -0
  281. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/book.rst +0 -0
  282. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/changes_0.x.rst +0 -0
  283. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/conf.py +0 -0
  284. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/deployment/central-backup-server.rst +0 -0
  285. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/deployment/image-backup.rst +0 -0
  286. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/deployment/pull-backup.rst +0 -0
  287. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/development.rst +0 -0
  288. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/index.rst +0 -0
  289. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/encryption-aead.odg +0 -0
  290. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/encryption-aead.png +0 -0
  291. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/structure.odg +0 -0
  292. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals/structure.png +0 -0
  293. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/internals.rst +0 -0
  294. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/introduction.rst +0 -0
  295. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-change-passphrase.1 +0 -0
  296. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key-change-algorithm.1 +0 -0
  297. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-key-migrate-to-repokey.1 +0 -0
  298. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/man/borg-upgrade.1 +0 -0
  299. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/README +0 -0
  300. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/Vagrantfile +0 -0
  301. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/advanced.json +0 -0
  302. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/advanced.tcl +0 -0
  303. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/basic.json +0 -0
  304. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/basic.tcl +0 -0
  305. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/install.json +0 -0
  306. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/install.tcl +0 -0
  307. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/asciinema/sample-wallpapers.txt +0 -0
  308. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/benchmark-crud.txt +0 -0
  309. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/borg-data-flow.odg +0 -0
  310. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/borg-data-flow.png +0 -0
  311. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/create_chunker-params.txt +0 -0
  312. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/internals-picture.txt +0 -0
  313. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/logging.conf +0 -0
  314. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/misc/prune-example.txt +0 -0
  315. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/support.rst +0 -0
  316. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/benchmark.rst +0 -0
  317. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/benchmark_cpu.rst.inc +0 -0
  318. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/benchmark_crud.rst.inc +0 -0
  319. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/borgfs.rst +0 -0
  320. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/borgfs.rst.inc +0 -0
  321. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/break-lock.rst.inc +0 -0
  322. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/change-passphrase.rst.inc +0 -0
  323. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/check.rst +0 -0
  324. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/compact.rst +0 -0
  325. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/create.rst +0 -0
  326. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/debug.rst +0 -0
  327. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/delete.rst +0 -0
  328. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/diff.rst +0 -0
  329. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/extract.rst +0 -0
  330. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/file-metadata.rst.inc +0 -0
  331. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/logging.rst.inc +0 -0
  332. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/positional-arguments.rst.inc +0 -0
  333. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/repository-locations.rst.inc +0 -0
  334. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/resources.rst.inc +0 -0
  335. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/return-codes.rst.inc +0 -0
  336. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/general/units.rst.inc +0 -0
  337. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/help.rst +0 -0
  338. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/help.rst.inc +0 -0
  339. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/info.rst +0 -0
  340. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/key_change-passphrase.rst.inc +0 -0
  341. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/list.rst +0 -0
  342. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/lock.rst +0 -0
  343. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/mount.rst +0 -0
  344. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/prune.rst +0 -0
  345. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/recreate.rst +0 -0
  346. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/rename.rst.inc +0 -0
  347. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/serve.rst +0 -0
  348. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/tar.rst +0 -0
  349. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/umount.rst.inc +0 -0
  350. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/usage_general.rst.inc +0 -0
  351. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/version.rst +0 -0
  352. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/version.rst.inc +0 -0
  353. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage/with-lock.rst.inc +0 -0
  354. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/docs/usage_general.rst.inc +0 -0
  355. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/requirements.d/development.txt +0 -0
  356. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/requirements.d/docs.txt +0 -0
  357. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/borg.exe.spec +0 -0
  358. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/errorlist.py +0 -0
  359. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/glibc_check.py +0 -0
  360. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/hash_sizes.py +0 -0
  361. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/make-testdata/test_transfer_upgrade.sh +0 -0
  362. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/msys2-install-deps +0 -0
  363. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/sdist-sign +0 -0
  364. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/shell_completions/bash/borg +0 -0
  365. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/shell_completions/fish/borg.fish +0 -0
  366. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/shell_completions/zsh/_borg +0 -0
  367. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/scripts/sign-binaries +0 -0
  368. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/setup.cfg +0 -0
  369. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/__init__.py +0 -0
  370. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/__main__.py +0 -0
  371. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/_chunker.c +0 -0
  372. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/_endian.h +0 -0
  373. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/_hashindex.c +0 -0
  374. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/_item.c +0 -0
  375. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/diff_cmd.py +0 -0
  376. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/extract_cmd.py +0 -0
  377. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/help_cmd.py +0 -0
  378. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/list_cmd.py +0 -0
  379. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/archiver/version_cmd.py +0 -0
  380. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/checksums.pyi +0 -0
  381. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/checksums.pyx +0 -0
  382. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/chunker.pyi +0 -0
  383. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/chunker.pyx +0 -0
  384. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/compress.pyi +0 -0
  385. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/crypto/__init__.py +0 -0
  386. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/crypto/file_integrity.py +0 -0
  387. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/crypto/key.py +0 -0
  388. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/crypto/low_level.pyx +0 -0
  389. /borgbackup-2.0.0b8/src/borg/locking.py → /borgbackup-2.0.0b10/src/borg/fslocking.py +0 -0
  390. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/fuse.py +0 -0
  391. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/fuse_impl.py +0 -0
  392. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/checks.py +0 -0
  393. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/datastruct.py +0 -0
  394. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/lrucache.py +0 -0
  395. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/nanorst.py +0 -0
  396. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/passphrase.py +0 -0
  397. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/progress.py +0 -0
  398. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/shellpattern.py +0 -0
  399. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/helpers/yes_no.py +0 -0
  400. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/item.pyi +0 -0
  401. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/item.pyx +0 -0
  402. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/logger.py +0 -0
  403. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/paperkey.html +0 -0
  404. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/patterns.py +0 -0
  405. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/__init__.py +0 -0
  406. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/base.py +0 -0
  407. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/posix.pyx +0 -0
  408. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/syncfilerange.pyx +0 -0
  409. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/windows.pyx +0 -0
  410. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platform/xattr.py +0 -0
  411. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/platformflags.py +0 -0
  412. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/__init__.py +0 -0
  413. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/dotdot_path.tar +0 -0
  414. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/patterns.py +0 -0
  415. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/repo12.tar.gz +0 -0
  416. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/archiver/unusual_paths.tar +0 -0
  417. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/checksums.py +0 -0
  418. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/chunker.py +0 -0
  419. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/chunker_pytest.py +0 -0
  420. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/chunker_slow.py +0 -0
  421. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/compress.py +0 -0
  422. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/crypto.py +0 -0
  423. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/efficient_collection_queue.py +0 -0
  424. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/file_integrity.py +0 -0
  425. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/hashindex_pytest.py +0 -0
  426. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/item.py +0 -0
  427. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/key.py +0 -0
  428. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/logger.py +0 -0
  429. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/lrucache.py +0 -0
  430. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/nanorst.py +0 -0
  431. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/patterns.py +0 -0
  432. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/platform_linux.py +0 -0
  433. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/platform_posix.py +0 -0
  434. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/remote.py +0 -0
  435. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/repoobj.py +0 -0
  436. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/version.py +0 -0
  437. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/testsuite/xattr.py +0 -0
  438. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/version.py +0 -0
  439. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borg/xattr.py +0 -0
  440. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borgbackup.egg-info/dependency_links.txt +0 -0
  441. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borgbackup.egg-info/entry_points.txt +0 -0
  442. {borgbackup-2.0.0b8 → borgbackup-2.0.0b10}/src/borgbackup.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  repos:
2
2
  - repo: https://github.com/psf/black
3
- rev: 23.1.0
3
+ rev: 24.8.0
4
4
  hooks:
5
5
  - id: black
6
6
  - repo: https://github.com/astral-sh/ruff-pre-commit
@@ -2,7 +2,7 @@ brew 'pkg-config'
2
2
  brew 'zstd'
3
3
  brew 'lz4'
4
4
  brew 'xxhash'
5
- brew 'openssl@1.1'
5
+ brew 'openssl@3.0'
6
6
 
7
7
  # osxfuse (aka macFUSE) is only required for "borg mount",
8
8
  # but won't work on github actions' workers.
@@ -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, unblocking future
25
- improvements, getting rid of legacy crap / design limitations, having less and
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.1/1.2 repos to
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 rcreate # "repo create", was: borg init
62
- - borg rlist # "repo list"
63
- - borg rinfo # "repo info"
64
- - borg rdelete # "repo delete"
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.0b8 (2024-02-20)
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.0b8
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: msgpack<=1.0.7,>=1.0.3
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 of files/chunks index data
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 rcreate --help`` for encryption options)::
151
+ Create a new backup repository (see ``borg repo-create --help`` for encryption options)::
150
152
 
151
- $ borg rcreate -e repokey-aes-ocb
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 of files/chunks index data
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 rcreate --help`` for encryption options)::
125
+ Create a new backup repository (see ``borg repo-create --help`` for encryption options)::
121
126
 
122
- $ borg rcreate -e repokey-aes-ocb
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, unblocking future
25
- improvements, getting rid of legacy crap / design limitations, having less and
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.1/1.2 repos to
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 rcreate # "repo create", was: borg init
62
- - borg rlist # "repo list"
63
- - borg rinfo # "repo info"
64
- - borg rdelete # "repo delete"
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.0b8 (2024-02-20)
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 (see :ref:`disable_archive_chunks`)
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 --checkpoint-interval 86400"
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/backup/autoeject-no``)
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/backup/backup.disks`` file.
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/backup/backup.disks``. The UUID check is a safety / annoyance-reduction
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.
@@ -14,3 +14,4 @@ This chapter details deployment strategies for the following scenarios.
14
14
  deployment/automated-local
15
15
  deployment/image-backup
16
16
  deployment/pull-backup
17
+ deployment/non-root-user