borgbackup 2.0.0b10__tar.gz → 2.0.0b12__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 (420) hide show
  1. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/CHANGES.rst +123 -26
  2. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/PKG-INFO +2 -2
  3. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/changes.rst +123 -26
  4. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/deployment/central-backup-server.rst +4 -4
  5. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/deployment/image-backup.rst +6 -6
  6. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/faq.rst +30 -40
  7. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/installation.rst +2 -1
  8. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/internals/data-structures.rst +8 -6
  9. borgbackup-2.0.0b12/docs/man/borg-analyze.1 +91 -0
  10. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-benchmark-cpu.1 +1 -1
  11. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-benchmark-crud.1 +1 -1
  12. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-benchmark.1 +1 -1
  13. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-break-lock.1 +1 -1
  14. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-check.1 +3 -3
  15. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-common.1 +1 -1
  16. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-compact.1 +1 -1
  17. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-compression.1 +1 -1
  18. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-create.1 +12 -17
  19. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-delete.1 +15 -6
  20. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-diff.1 +1 -1
  21. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-export-tar.1 +1 -1
  22. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-extract.1 +1 -1
  23. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-import-tar.1 +3 -3
  24. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-info.1 +13 -7
  25. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-key-change-location.1 +1 -1
  26. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-key-change-passphrase.1 +1 -1
  27. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-key-export.1 +1 -1
  28. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-key-import.1 +1 -1
  29. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-key.1 +1 -1
  30. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-list.1 +1 -1
  31. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-match-archives.1 +32 -7
  32. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-mount.1 +3 -3
  33. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-patterns.1 +1 -1
  34. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-placeholders.1 +1 -1
  35. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-prune.1 +30 -13
  36. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-recreate.1 +4 -4
  37. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-rename.1 +1 -1
  38. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-repo-compress.1 +1 -1
  39. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-repo-create.1 +1 -1
  40. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-repo-delete.1 +1 -1
  41. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-repo-info.1 +1 -1
  42. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-repo-list.1 +12 -8
  43. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-repo-space.1 +1 -1
  44. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-serve.1 +1 -1
  45. borgbackup-2.0.0b12/docs/man/borg-tag.1 +98 -0
  46. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-transfer.1 +3 -3
  47. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-umount.1 +1 -1
  48. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-version.1 +1 -1
  49. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-with-lock.1 +1 -1
  50. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg.1 +27 -38
  51. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borgfs.1 +3 -3
  52. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/quickstart.rst +21 -20
  53. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/quickstart_example.rst.inc +16 -18
  54. borgbackup-2.0.0b12/docs/usage/analyze.rst +1 -0
  55. borgbackup-2.0.0b12/docs/usage/analyze.rst.inc +84 -0
  56. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/check.rst.inc +39 -39
  57. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/create.rst +8 -12
  58. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/create.rst.inc +3 -4
  59. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/delete.rst +5 -2
  60. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/delete.rst.inc +38 -32
  61. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/general/environment.rst.inc +1 -11
  62. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/general/file-systems.rst.inc +1 -1
  63. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/general/repository-urls.rst.inc +9 -2
  64. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/help.rst.inc +25 -6
  65. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/info.rst +3 -3
  66. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/info.rst.inc +36 -30
  67. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/mount.rst.inc +51 -51
  68. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/prune.rst +14 -4
  69. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/prune.rst.inc +16 -9
  70. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/recreate.rst.inc +6 -6
  71. borgbackup-2.0.0b12/docs/usage/repo-list.rst +15 -0
  72. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/repo-list.rst.inc +7 -6
  73. borgbackup-2.0.0b12/docs/usage/tag.rst +1 -0
  74. borgbackup-2.0.0b12/docs/usage/tag.rst.inc +93 -0
  75. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/tar.rst +2 -2
  76. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/transfer.rst.inc +4 -4
  77. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage.rst +3 -1
  78. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/pyproject.toml +1 -1
  79. borgbackup-2.0.0b12/requirements.d/development.lock.txt +14 -0
  80. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/requirements.d/development.txt +1 -1
  81. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/msys2-install-deps +2 -1
  82. borgbackup-2.0.0b12/src/borg/_version.py +1 -0
  83. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archive.py +77 -56
  84. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/__init__.py +12 -1
  85. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/_common.py +8 -8
  86. borgbackup-2.0.0b12/src/borg/archiver/analyze_cmd.py +135 -0
  87. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/compact_cmd.py +76 -72
  88. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/create_cmd.py +5 -9
  89. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/debug_cmd.py +31 -41
  90. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/delete_cmd.py +17 -8
  91. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/diff_cmd.py +6 -5
  92. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/help_cmd.py +26 -7
  93. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/info_cmd.py +13 -5
  94. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/list_cmd.py +4 -2
  95. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/prune_cmd.py +16 -9
  96. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/recreate_cmd.py +14 -11
  97. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/repo_compress_cmd.py +13 -19
  98. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/repo_list_cmd.py +6 -3
  99. borgbackup-2.0.0b12/src/borg/archiver/tag_cmd.py +95 -0
  100. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/transfer_cmd.py +30 -16
  101. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/cache.py +273 -184
  102. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/checksums.c +9 -1
  103. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/compress.c +12 -1
  104. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/constants.py +10 -2
  105. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/crypto/low_level.c +11 -1
  106. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/fuse.py +7 -7
  107. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/__init__.py +1 -1
  108. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/msgpack.py +1 -1
  109. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/parseformat.py +26 -8
  110. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/item.c +1993 -1955
  111. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/item.pyi +8 -0
  112. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/item.pyx +3 -0
  113. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/manifest.py +179 -71
  114. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/remote.py +1 -0
  115. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/repository.py +55 -14
  116. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/storelocking.py +54 -30
  117. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/__init__.py +2 -1
  118. borgbackup-2.0.0b12/src/borg/testsuite/archiver/analyze_cmd.py +41 -0
  119. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/check_cmd.py +10 -26
  120. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/corruption.py +0 -21
  121. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/create_cmd.py +16 -77
  122. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/extract_cmd.py +2 -2
  123. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/info_cmd.py +1 -0
  124. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/recreate_cmd.py +0 -13
  125. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/repo_compress_cmd.py +19 -25
  126. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/repo_list_cmd.py +11 -6
  127. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/return_codes.py +0 -3
  128. borgbackup-2.0.0b12/src/borg/testsuite/archiver/tag_cmd.py +32 -0
  129. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/transfer_cmd.py +5 -1
  130. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/cache.py +10 -9
  131. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/conftest.py +1 -1
  132. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/helpers.py +8 -0
  133. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/storelocking.py +1 -1
  134. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/upgrade.py +1 -0
  135. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borgbackup.egg-info/PKG-INFO +2 -2
  136. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borgbackup.egg-info/SOURCES.txt +10 -0
  137. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borgbackup.egg-info/requires.txt +1 -1
  138. borgbackup-2.0.0b10/docs/usage/repo-list.rst +0 -13
  139. borgbackup-2.0.0b10/requirements.d/development.lock.txt +0 -14
  140. borgbackup-2.0.0b10/src/borg/_version.py +0 -1
  141. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/.coveragerc +0 -0
  142. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/.git-blame-ignore-revs +0 -0
  143. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/.pre-commit-config.yaml +0 -0
  144. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/.readthedocs.yaml +0 -0
  145. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/AUTHORS +0 -0
  146. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/Brewfile +0 -0
  147. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/LICENSE +0 -0
  148. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/MANIFEST.in +0 -0
  149. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/README.rst +0 -0
  150. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/SECURITY.md +0 -0
  151. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/3rd_party/README +0 -0
  152. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/Makefile +0 -0
  153. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/_static/Makefile +0 -0
  154. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/_static/favicon.ico +0 -0
  155. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/_static/logo.pdf +0 -0
  156. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/_static/logo.png +0 -0
  157. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/_static/logo.svg +0 -0
  158. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/_static/logo_font.txt +0 -0
  159. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/_templates/globaltoc.html +0 -0
  160. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/_templates/logo-text.html +0 -0
  161. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/authors.rst +0 -0
  162. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/binaries/00_README.txt +0 -0
  163. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/book.rst +0 -0
  164. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/borg_theme/css/borg.css +0 -0
  165. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/changes_0.x.rst +0 -0
  166. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/changes_1.x.rst +0 -0
  167. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/conf.py +0 -0
  168. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/deployment/automated-local.rst +0 -0
  169. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/deployment/hosting-repositories.rst +0 -0
  170. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/deployment/non-root-user.rst +0 -0
  171. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/deployment/pull-backup.rst +0 -0
  172. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/deployment.rst +0 -0
  173. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/development.rst +0 -0
  174. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/global.rst.inc +0 -0
  175. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/index.rst +0 -0
  176. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/internals/encryption-aead.odg +0 -0
  177. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/internals/encryption-aead.png +0 -0
  178. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/internals/frontends.rst +0 -0
  179. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/internals/object-graph.odg +0 -0
  180. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/internals/object-graph.png +0 -0
  181. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/internals/security.rst +0 -0
  182. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/internals/structure.odg +0 -0
  183. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/internals/structure.png +0 -0
  184. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/internals.rst +0 -0
  185. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/introduction.rst +0 -0
  186. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-change-passphrase.1 +0 -0
  187. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-config.1 +0 -0
  188. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-key-change-algorithm.1 +0 -0
  189. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-key-migrate-to-repokey.1 +0 -0
  190. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man/borg-upgrade.1 +0 -0
  191. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/man_intro.rst +0 -0
  192. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/asciinema/README +0 -0
  193. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/asciinema/Vagrantfile +0 -0
  194. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/asciinema/advanced.json +0 -0
  195. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/asciinema/advanced.tcl +0 -0
  196. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/asciinema/basic.json +0 -0
  197. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/asciinema/basic.tcl +0 -0
  198. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/asciinema/install.json +0 -0
  199. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/asciinema/install.tcl +0 -0
  200. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/asciinema/sample-wallpapers.txt +0 -0
  201. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/benchmark-crud.txt +0 -0
  202. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/borg-data-flow.odg +0 -0
  203. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/borg-data-flow.png +0 -0
  204. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/create_chunker-params.txt +0 -0
  205. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/internals-picture.txt +0 -0
  206. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/logging.conf +0 -0
  207. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/misc/prune-example.txt +0 -0
  208. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/support.rst +0 -0
  209. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/benchmark.rst +0 -0
  210. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/benchmark_cpu.rst.inc +0 -0
  211. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/benchmark_crud.rst.inc +0 -0
  212. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/borgfs.rst +0 -0
  213. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/borgfs.rst.inc +0 -0
  214. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/break-lock.rst.inc +0 -0
  215. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/change-passphrase.rst.inc +0 -0
  216. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/check.rst +0 -0
  217. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/common-options.rst.inc +0 -0
  218. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/compact.rst +0 -0
  219. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/compact.rst.inc +0 -0
  220. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/debug.rst +0 -0
  221. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/diff.rst +0 -0
  222. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/diff.rst.inc +0 -0
  223. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/export-tar.rst.inc +0 -0
  224. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/extract.rst +0 -0
  225. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/extract.rst.inc +0 -0
  226. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/general/date-time.rst.inc +0 -0
  227. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/general/file-metadata.rst.inc +0 -0
  228. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/general/logging.rst.inc +0 -0
  229. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/general/positional-arguments.rst.inc +0 -0
  230. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/general/repository-locations.rst.inc +0 -0
  231. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/general/resources.rst.inc +0 -0
  232. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/general/return-codes.rst.inc +0 -0
  233. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/general/units.rst.inc +0 -0
  234. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/general.rst +0 -0
  235. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/help.rst +0 -0
  236. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/import-tar.rst.inc +0 -0
  237. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/key.rst +0 -0
  238. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/key_change-location.rst.inc +0 -0
  239. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/key_change-passphrase.rst.inc +0 -0
  240. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/key_export.rst.inc +0 -0
  241. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/key_import.rst.inc +0 -0
  242. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/list.rst +0 -0
  243. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/list.rst.inc +0 -0
  244. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/lock.rst +0 -0
  245. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/mount.rst +0 -0
  246. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/notes.rst +0 -0
  247. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/recreate.rst +0 -0
  248. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/rename.rst +0 -0
  249. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/rename.rst.inc +0 -0
  250. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/repo-compress.rst +0 -0
  251. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/repo-compress.rst.inc +0 -0
  252. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/repo-create.rst +0 -0
  253. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/repo-create.rst.inc +0 -0
  254. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/repo-delete.rst +0 -0
  255. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/repo-delete.rst.inc +0 -0
  256. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/repo-info.rst +0 -0
  257. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/repo-info.rst.inc +0 -0
  258. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/repo-space.rst +0 -0
  259. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/repo-space.rst.inc +0 -0
  260. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/serve.rst +0 -0
  261. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/serve.rst.inc +0 -0
  262. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/transfer.rst +0 -0
  263. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/umount.rst.inc +0 -0
  264. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/usage_general.rst.inc +0 -0
  265. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/version.rst +0 -0
  266. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/version.rst.inc +0 -0
  267. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage/with-lock.rst.inc +0 -0
  268. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/docs/usage_general.rst.inc +0 -0
  269. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/requirements.d/codestyle.txt +0 -0
  270. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/requirements.d/docs.txt +0 -0
  271. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/borg.exe.spec +0 -0
  272. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/errorlist.py +0 -0
  273. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/fetch-binaries +0 -0
  274. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/glibc_check.py +0 -0
  275. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/hash_sizes.py +0 -0
  276. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/make-testdata/test_transfer_upgrade.sh +0 -0
  277. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/make.py +0 -0
  278. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/sdist-sign +0 -0
  279. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/shell_completions/bash/borg +0 -0
  280. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/shell_completions/fish/borg.fish +0 -0
  281. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/shell_completions/zsh/_borg +0 -0
  282. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/sign-binaries +0 -0
  283. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/scripts/upload-pypi +0 -0
  284. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/setup.cfg +0 -0
  285. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/setup.py +0 -0
  286. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/__init__.py +0 -0
  287. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/__main__.py +0 -0
  288. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/_chunker.c +0 -0
  289. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/_endian.h +0 -0
  290. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/_hashindex.c +0 -0
  291. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/_item.c +0 -0
  292. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/benchmark_cmd.py +0 -0
  293. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/check_cmd.py +0 -0
  294. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/extract_cmd.py +0 -0
  295. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/key_cmds.py +0 -0
  296. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/lock_cmds.py +0 -0
  297. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/mount_cmds.py +0 -0
  298. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/rename_cmd.py +0 -0
  299. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/repo_create_cmd.py +0 -0
  300. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/repo_delete_cmd.py +0 -0
  301. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/repo_info_cmd.py +0 -0
  302. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/repo_space_cmd.py +0 -0
  303. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/serve_cmd.py +0 -0
  304. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/tar_cmds.py +0 -0
  305. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/archiver/version_cmd.py +0 -0
  306. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/checksums.pyi +0 -0
  307. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/checksums.pyx +0 -0
  308. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/chunker.c +0 -0
  309. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/chunker.pyi +0 -0
  310. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/chunker.pyx +0 -0
  311. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/compress.pyi +0 -0
  312. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/compress.pyx +0 -0
  313. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/crypto/__init__.py +0 -0
  314. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/crypto/file_integrity.py +0 -0
  315. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/crypto/key.py +0 -0
  316. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/crypto/keymanager.py +0 -0
  317. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/crypto/low_level.pyx +0 -0
  318. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/fslocking.py +0 -0
  319. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/fuse_impl.py +0 -0
  320. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/hashindex.c +0 -0
  321. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/hashindex.pyi +0 -0
  322. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/hashindex.pyx +0 -0
  323. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/checks.py +0 -0
  324. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/datastruct.py +0 -0
  325. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/errors.py +0 -0
  326. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/fs.py +0 -0
  327. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/lrucache.py +0 -0
  328. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/misc.py +0 -0
  329. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/nanorst.py +0 -0
  330. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/passphrase.py +0 -0
  331. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/process.py +0 -0
  332. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/progress.py +0 -0
  333. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/shellpattern.py +0 -0
  334. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/time.py +0 -0
  335. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/helpers/yes_no.py +0 -0
  336. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/legacyremote.py +0 -0
  337. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/legacyrepository.py +0 -0
  338. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/logger.py +0 -0
  339. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/paperkey.html +0 -0
  340. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/patterns.py +0 -0
  341. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/__init__.py +0 -0
  342. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/base.py +0 -0
  343. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/darwin.c +0 -0
  344. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/darwin.pyx +0 -0
  345. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/freebsd.c +0 -0
  346. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/freebsd.pyx +0 -0
  347. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/linux.c +0 -0
  348. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/linux.pyx +0 -0
  349. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/posix.c +0 -0
  350. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/posix.pyx +0 -0
  351. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/syncfilerange.c +0 -0
  352. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/syncfilerange.pyx +0 -0
  353. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/windows.c +0 -0
  354. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/windows.pyx +0 -0
  355. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platform/xattr.py +0 -0
  356. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/platformflags.py +0 -0
  357. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/repoobj.py +0 -0
  358. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/selftest.py +0 -0
  359. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/__init__.py +0 -0
  360. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archive.py +0 -0
  361. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/argparsing.py +0 -0
  362. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/benchmark_cmd.py +0 -0
  363. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/checks.py +0 -0
  364. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/compact_cmd.py +0 -0
  365. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/debug_cmds.py +0 -0
  366. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/delete_cmd.py +0 -0
  367. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/diff_cmd.py +0 -0
  368. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/disk_full.py +0 -0
  369. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/dotdot_path.tar +0 -0
  370. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/help_cmd.py +0 -0
  371. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/key_cmds.py +0 -0
  372. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/list_cmd.py +0 -0
  373. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/lock_cmds.py +0 -0
  374. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/mount_cmds.py +0 -0
  375. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/patterns.py +0 -0
  376. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/prune_cmd.py +0 -0
  377. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/rename_cmd.py +0 -0
  378. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/repo12.tar.gz +0 -0
  379. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/repo_create_cmd.py +0 -0
  380. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/repo_delete_cmd.py +0 -0
  381. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/repo_info_cmd.py +0 -0
  382. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/serve_cmd.py +0 -0
  383. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/tar_cmds.py +0 -0
  384. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/archiver/unusual_paths.tar +0 -0
  385. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/benchmark.py +0 -0
  386. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/checksums.py +0 -0
  387. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/chunker.py +0 -0
  388. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/chunker_pytest.py +0 -0
  389. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/chunker_slow.py +0 -0
  390. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/compress.py +0 -0
  391. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/crypto.py +0 -0
  392. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/efficient_collection_queue.py +0 -0
  393. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/file_integrity.py +0 -0
  394. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/fslocking.py +0 -0
  395. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/hashindex.py +0 -0
  396. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/hashindex_pytest.py +0 -0
  397. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/item.py +0 -0
  398. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/key.py +0 -0
  399. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/legacyrepository.py +0 -0
  400. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/logger.py +0 -0
  401. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/lrucache.py +0 -0
  402. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/nanorst.py +0 -0
  403. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/patterns.py +0 -0
  404. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/platform.py +0 -0
  405. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/platform_darwin.py +0 -0
  406. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/platform_freebsd.py +0 -0
  407. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/platform_linux.py +0 -0
  408. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/platform_posix.py +0 -0
  409. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/remote.py +0 -0
  410. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/repoobj.py +0 -0
  411. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/repository.py +0 -0
  412. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/shellpattern.py +0 -0
  413. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/version.py +0 -0
  414. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/testsuite/xattr.py +0 -0
  415. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/version.py +0 -0
  416. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borg/xattr.py +0 -0
  417. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borgbackup.egg-info/dependency_links.txt +0 -0
  418. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borgbackup.egg-info/entry_points.txt +0 -0
  419. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/src/borgbackup.egg-info/top_level.txt +0 -0
  420. {borgbackup-2.0.0b10 → borgbackup-2.0.0b12}/tox.ini +0 -0
@@ -42,17 +42,23 @@ Compatibility notes:
42
42
  - ssh:// URLs: removed support for /~otheruser/, #6855.
43
43
  If you used this, just replace it by: ssh://user@host:port/home/otheruser/
44
44
  - -P / --prefix option was removed, please use the similar -a / --match-archives.
45
- - the archive name is always given separately from the repository
45
+ - archive names don't need to be unique anymore. to the contrary:
46
+ it is now strongly recommended to use the identical name for borg create
47
+ within the same series of archives to make borg work more efficiently.
48
+ the name now identifies a series of archive, to identify a single archive
49
+ please use aid:<archive-hash-prefix>, e.g.: borg delete aid:d34db33f
50
+ - the archive id is always given separately from the repository
46
51
  (differently than with borg 1.x you must not give repo::archive).
47
- - the archive name is either given as a positional parameter, like:
52
+ - the series name or archive id is either given as a positional parameter,
53
+ like:
48
54
 
49
- - borg create myarchive2 /some/path
50
- - borg diff myarchive1 myarchive2
55
+ - borg create documents ~/Documents
56
+ - borg diff aid:deadbeef aid:d34db33f
51
57
  - or, if the command makes sense for an arbitrary amount of archives, archives
52
58
  can be selected using a glob pattern, like:
53
59
 
54
- - borg delete -a 'sh:myarchive*'
55
- - borg recreate -a 'sh:myarchive*'
60
+ - borg delete -a 'sh:myarchive-2024-??-??'
61
+ - borg recreate -a 'sh:myarchive-2024-??-??'
56
62
  - some borg 1.x commands that supported working on a repo AND on an archive
57
63
  were split into 2 commands, some others were renamed:
58
64
 
@@ -66,15 +72,15 @@ Compatibility notes:
66
72
  - borg repo-space
67
73
  - borg 2 archive commands:
68
74
 
69
- - borg create ARCHIVE ...
70
- - borg list ARCHIVE
71
- - borg extract ARCHIVE ...
72
- - borg diff ARCH1 ARCH2
73
- - borg rename OLDNAME NEWNAME
74
- - borg info -a ARCH_GLOB
75
- - borg delete -a ARCH_GLOB
76
- - borg recreate -a ARCH_GLOB ...
77
- - borg mount -a ARCH_GLOB mountpoint ...
75
+ - borg create NAME ...
76
+ - borg list ID
77
+ - borg extract ID ...
78
+ - borg diff ID1 ID2
79
+ - borg rename ID NEWNAME
80
+ - borg info ID
81
+ - borg delete ID
82
+ - borg recreate ID ...
83
+ - borg mount -a ID mountpoint ...
78
84
 
79
85
  For more details, please consult the docs or --help option output.
80
86
  - create/recreate/import-tar --timestamp: defaults to local timezone
@@ -98,8 +104,8 @@ Compatibility notes:
98
104
 
99
105
  So you might need to edit your scripts like e.g.::
100
106
 
101
- borg 1.x: --glob-archives 'myserver-*'
102
- borg 2.0: --match-archives 'sh:myserver-*'
107
+ borg 1.x: --glob-archives 'myserver-2024-*'
108
+ borg 2.0: --match-archives 'sh:myserver-2024-*'
103
109
 
104
110
  - use platformdirs 3.x.x instead of home-grown code. Due to that:
105
111
 
@@ -123,24 +129,115 @@ Compatibility notes:
123
129
  Change Log 2.x
124
130
  ==============
125
131
 
126
- Version 2.0.0b10 (2024-09-09)
132
+ Version 2.0.0b12 (2024-10-03)
127
133
  -----------------------------
128
134
 
129
135
  Please note:
130
136
 
131
- This is a beta release, only for testing - do not use for production repos.
137
+ Beta releases are only for testing on NEW repos - do not use for production.
132
138
 
133
139
  For upgrade and compatibility hints, please also read the section "Upgrade Notes"
134
140
  above.
135
141
 
136
- TL;DR: this is a huge change and the first very fundamental change in how borg
137
- works since ever:
142
+ New features:
143
+
144
+ - tag: new command to set, add, remove tags.
145
+ - repo-list: add tags/hostname/username/comment to default format, reorder, adjust.
146
+
147
+ Idea: not putting these into the archive name, but keeping them separate.
148
+ - repo-list --short: only print archive IDs (unique IDs, used for scripting).
149
+ - implement --match-archives user:USERNAME host:HOSTNAME tags:TAG1,TAG2,...
150
+ - allow -a / --match-archives multiple times (logical AND).
151
+
152
+ E.g.: borg delete -a home -a user:kenny -a host:kenny-pc
153
+ - analyze: list changed chunks' sizes per directory.
154
+
155
+ Fixes:
156
+
157
+ - locking: also refresh the lock in other repo methods. avoid repo lock
158
+ getting stale when processing lots of unchanged files, #8442.
159
+ - make sure the store gets closed in case of exceptions, #8413.
160
+ - msgpack: increase max_buffer_size to ~4GiB, #8440.
161
+ - Location.canonical_path: fix protocol and host display, #8446.
162
+
163
+ Other changes:
164
+
165
+ - give borgstore.Store a complete levels configuration, #8432.
166
+ - add BORG_STORE_DATA_LEVELS=2 env var.
167
+ - check: also display archive timestamp.
168
+ - vagrant:
169
+
170
+ - use python 3.12.6 for binary builds.
171
+ - new testing box based on bento/ubuntu-24.04.
172
+ - install Rust on BSD.
173
+
174
+
175
+ Version 2.0.0b11 (2024-09-26)
176
+ -----------------------------
177
+
178
+ New features:
138
179
 
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.
180
+ - Support rclone:// URLs for borg repositories.
181
+
182
+ This enables 70+ cloud storage products, including Amazon S3, Backblaze B2,
183
+ Ceph, Dropbox, ftp(s), Google Cloud Storage, Google Drive, Microsoft Azure,
184
+ Microsoft OneDrive, OpenStack Swift, pCloud, Seafile, sftp, SMB / CIFS and
185
+ WebDAV!
186
+
187
+ See https://rclone.org/ for more details.
188
+ - Parallel operations in same repo from same client (same user/machine).
189
+ - Archive series feature, #7930.
190
+
191
+ TL;DR: a NAME now identifies a series of identically named archives,
192
+ to identify a specific single archive, use aid:<archive hash>.
193
+
194
+ in borg 1.x, we used to put a timestamp into the archive name, because borg1
195
+ required unique archive names.
196
+
197
+ borg2 does not require unique archive names, but it encourages you to even
198
+ use a identical archive names within the same SERIES of archives, e.g. you
199
+ could backup user files to archives named "user-files" and system files to
200
+ archives named "system-files".
201
+ that makes matching (e.g. for prune, for the files cache, ...) much simpler
202
+ and borg now KNOWS which archives belong to the same series (because they all
203
+ have the same name).
204
+ - info/delete/prune: allow positional NAME argument, e.g.:
205
+
206
+ - borg prune --keep-daily 30 <seriesname>
207
+ - borg delete aid:<archive hash>
208
+ - create: also archive inode number, #8362
209
+
210
+ Borg can use this when using archive series to rebuild the local files cache
211
+ from the previous archive (of the same series) in the repository.
212
+
213
+ Fixes:
214
+
215
+ - Remove superfluous repository.list() call. for high latency repos
216
+ (like sftp, cloud), this improves performance of borg check and compact.
217
+ - repository.list: refresh lock more frequently
218
+ - misc. commands fixed for non-unique archive names
219
+ - remote: allow get_manifest method
220
+ - files cache: fix rare race condition with data loss potential, #3536
221
+ - storelocking: misc. fixes / cleanups
222
+
223
+ Other changes:
224
+
225
+ - Cache the chunks index in the repository, #8397.
226
+ Improves high latency repo performance for most commands compared to b10.
227
+ - repo-compress: faster by using chunks index rather than repository.list().
228
+ - Files cache entries now have both ctime AND mtime.
229
+ - Borg updates the ctime and mtime of known and "unchanged" files, #4915.
230
+ - Rebuild files cache from previous archive in same series, #8385.
231
+ - Reduce RAM usage by splitting the files cache by archive series, #5658.
232
+ - Remove AdHocCache, remove BORG_CACHE_IMPL (we only have one implementation).
233
+ - Docs: user@ and :port are optional in sftp and ssh URLs.
234
+ - CI: re-enable windows build after fixing it.
235
+ - Upgrade pyinstaller to 6.10.0.
236
+ - Increase IDS_PER_CHUNK, #6945.
237
+
238
+
239
+ Version 2.0.0b10 (2024-09-09)
240
+ -----------------------------
144
241
 
145
242
  New features:
146
243
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: borgbackup
3
- Version: 2.0.0b10
3
+ Version: 2.0.0b12
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>
@@ -32,7 +32,7 @@ Classifier: Topic :: System :: Archiving :: Backup
32
32
  Requires-Python: >=3.9
33
33
  License-File: LICENSE
34
34
  License-File: AUTHORS
35
- Requires-Dist: borgstore~=0.0.1
35
+ Requires-Dist: borgstore~=0.0.4
36
36
  Requires-Dist: msgpack<=1.1.0,>=1.0.3
37
37
  Requires-Dist: packaging
38
38
  Requires-Dist: platformdirs<5.0.0,>=3.0.0; sys_platform == "darwin"
@@ -42,17 +42,23 @@ Compatibility notes:
42
42
  - ssh:// URLs: removed support for /~otheruser/, #6855.
43
43
  If you used this, just replace it by: ssh://user@host:port/home/otheruser/
44
44
  - -P / --prefix option was removed, please use the similar -a / --match-archives.
45
- - the archive name is always given separately from the repository
45
+ - archive names don't need to be unique anymore. to the contrary:
46
+ it is now strongly recommended to use the identical name for borg create
47
+ within the same series of archives to make borg work more efficiently.
48
+ the name now identifies a series of archive, to identify a single archive
49
+ please use aid:<archive-hash-prefix>, e.g.: borg delete aid:d34db33f
50
+ - the archive id is always given separately from the repository
46
51
  (differently than with borg 1.x you must not give repo::archive).
47
- - the archive name is either given as a positional parameter, like:
52
+ - the series name or archive id is either given as a positional parameter,
53
+ like:
48
54
 
49
- - borg create myarchive2 /some/path
50
- - borg diff myarchive1 myarchive2
55
+ - borg create documents ~/Documents
56
+ - borg diff aid:deadbeef aid:d34db33f
51
57
  - or, if the command makes sense for an arbitrary amount of archives, archives
52
58
  can be selected using a glob pattern, like:
53
59
 
54
- - borg delete -a 'sh:myarchive*'
55
- - borg recreate -a 'sh:myarchive*'
60
+ - borg delete -a 'sh:myarchive-2024-??-??'
61
+ - borg recreate -a 'sh:myarchive-2024-??-??'
56
62
  - some borg 1.x commands that supported working on a repo AND on an archive
57
63
  were split into 2 commands, some others were renamed:
58
64
 
@@ -66,15 +72,15 @@ Compatibility notes:
66
72
  - borg repo-space
67
73
  - borg 2 archive commands:
68
74
 
69
- - borg create ARCHIVE ...
70
- - borg list ARCHIVE
71
- - borg extract ARCHIVE ...
72
- - borg diff ARCH1 ARCH2
73
- - borg rename OLDNAME NEWNAME
74
- - borg info -a ARCH_GLOB
75
- - borg delete -a ARCH_GLOB
76
- - borg recreate -a ARCH_GLOB ...
77
- - borg mount -a ARCH_GLOB mountpoint ...
75
+ - borg create NAME ...
76
+ - borg list ID
77
+ - borg extract ID ...
78
+ - borg diff ID1 ID2
79
+ - borg rename ID NEWNAME
80
+ - borg info ID
81
+ - borg delete ID
82
+ - borg recreate ID ...
83
+ - borg mount -a ID mountpoint ...
78
84
 
79
85
  For more details, please consult the docs or --help option output.
80
86
  - create/recreate/import-tar --timestamp: defaults to local timezone
@@ -98,8 +104,8 @@ Compatibility notes:
98
104
 
99
105
  So you might need to edit your scripts like e.g.::
100
106
 
101
- borg 1.x: --glob-archives 'myserver-*'
102
- borg 2.0: --match-archives 'sh:myserver-*'
107
+ borg 1.x: --glob-archives 'myserver-2024-*'
108
+ borg 2.0: --match-archives 'sh:myserver-2024-*'
103
109
 
104
110
  - use platformdirs 3.x.x instead of home-grown code. Due to that:
105
111
 
@@ -123,24 +129,115 @@ Compatibility notes:
123
129
  Change Log 2.x
124
130
  ==============
125
131
 
126
- Version 2.0.0b10 (2024-09-09)
132
+ Version 2.0.0b12 (2024-10-03)
127
133
  -----------------------------
128
134
 
129
135
  Please note:
130
136
 
131
- This is a beta release, only for testing - do not use for production repos.
137
+ Beta releases are only for testing on NEW repos - do not use for production.
132
138
 
133
139
  For upgrade and compatibility hints, please also read the section "Upgrade Notes"
134
140
  above.
135
141
 
136
- TL;DR: this is a huge change and the first very fundamental change in how borg
137
- works since ever:
142
+ New features:
143
+
144
+ - tag: new command to set, add, remove tags.
145
+ - repo-list: add tags/hostname/username/comment to default format, reorder, adjust.
146
+
147
+ Idea: not putting these into the archive name, but keeping them separate.
148
+ - repo-list --short: only print archive IDs (unique IDs, used for scripting).
149
+ - implement --match-archives user:USERNAME host:HOSTNAME tags:TAG1,TAG2,...
150
+ - allow -a / --match-archives multiple times (logical AND).
151
+
152
+ E.g.: borg delete -a home -a user:kenny -a host:kenny-pc
153
+ - analyze: list changed chunks' sizes per directory.
154
+
155
+ Fixes:
156
+
157
+ - locking: also refresh the lock in other repo methods. avoid repo lock
158
+ getting stale when processing lots of unchanged files, #8442.
159
+ - make sure the store gets closed in case of exceptions, #8413.
160
+ - msgpack: increase max_buffer_size to ~4GiB, #8440.
161
+ - Location.canonical_path: fix protocol and host display, #8446.
162
+
163
+ Other changes:
164
+
165
+ - give borgstore.Store a complete levels configuration, #8432.
166
+ - add BORG_STORE_DATA_LEVELS=2 env var.
167
+ - check: also display archive timestamp.
168
+ - vagrant:
169
+
170
+ - use python 3.12.6 for binary builds.
171
+ - new testing box based on bento/ubuntu-24.04.
172
+ - install Rust on BSD.
173
+
174
+
175
+ Version 2.0.0b11 (2024-09-26)
176
+ -----------------------------
177
+
178
+ New features:
138
179
 
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.
180
+ - Support rclone:// URLs for borg repositories.
181
+
182
+ This enables 70+ cloud storage products, including Amazon S3, Backblaze B2,
183
+ Ceph, Dropbox, ftp(s), Google Cloud Storage, Google Drive, Microsoft Azure,
184
+ Microsoft OneDrive, OpenStack Swift, pCloud, Seafile, sftp, SMB / CIFS and
185
+ WebDAV!
186
+
187
+ See https://rclone.org/ for more details.
188
+ - Parallel operations in same repo from same client (same user/machine).
189
+ - Archive series feature, #7930.
190
+
191
+ TL;DR: a NAME now identifies a series of identically named archives,
192
+ to identify a specific single archive, use aid:<archive hash>.
193
+
194
+ in borg 1.x, we used to put a timestamp into the archive name, because borg1
195
+ required unique archive names.
196
+
197
+ borg2 does not require unique archive names, but it encourages you to even
198
+ use a identical archive names within the same SERIES of archives, e.g. you
199
+ could backup user files to archives named "user-files" and system files to
200
+ archives named "system-files".
201
+ that makes matching (e.g. for prune, for the files cache, ...) much simpler
202
+ and borg now KNOWS which archives belong to the same series (because they all
203
+ have the same name).
204
+ - info/delete/prune: allow positional NAME argument, e.g.:
205
+
206
+ - borg prune --keep-daily 30 <seriesname>
207
+ - borg delete aid:<archive hash>
208
+ - create: also archive inode number, #8362
209
+
210
+ Borg can use this when using archive series to rebuild the local files cache
211
+ from the previous archive (of the same series) in the repository.
212
+
213
+ Fixes:
214
+
215
+ - Remove superfluous repository.list() call. for high latency repos
216
+ (like sftp, cloud), this improves performance of borg check and compact.
217
+ - repository.list: refresh lock more frequently
218
+ - misc. commands fixed for non-unique archive names
219
+ - remote: allow get_manifest method
220
+ - files cache: fix rare race condition with data loss potential, #3536
221
+ - storelocking: misc. fixes / cleanups
222
+
223
+ Other changes:
224
+
225
+ - Cache the chunks index in the repository, #8397.
226
+ Improves high latency repo performance for most commands compared to b10.
227
+ - repo-compress: faster by using chunks index rather than repository.list().
228
+ - Files cache entries now have both ctime AND mtime.
229
+ - Borg updates the ctime and mtime of known and "unchanged" files, #4915.
230
+ - Rebuild files cache from previous archive in same series, #8385.
231
+ - Reduce RAM usage by splitting the files cache by archive series, #5658.
232
+ - Remove AdHocCache, remove BORG_CACHE_IMPL (we only have one implementation).
233
+ - Docs: user@ and :port are optional in sftp and ssh URLs.
234
+ - CI: re-enable windows build after fixing it.
235
+ - Upgrade pyinstaller to 6.10.0.
236
+ - Increase IDS_PER_CHUNK, #6945.
237
+
238
+
239
+ Version 2.0.0b10 (2024-09-09)
240
+ -----------------------------
144
241
 
145
242
  New features:
146
243
 
@@ -82,7 +82,7 @@ The options which are added to the key will perform the following:
82
82
  Due to the ``cd`` command we use, the server automatically changes the current
83
83
  working directory. Then client doesn't need to have knowledge of the absolute
84
84
  or relative remote repository path and can directly access the repositories at
85
- ``<user>@<host>:<repo>``.
85
+ ``ssh://<user>@<host>/./<repo>``.
86
86
 
87
87
  .. note:: The setup above ignores all client given commandline parameters
88
88
  which are normally appended to the `borg serve` command.
@@ -94,21 +94,21 @@ The client needs to initialize the `pictures` repository like this:
94
94
 
95
95
  ::
96
96
 
97
- borg init backup@backup01.srv.local:pictures
97
+ borg init ssh://backup@backup01.srv.local/./pictures
98
98
 
99
99
  Or with the full path (should actually never be used, as only for demonstration purposes).
100
100
  The server should automatically change the current working directory to the `<client fqdn>` folder.
101
101
 
102
102
  ::
103
103
 
104
- borg init backup@backup01.srv.local:/home/backup/repos/johndoe.clnt.local/pictures
104
+ borg init ssh://backup@backup01.srv.local/home/backup/repos/johndoe.clnt.local/pictures
105
105
 
106
106
  When `johndoe.clnt.local` tries to access a not restricted path the following error is raised.
107
107
  John Doe tries to back up into the Web 01 path:
108
108
 
109
109
  ::
110
110
 
111
- borg init backup@backup01.srv.local:/home/backup/repos/web01.srv.local/pictures
111
+ borg init ssh://backup@backup01.srv.local/home/backup/repos/web01.srv.local/pictures
112
112
 
113
113
  ::
114
114
 
@@ -9,8 +9,8 @@ technique makes sure only the modified parts of the file are stored. Borg also h
9
9
  optional simple sparse file support for extract.
10
10
 
11
11
  It is of utmost importancy to pin down the disk you want to backup.
12
- You need to use the SERIAL for that.
13
- Use:
12
+ You need to use the SERIAL for that.
13
+ Use:
14
14
 
15
15
  .. code-block:: bash
16
16
 
@@ -26,10 +26,10 @@ Use:
26
26
  echo "Disk Identifier: $DISK_ID"
27
27
 
28
28
  # Use the following line to perform a borg backup for the full disk:
29
- # borg create --read-special {now} "$DISK_ID"
29
+ # borg create --read-special disk-backup "$DISK_ID"
30
30
 
31
31
  # Use the following to perform a borg backup for all partitions of the disk
32
- # borg create --read-special {now} "${PARTITIONS[@]}"
32
+ # borg create --read-special partitions-backup "${PARTITIONS[@]}"
33
33
 
34
34
  # Example output:
35
35
  # Partitions of /dev/nvme1n1:
@@ -37,8 +37,8 @@ Use:
37
37
  # /dev/nvme1n1p2
38
38
  # /dev/nvme1n1p3
39
39
  # Disk Identifier: /dev/nvme1n1
40
- # borg create --read-special {now} /dev/nvme1n1
41
- # borg create --read-special {now} /dev/nvme1n1p1 /dev/nvme1n1p2 /dev/nvme1n1p3
40
+ # borg create --read-special disk-backup /dev/nvme1n1
41
+ # borg create --read-special partitions-backup /dev/nvme1n1p1 /dev/nvme1n1p2 /dev/nvme1n1p3
42
42
 
43
43
 
44
44
 
@@ -147,7 +147,7 @@ Try using ``borg mount`` and ``rsync`` (or a similar tool that supports
147
147
  resuming a partial file copy from what's already copied).
148
148
 
149
149
  How can I switch append-only mode on and off?
150
- -----------------------------------------------------------------------------------------------------------------------------------
150
+ ---------------------------------------------
151
151
 
152
152
  You could do that (via borg config REPO append_only 0/1), but using different
153
153
  ssh keys and different entries in ``authorized_keys`` is much easier and also
@@ -318,16 +318,16 @@ How do I configure different prune policies for different directories?
318
318
 
319
319
  Say you want to prune ``/var/log`` faster than the rest of
320
320
  ``/``. How do we implement that? The answer is to back up to different
321
- archive *names* and then implement different prune policies for
322
- different prefixes. For example, you could have a script that does::
321
+ archive *series* and then implement different prune policies for the
322
+ different series. For example, you could have a script that does::
323
323
 
324
- borg create --exclude var/log main-$(date +%Y-%m-%d) /
325
- borg create logs-$(date +%Y-%m-%d) /var/log
324
+ borg create --exclude var/log main /
325
+ borg create logs /var/log
326
326
 
327
327
  Then you would have two different prune calls with different policies::
328
328
 
329
- borg prune --verbose --list -d 30 -a 'sh:main-*'
330
- borg prune --verbose --list -d 7 -a 'sh:logs-*'
329
+ borg prune --verbose --list -d 30 main
330
+ borg prune --verbose --list -d 7 logs
331
331
 
332
332
  This will keep 7 days of logs and 30 days of everything else.
333
333
 
@@ -357,6 +357,17 @@ to change them.
357
357
 
358
358
  Use ``borg repo-compress`` to efficiently recompress a complete repository.
359
359
 
360
+ Why is backing up an unmodified FAT filesystem slow on Linux?
361
+ -------------------------------------------------------------
362
+
363
+ By default, the files cache used by BorgBackup considers the inode of files.
364
+ When an inode number changes compared to the last backup, it hashes the file
365
+ again. The ``vfat`` kernel driver does not produce stable inode numbers by
366
+ default. One way to achieve stable inode numbering is mounting the filesystem
367
+ using ``nfs=nostale_ro``. Doing so implies mounting the filesystem read-only.
368
+ Another option is to not consider inode numbers in the files cache by passing
369
+ ``--files-cache=ctime,size``.
370
+
360
371
  Security
361
372
  ########
362
373
 
@@ -837,50 +848,29 @@ already used.
837
848
  By default, ctime (change time) is used for the timestamps to have a rather
838
849
  safe change detection (see also the --files-cache option).
839
850
 
840
- Furthermore, pathnames recorded in files cache are always absolute, even if you
841
- specify source directories with relative pathname. If relative pathnames are
842
- stable, but absolute are not (for example if you mount a filesystem without
843
- stable mount points for each backup or if you are running the backup from a
844
- filesystem snapshot whose name is not stable), borg will assume that files are
845
- different and will report them as 'added', even though no new chunks will be
846
- actually recorded for them. To avoid this, you could bind mount your source
847
- directory in a directory with the stable path.
851
+ Furthermore, pathnames used as key into the files cache are **as archived**,
852
+ so make sure these are always the same (see ``borg list``).
848
853
 
849
854
  .. _always_chunking:
850
855
 
851
856
  It always chunks all my files, even unchanged ones!
852
857
  ---------------------------------------------------
853
858
 
854
- Borg maintains a files cache where it remembers the timestamp, size and
859
+ Borg maintains a files cache where it remembers the timestamps, size and
855
860
  inode of files. When Borg does a new backup and starts processing a
856
861
  file, it first looks whether the file has changed (compared to the values
857
862
  stored in the files cache). If the values are the same, the file is assumed
858
863
  unchanged and thus its contents won't get chunked (again).
859
864
 
860
- Borg can't keep an infinite history of files of course, thus entries
861
- in the files cache have a "maximum time to live" which is set via the
862
- environment variable BORG_FILES_CACHE_TTL (and defaults to 20).
863
- Every time you do a backup (on the same machine, using the same user), the
864
- cache entries' ttl values of files that were not "seen" are incremented by 1
865
- and if they reach BORG_FILES_CACHE_TTL, the entry is removed from the cache.
866
-
867
- So, for example, if you do daily backups of 26 different data sets A, B,
868
- C, ..., Z on one machine (using the default TTL), the files from A will be
869
- already forgotten when you repeat the same backups on the next day and it
870
- will be slow because it would chunk all the files each time. If you set
871
- BORG_FILES_CACHE_TTL to at least 26 (or maybe even a small multiple of that),
872
- it would be much faster.
873
-
874
- Besides using a higher BORG_FILES_CACHE_TTL (which also increases memory usage),
875
- there is also BORG_FILES_CACHE_SUFFIX which can be used to have separate (smaller)
876
- files caches for each backup set instead of the default one (big) unified files cache.
877
-
878
- Another possible reason is that files don't always have the same path, for
879
- example if you mount a filesystem without stable mount points for each backup
880
- or if you are running the backup from a filesystem snapshot whose name is not
881
- stable. If the directory where you mount a filesystem is different every time,
882
- Borg assumes they are different files. This is true even if you back up these
883
- files with relative pathnames - borg uses full pathnames in files cache regardless.
865
+ The files cache is stored separately (using a different filename suffix) per
866
+ archive series, thus using always the same name for the archive is strongly
867
+ recommended. The "rebuild files cache from previous archive in repo" feature
868
+ also depends on that.
869
+ Alternatively, there is also BORG_FILES_CACHE_SUFFIX which can be used to
870
+ manually set a custom suffix (if you can't just use the same archive name).
871
+
872
+ Another possible reason is that files don't always have the same path -
873
+ borg uses the paths as seen in the archive when using ``borg list``.
884
874
 
885
875
  It is possible for some filesystems, such as ``mergerfs`` or network filesystems,
886
876
  to return inconsistent inode numbers across runs, causing borg to consider them changed.
@@ -350,7 +350,8 @@ Ensure to install the dependencies as described within :ref:`Dependencies: Windo
350
350
 
351
351
  ::
352
352
 
353
- export SETUPTOOLS_USE_DISTUTILS=stdlib # Needed for pip to work - https://www.msys2.org/docs/python/#known-issues
353
+ # Needed for setuptools < 70.2.0 to work - https://www.msys2.org/docs/python/#known-issues
354
+ # export SETUPTOOLS_USE_DISTUTILS=stdlib
354
355
  pip install -e .
355
356
  pyinstaller -y scripts/borg.exe.spec
356
357
 
@@ -474,18 +474,20 @@ guess what files you have based on a specific set of chunk sizes).
474
474
  The cache
475
475
  ---------
476
476
 
477
- The **files cache** is stored in ``cache/files`` and is used at backup time to
478
- quickly determine whether a given file is unchanged and we have all its chunks.
477
+ The **files cache** is stored in ``cache/files.<SUFFIX>`` and is used at backup
478
+ time to quickly determine whether a given file is unchanged and we have all its
479
+ chunks.
479
480
 
480
481
  In memory, the files cache is a key -> value mapping (a Python *dict*) and contains:
481
482
 
482
- * key: id_hash of the encoded, absolute file path
483
+ * key: id_hash of the encoded path (same path as seen in archive)
483
484
  * value:
484
485
 
486
+ - age (0 [newest], ..., BORG_FILES_CACHE_TTL - 1)
485
487
  - file inode number
486
488
  - file size
487
- - file ctime_ns (or mtime_ns)
488
- - age (0 [newest], 1, 2, 3, ..., BORG_FILES_CACHE_TTL - 1)
489
+ - file ctime_ns
490
+ - file mtime_ns
489
491
  - list of chunk (id, size) tuples representing the file's contents
490
492
 
491
493
  To determine whether a file has not changed, cached values are looked up via
@@ -514,7 +516,7 @@ be told to ignore the inode number in the check via --files-cache.
514
516
  The age value is used for cache management. If a file is "seen" in a backup
515
517
  run, its age is reset to 0, otherwise its age is incremented by one.
516
518
  If a file was not seen in BORG_FILES_CACHE_TTL backups, its cache entry is
517
- removed. See also: :ref:`always_chunking` and :ref:`a_status_oddity`
519
+ removed.
518
520
 
519
521
  The files cache is a python dictionary, storing python objects, which
520
522
  generates a lot of overhead.