borgbackup 1.4.2__tar.gz → 1.4.3__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 (326) hide show
  1. {borgbackup-1.4.2 → borgbackup-1.4.3}/CHANGES.rst +37 -1
  2. {borgbackup-1.4.2 → borgbackup-1.4.3}/PKG-INFO +2 -3
  3. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/binaries/00_README.txt +24 -5
  4. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/changes.rst +37 -1
  5. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/development.rst +16 -12
  6. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/faq.rst +8 -10
  7. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/installation.rst +4 -4
  8. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-benchmark-crud.1 +1 -1
  9. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-benchmark.1 +1 -1
  10. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-break-lock.1 +1 -1
  11. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-check.1 +1 -1
  12. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-common.1 +1 -1
  13. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-compact.1 +1 -1
  14. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-compression.1 +1 -1
  15. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-config.1 +1 -1
  16. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-create.1 +1 -1
  17. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-delete.1 +1 -1
  18. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-diff.1 +1 -1
  19. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-export-tar.1 +1 -1
  20. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-extract.1 +1 -1
  21. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-import-tar.1 +1 -1
  22. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-info.1 +1 -1
  23. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-init.1 +1 -1
  24. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-key-change-passphrase.1 +1 -1
  25. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-key-export.1 +1 -1
  26. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-key-import.1 +1 -1
  27. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-key-migrate-to-repokey.1 +1 -1
  28. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-key.1 +1 -1
  29. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-list.1 +2 -2
  30. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-mount.1 +1 -1
  31. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-patterns.1 +1 -1
  32. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-placeholders.1 +3 -3
  33. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-prune.1 +1 -1
  34. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-recreate.1 +1 -1
  35. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-rename.1 +1 -1
  36. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-serve.1 +1 -1
  37. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-umount.1 +1 -1
  38. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-upgrade.1 +1 -1
  39. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-version.1 +1 -1
  40. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-with-lock.1 +1 -1
  41. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg.1 +1 -1
  42. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borgfs.1 +1 -1
  43. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/diff.rst.inc +1 -1
  44. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/help.rst.inc +2 -2
  45. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/list.rst.inc +1 -1
  46. {borgbackup-1.4.2 → borgbackup-1.4.3}/pyproject.toml +3 -14
  47. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/upload-pypi +2 -2
  48. borgbackup-1.4.3/src/borg/_version.py +1 -0
  49. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/algorithms/checksums.c +1484 -1296
  50. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/archiver.py +4 -4
  51. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/chunker.c +1843 -1939
  52. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/compress.c +3597 -4010
  53. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/crypto/low_level.c +2264 -2483
  54. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/hashindex.c +1939 -2126
  55. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/item.c +3629 -3973
  56. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/darwin.c +2121 -2131
  57. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/freebsd.c +2280 -2312
  58. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/linux.c +2471 -2555
  59. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/posix.c +1754 -1700
  60. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/syncfilerange.c +351 -502
  61. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/windows.c +1442 -1363
  62. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platformflags.py +2 -0
  63. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/repository.py +6 -3
  64. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/__init__.py +43 -0
  65. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/archiver.py +28 -25
  66. borgbackup-1.4.3/src/borg/testsuite/issue_8535.py +109 -0
  67. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/patterns.py +8 -4
  68. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/platform.py +1 -1
  69. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/repository.py +6 -3
  70. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borgbackup.egg-info/PKG-INFO +2 -3
  71. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borgbackup.egg-info/SOURCES.txt +1 -0
  72. borgbackup-1.4.2/src/borg/_version.py +0 -1
  73. {borgbackup-1.4.2 → borgbackup-1.4.3}/.pre-commit-config.yaml +0 -0
  74. {borgbackup-1.4.2 → borgbackup-1.4.3}/.readthedocs.yaml +0 -0
  75. {borgbackup-1.4.2 → borgbackup-1.4.3}/AUTHORS +0 -0
  76. {borgbackup-1.4.2 → borgbackup-1.4.3}/Brewfile +0 -0
  77. {borgbackup-1.4.2 → borgbackup-1.4.3}/LICENSE +0 -0
  78. {borgbackup-1.4.2 → borgbackup-1.4.3}/MANIFEST.in +0 -0
  79. {borgbackup-1.4.2 → borgbackup-1.4.3}/README.rst +0 -0
  80. {borgbackup-1.4.2 → borgbackup-1.4.3}/README_WINDOWS.rst +0 -0
  81. {borgbackup-1.4.2 → borgbackup-1.4.3}/SECURITY.md +0 -0
  82. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/Makefile +0 -0
  83. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/_static/Makefile +0 -0
  84. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/_static/favicon.ico +0 -0
  85. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/_static/logo.pdf +0 -0
  86. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/_static/logo.png +0 -0
  87. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/_static/logo.svg +0 -0
  88. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/_static/logo_font.txt +0 -0
  89. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/_templates/globaltoc.html +0 -0
  90. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/_templates/layout.html +0 -0
  91. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/_templates/logo-text.html +0 -0
  92. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/authors.rst +0 -0
  93. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/book.rst +0 -0
  94. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/borg_theme/css/borg.css +0 -0
  95. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/conf.py +0 -0
  96. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/deployment/automated-local.rst +0 -0
  97. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/deployment/central-backup-server.rst +0 -0
  98. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/deployment/hosting-repositories.rst +0 -0
  99. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/deployment/image-backup.rst +0 -0
  100. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/deployment/non-root-user.rst +0 -0
  101. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/deployment/pull-backup.rst +0 -0
  102. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/deployment.rst +0 -0
  103. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/global.rst.inc +0 -0
  104. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/index.rst +0 -0
  105. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/internals/compaction.png +0 -0
  106. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/internals/compaction.vsd +0 -0
  107. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/internals/data-structures.rst +0 -0
  108. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/internals/encryption.png +0 -0
  109. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/internals/encryption.vsd +0 -0
  110. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/internals/frontends.rst +0 -0
  111. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/internals/object-graph.png +0 -0
  112. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/internals/object-graph.vsd +0 -0
  113. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/internals/security.rst +0 -0
  114. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/internals/structure.png +0 -0
  115. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/internals/structure.vsd +0 -0
  116. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/internals.rst +0 -0
  117. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/introduction.rst +0 -0
  118. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man/borg-change-passphrase.1 +0 -0
  119. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/man_intro.rst +0 -0
  120. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/asciinema/README +0 -0
  121. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/asciinema/Vagrantfile +0 -0
  122. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/asciinema/advanced.json +0 -0
  123. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/asciinema/advanced.tcl +0 -0
  124. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/asciinema/basic.json +0 -0
  125. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/asciinema/basic.tcl +0 -0
  126. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/asciinema/install.json +0 -0
  127. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/asciinema/install.tcl +0 -0
  128. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/asciinema/sample-wallpapers.txt +0 -0
  129. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/benchmark-crud.txt +0 -0
  130. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/borg-data-flow.png +0 -0
  131. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/borg-data-flow.vsd +0 -0
  132. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/create_chunker-params.txt +0 -0
  133. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/internals-picture.txt +0 -0
  134. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/logging.conf +0 -0
  135. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/misc/prune-example.txt +0 -0
  136. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/quickstart.rst +0 -0
  137. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/quickstart_example.rst.inc +0 -0
  138. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/support.rst +0 -0
  139. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/benchmark.rst +0 -0
  140. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/benchmark_crud.rst.inc +0 -0
  141. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/borgfs.rst +0 -0
  142. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/borgfs.rst.inc +0 -0
  143. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/break-lock.rst.inc +0 -0
  144. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/change-passphrase.rst.inc +0 -0
  145. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/check.rst +0 -0
  146. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/check.rst.inc +0 -0
  147. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/common-options.rst.inc +0 -0
  148. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/compact.rst +0 -0
  149. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/compact.rst.inc +0 -0
  150. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/config.rst +0 -0
  151. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/config.rst.inc +0 -0
  152. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/create.rst +0 -0
  153. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/create.rst.inc +0 -0
  154. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/debug.rst +0 -0
  155. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/delete.rst +0 -0
  156. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/delete.rst.inc +0 -0
  157. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/diff.rst +0 -0
  158. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/export-tar.rst.inc +0 -0
  159. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/extract.rst +0 -0
  160. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/extract.rst.inc +0 -0
  161. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/general/date-time.rst.inc +0 -0
  162. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/general/environment.rst.inc +0 -0
  163. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/general/file-metadata.rst.inc +0 -0
  164. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/general/file-systems.rst.inc +0 -0
  165. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/general/logging.rst.inc +0 -0
  166. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/general/positional-arguments.rst.inc +0 -0
  167. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/general/repository-locations.rst.inc +0 -0
  168. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/general/repository-urls.rst.inc +0 -0
  169. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/general/resources.rst.inc +0 -0
  170. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/general/return-codes.rst.inc +0 -0
  171. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/general/units.rst.inc +0 -0
  172. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/general.rst +0 -0
  173. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/help.rst +0 -0
  174. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/import-tar.rst.inc +0 -0
  175. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/info.rst +0 -0
  176. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/info.rst.inc +0 -0
  177. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/init.rst +0 -0
  178. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/init.rst.inc +0 -0
  179. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/key.rst +0 -0
  180. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/key_change-passphrase.rst.inc +0 -0
  181. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/key_export.rst.inc +0 -0
  182. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/key_import.rst.inc +0 -0
  183. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/key_migrate-to-repokey.rst.inc +0 -0
  184. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/list.rst +0 -0
  185. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/lock.rst +0 -0
  186. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/mount.rst +0 -0
  187. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/mount.rst.inc +0 -0
  188. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/notes.rst +0 -0
  189. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/prune.rst +0 -0
  190. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/prune.rst.inc +0 -0
  191. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/recreate.rst +0 -0
  192. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/recreate.rst.inc +0 -0
  193. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/rename.rst +0 -0
  194. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/rename.rst.inc +0 -0
  195. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/serve.rst +0 -0
  196. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/serve.rst.inc +0 -0
  197. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/tar.rst +0 -0
  198. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/umount.rst.inc +0 -0
  199. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/upgrade.rst +0 -0
  200. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/upgrade.rst.inc +0 -0
  201. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/usage_general.rst.inc +0 -0
  202. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/version.rst +0 -0
  203. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/version.rst.inc +0 -0
  204. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage/with-lock.rst.inc +0 -0
  205. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage.rst +0 -0
  206. {borgbackup-1.4.2 → borgbackup-1.4.3}/docs/usage_general.rst.inc +0 -0
  207. {borgbackup-1.4.2 → borgbackup-1.4.3}/requirements.d/development.lock.txt +0 -0
  208. {borgbackup-1.4.2 → borgbackup-1.4.3}/requirements.d/development.txt +0 -0
  209. {borgbackup-1.4.2 → borgbackup-1.4.3}/requirements.d/docs.txt +0 -0
  210. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/borg.exe.spec +0 -0
  211. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/errorlist.py +0 -0
  212. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/fetch-binaries +0 -0
  213. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/fuzz-cache-sync/HOWTO +0 -0
  214. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/fuzz-cache-sync/main.c +0 -0
  215. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/fuzz-cache-sync/testcase_dir/test_simple +0 -0
  216. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/glibc_check.py +0 -0
  217. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/hash_sizes.py +0 -0
  218. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/make.py +0 -0
  219. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/msys2-build +0 -0
  220. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/msys2-install-deps +0 -0
  221. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/sdist-sign +0 -0
  222. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/shell_completions/bash/borg +0 -0
  223. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/shell_completions/fish/borg.fish +0 -0
  224. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/shell_completions/zsh/_borg +0 -0
  225. {borgbackup-1.4.2 → borgbackup-1.4.3}/scripts/sign-binaries +0 -0
  226. {borgbackup-1.4.2 → borgbackup-1.4.3}/setup.cfg +0 -0
  227. {borgbackup-1.4.2 → borgbackup-1.4.3}/setup.py +0 -0
  228. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/__init__.py +0 -0
  229. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/__main__.py +0 -0
  230. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/_chunker.c +0 -0
  231. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/_endian.h +0 -0
  232. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/_hashindex.c +0 -0
  233. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/_item.c +0 -0
  234. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/algorithms/__init__.py +0 -0
  235. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/algorithms/checksums.pyx +0 -0
  236. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/algorithms/crc32_clmul.c +0 -0
  237. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/algorithms/crc32_dispatch.c +0 -0
  238. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/algorithms/crc32_slice_by_8.c +0 -0
  239. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/archive.py +0 -0
  240. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/cache.py +0 -0
  241. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/cache_sync/cache_sync.c +0 -0
  242. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/cache_sync/sysdep.h +0 -0
  243. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/cache_sync/unpack.h +0 -0
  244. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/cache_sync/unpack_define.h +0 -0
  245. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/cache_sync/unpack_template.h +0 -0
  246. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/chunker.pyx +0 -0
  247. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/compress.pyx +0 -0
  248. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/constants.py +0 -0
  249. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/crypto/__init__.py +0 -0
  250. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/crypto/_crypto_helpers.c +0 -0
  251. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/crypto/_crypto_helpers.h +0 -0
  252. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/crypto/file_integrity.py +0 -0
  253. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/crypto/key.py +0 -0
  254. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/crypto/keymanager.py +0 -0
  255. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/crypto/low_level.pyx +0 -0
  256. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/crypto/nonces.py +0 -0
  257. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/fuse.py +0 -0
  258. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/fuse_impl.py +0 -0
  259. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/hashindex.pyx +0 -0
  260. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/helpers/__init__.py +0 -0
  261. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/helpers/checks.py +0 -0
  262. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/helpers/datastruct.py +0 -0
  263. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/helpers/errors.py +0 -0
  264. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/helpers/fs.py +0 -0
  265. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/helpers/manifest.py +0 -0
  266. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/helpers/misc.py +0 -0
  267. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/helpers/msgpack.py +0 -0
  268. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/helpers/parseformat.py +0 -0
  269. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/helpers/process.py +0 -0
  270. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/helpers/progress.py +0 -0
  271. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/helpers/time.py +0 -0
  272. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/helpers/yes.py +0 -0
  273. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/item.pyx +0 -0
  274. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/locking.py +0 -0
  275. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/logger.py +0 -0
  276. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/lrucache.py +0 -0
  277. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/nanorst.py +0 -0
  278. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/paperkey.html +0 -0
  279. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/patterns.py +0 -0
  280. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/__init__.py +0 -0
  281. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/base.py +0 -0
  282. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/darwin.pyx +0 -0
  283. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/freebsd.pyx +0 -0
  284. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/linux.pyx +0 -0
  285. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/posix.pyx +0 -0
  286. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/syncfilerange.pyx +0 -0
  287. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/windows.pyx +0 -0
  288. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/platform/xattr.py +0 -0
  289. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/remote.py +0 -0
  290. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/selftest.py +0 -0
  291. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/shellpattern.py +0 -0
  292. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/archive.py +0 -0
  293. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/attic.tar.gz +0 -0
  294. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/benchmark.py +0 -0
  295. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/cache.py +0 -0
  296. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/checksums.py +0 -0
  297. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/chunker.py +0 -0
  298. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/chunker_pytest.py +0 -0
  299. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/chunker_slow.py +0 -0
  300. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/compress.py +0 -0
  301. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/conftest.py +0 -0
  302. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/crypto.py +0 -0
  303. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/efficient_collection_queue.py +0 -0
  304. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/file_integrity.py +0 -0
  305. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/hashindex.py +0 -0
  306. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/hashindex_stress.py +0 -0
  307. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/helpers.py +0 -0
  308. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/item.py +0 -0
  309. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/key.py +0 -0
  310. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/locking.py +0 -0
  311. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/logger.py +0 -0
  312. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/lrucache.py +0 -0
  313. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/nanorst.py +0 -0
  314. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/nonces.py +0 -0
  315. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/remote.py +0 -0
  316. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/shellpattern.py +0 -0
  317. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/upgrader.py +0 -0
  318. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/version.py +0 -0
  319. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/testsuite/xattr.py +0 -0
  320. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/upgrader.py +0 -0
  321. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/version.py +0 -0
  322. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borg/xattr.py +0 -0
  323. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borgbackup.egg-info/dependency_links.txt +0 -0
  324. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borgbackup.egg-info/entry_points.txt +0 -0
  325. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borgbackup.egg-info/requires.txt +0 -0
  326. {borgbackup-1.4.2 → borgbackup-1.4.3}/src/borgbackup.egg-info/top_level.txt +0 -0
@@ -414,7 +414,7 @@ Compatibility notes:
414
414
  Change Log
415
415
  ==========
416
416
 
417
- Version 1.4.2 (2025-10-31)
417
+ Version 1.4.3 (2025-12-02)
418
418
  --------------------------
419
419
 
420
420
  For upgrade and compatibility hints, please also read the "Upgrade Notes" section
@@ -422,6 +422,42 @@ above.
422
422
 
423
423
  New features:
424
424
 
425
+ - None.
426
+
427
+ Fixes:
428
+
429
+ - compact: replace AssertionError with a warning, #8535.
430
+ - compact: also fix segment hints data for lost segment files.
431
+ - CI: FUSE-related fixes and improvements, #9182:
432
+
433
+ - The Linux and FreeBSD binaries built on GitHub now include working
434
+ FUSE support (based on llfuse).
435
+ - We can't include FUSE support in the macOS binaries built on GitHub,
436
+ because we can't install macFUSE there; use our Homebrew tap for that.
437
+
438
+ Other changes:
439
+
440
+ - Drop Python 3.9 support (has reached end of life at python.org).
441
+ - CI:
442
+
443
+ - Install the correct FUSE library depending on the tox environment.
444
+ - PyInstaller binary building: build and upload early, then run CI tests.
445
+ - For now, use llfuse, as there is an issue with PyInstaller and pyfuse3.
446
+ - Backported vm_tests (FreeBSD/NetBSD/OpenBSD/Haiku) from the master branch.
447
+ - Dynamic code analysis (Address and Undefined Behavior Sanitizers), #6819.
448
+ - Add tag-based workflows and provenance attestation for GitHub-built
449
+ binaries, #9135, #9136.
450
+ - Docs:
451
+
452
+ - Some fixes and updates to the FAQ, #9188.
453
+ - Update binary README; release binaries are built on GitHub now.
454
+
455
+
456
+ Version 1.4.2 (2025-10-31)
457
+ --------------------------
458
+
459
+ New features:
460
+
425
461
  - BORG_MSGPACK_VERSION_CHECK=no to optionally disable the msgpack version
426
462
  check; default is "yes"; use at your own risk, #9109.
427
463
  - fat binary builds on GitHub (see assets on the GitHub releases page):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: borgbackup
3
- Version: 1.4.2
3
+ Version: 1.4.3
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>
@@ -21,7 +21,6 @@ Classifier: Operating System :: MacOS :: MacOS X
21
21
  Classifier: Operating System :: POSIX :: Linux
22
22
  Classifier: Programming Language :: Python
23
23
  Classifier: Programming Language :: Python :: 3
24
- Classifier: Programming Language :: Python :: 3.9
25
24
  Classifier: Programming Language :: Python :: 3.10
26
25
  Classifier: Programming Language :: Python :: 3.11
27
26
  Classifier: Programming Language :: Python :: 3.12
@@ -29,7 +28,7 @@ Classifier: Programming Language :: Python :: 3.13
29
28
  Classifier: Programming Language :: Python :: 3.14
30
29
  Classifier: Topic :: Security :: Cryptography
31
30
  Classifier: Topic :: System :: Archiving :: Backup
32
- Requires-Python: >=3.9
31
+ Requires-Python: >=3.10
33
32
  License-File: LICENSE
34
33
  License-File: AUTHORS
35
34
  Requires-Dist: msgpack<=1.1.2,>=1.0.3
@@ -48,18 +48,19 @@ borg-linux-glibc231-x86_64 Linux (built on Debian 11 "Bullseye" with glibc 2.31)
48
48
  borg-freebsd-13-x86_64 FreeBSD (built on FreeBSD 13)
49
49
  borg-freebsd-14-x86_64 FreeBSD (built on FreeBSD 14)
50
50
 
51
+ Note: if you don't find a specific binary here, check release 1.4.1 or 1.2.9.
52
+
51
53
 
52
54
  Verifying your download
53
55
  -----------------------
54
56
 
55
- Please check the GPG signature to make sure you received the binary as I have
56
- built it.
57
+ I provide GPG signatures for files which I have built locally on my machines.
57
58
 
58
- To check the GPG signature, download both the binary and the corresponding
59
- *.asc file and then (on the shell) type, for example:
59
+ To check the GPG signature, download both the file and the corresponding
60
+ signature (*.asc file) and then (on the shell) type, for example:
60
61
 
61
62
  gpg --recv-keys 9F88FB52FAF7B393
62
- gpg --verify borg-freebsd.asc borg-freebsd
63
+ gpg --verify borgbackup.tar.gz.asc borgbackup.tar.gz
63
64
 
64
65
  The files are signed by:
65
66
 
@@ -69,6 +70,24 @@ GPG key fingerprint: 6D5B EF9A DD20 7580 5747 B70F 9F88 FB52 FAF7 B393
69
70
  My fingerprint is also in the footer of all my BorgBackup mailing list posts.
70
71
 
71
72
 
73
+ Provenance attestations for GitHub-built binaries
74
+ -------------------------------------------------
75
+
76
+ For binaries built on GitHub (files with a "-gh" suffix in the name), we publish
77
+ an artifact provenance attestation that proves the binary was built by our
78
+ GitHub Actions workflow from a specific commit or tag. You can verify this using
79
+ the GitHub CLI (gh). Install it from https://cli.github.com/ and make sure you
80
+ use a recent version that supports "gh attestation".
81
+
82
+ Practical example (Linux, 1.4.3 tag):
83
+
84
+ curl -LO https://github.com/borgbackup/borg/releases/download/1.4.3/borg-linux-glibc235-x86_64-gh
85
+ gh attestation verify --repo borgbackup/borg --source-ref refs/tags/1.4.3 borg-linux-glibc235-x86_64-gh
86
+
87
+ If verification succeeds, gh prints a summary stating the subject (your file),
88
+ that it was attested by GitHub Actions, and the job/workflow reference.
89
+
90
+
72
91
  Installing
73
92
  ----------
74
93
 
@@ -414,7 +414,7 @@ Compatibility notes:
414
414
  Change Log
415
415
  ==========
416
416
 
417
- Version 1.4.2 (2025-10-31)
417
+ Version 1.4.3 (2025-12-02)
418
418
  --------------------------
419
419
 
420
420
  For upgrade and compatibility hints, please also read the "Upgrade Notes" section
@@ -422,6 +422,42 @@ above.
422
422
 
423
423
  New features:
424
424
 
425
+ - None.
426
+
427
+ Fixes:
428
+
429
+ - compact: replace AssertionError with a warning, #8535.
430
+ - compact: also fix segment hints data for lost segment files.
431
+ - CI: FUSE-related fixes and improvements, #9182:
432
+
433
+ - The Linux and FreeBSD binaries built on GitHub now include working
434
+ FUSE support (based on llfuse).
435
+ - We can't include FUSE support in the macOS binaries built on GitHub,
436
+ because we can't install macFUSE there; use our Homebrew tap for that.
437
+
438
+ Other changes:
439
+
440
+ - Drop Python 3.9 support (has reached end of life at python.org).
441
+ - CI:
442
+
443
+ - Install the correct FUSE library depending on the tox environment.
444
+ - PyInstaller binary building: build and upload early, then run CI tests.
445
+ - For now, use llfuse, as there is an issue with PyInstaller and pyfuse3.
446
+ - Backported vm_tests (FreeBSD/NetBSD/OpenBSD/Haiku) from the master branch.
447
+ - Dynamic code analysis (Address and Undefined Behavior Sanitizers), #6819.
448
+ - Add tag-based workflows and provenance attestation for GitHub-built
449
+ binaries, #9135, #9136.
450
+ - Docs:
451
+
452
+ - Some fixes and updates to the FAQ, #9188.
453
+ - Update binary README; release binaries are built on GitHub now.
454
+
455
+
456
+ Version 1.4.2 (2025-10-31)
457
+ --------------------------
458
+
459
+ New features:
460
+
425
461
  - BORG_MSGPACK_VERSION_CHECK=no to optionally disable the msgpack version
426
462
  check; default is "yes"; use at your own risk, #9109.
427
463
  - fat binary builds on GitHub (see assets on the GitHub releases page):
@@ -185,7 +185,7 @@ Some more advanced examples::
185
185
  # verify a changed tox.ini (run this after any change to tox.ini):
186
186
  fakeroot -u tox --recreate
187
187
 
188
- fakeroot -u tox -e py39 # run all tests, but only on python 3.9
188
+ fakeroot -u tox -e py310 # run all tests, but only on python 3.10
189
189
 
190
190
  fakeroot -u tox borg.testsuite.locking # only run 1 test module
191
191
 
@@ -338,7 +338,7 @@ Checklist:
338
338
  - Check version number of upcoming release in ``CHANGES.rst``.
339
339
  - Render ``CHANGES.rst`` via ``make html`` and check for markup errors.
340
340
  - Verify that ``MANIFEST.in``, ``pyproject.toml`` and ``setup.py`` are complete.
341
- - Run these commands and commit::
341
+ - Run these commands, check git status for files that might need to be added, and commit::
342
342
 
343
343
  python scripts/make.py build_usage
344
344
  python scripts/make.py build_man
@@ -347,6 +347,8 @@ Checklist:
347
347
 
348
348
  git tag -s -m "tagged/signed release X.Y.Z" X.Y.Z
349
349
 
350
+ - Push the release PR branch to GitHub, make a pull request.
351
+ - Also push the release tag.
350
352
  - Create a clean repo and use it for the following steps::
351
353
 
352
354
  git clone borg borg-clean
@@ -355,8 +357,9 @@ Checklist:
355
357
  It will also reveal uncommitted required files.
356
358
  Moreover, it makes sure the vagrant machines only get committed files and
357
359
  do a fresh start based on that.
358
- - Run tox and/or binary builds on all supported platforms via vagrant,
359
- check for test failures.
360
+ - Optional: run tox and/or binary builds on all supported platforms via vagrant,
361
+ check for test failures. This is now optional as we do platform testing and
362
+ binary building on GitHub.
360
363
  - Create sdist, sign it, upload release to (test) PyPi:
361
364
 
362
365
  ::
@@ -367,12 +370,13 @@ Checklist:
367
370
 
368
371
  Note: the signature is not uploaded to PyPi any more, but we upload it to
369
372
  github releases.
370
- - Put binaries into dist/borg-OSNAME and sign them:
371
-
372
- ::
373
-
374
- scripts/sign-binaries 201912312359
375
373
 
374
+ - When GitHub CI looks good on the release PR, merge it and then check "Actions":
375
+ GitHub will create binary assets after the release PR is merged within the
376
+ CI testing of the merge. Check the "Upload binaries" step on Ubuntu (AMD/Intel
377
+ and ARM64) and macOS (Intel and ARM64), fetch the ZIPs with the binaries.
378
+ - Unpack the ZIPs and test the binaries, upload the binaries to the GitHub
379
+ release page (borg-OS-SPEC-ARCH-gh and borg-OS-SPEC-ARCH-gh.tgz).
376
380
  - Close the release milestone on GitHub.
377
381
  - `Update borgbackup.org
378
382
  <https://github.com/borgbackup/borgbackup.github.io/pull/53/files>`_ with the
@@ -388,7 +392,7 @@ Checklist:
388
392
  - pypi dist package and signature
389
393
  - Standalone binaries (see above for how to create them).
390
394
 
391
- - For macOS, document the macFUSE version in the README of the binaries.
392
- macFUSE uses a kernel extension that needs to be compatible with the
393
- code contained in the binary.
395
+ - For macOS binaries **with** FUSE support, document the macFUSE version
396
+ in the README of the binaries. macFUSE uses a kernel extension that needs
397
+ to be compatible with the code contained in the binary.
394
398
  - A link to ``CHANGES.rst``.
@@ -210,8 +210,8 @@ sure you have an up-to-date version of borgbackup if you want to continue
210
210
  instead of retransferring a huge file. In some cases, there is only an outdated
211
211
  version shipped with your distribution (e.g. Debian). See :ref:`installation`.
212
212
 
213
- How can I backup huge file(s) over a unstable connection?
214
- ---------------------------------------------------------
213
+ How can I back up huge file(s) over an unstable connection?
214
+ -----------------------------------------------------------
215
215
 
216
216
  This is not a problem anymore.
217
217
 
@@ -381,9 +381,7 @@ Checking processors
381
381
  operate hardware outside its specifications for productive use.
382
382
 
383
383
  Tools to verify correct processor operation include Prime95 (mprime), linpack,
384
- and the `Intel Processor Diagnostic Tool
385
- <https://downloadcenter.intel.com/download/19792/Intel-Processor-Diagnostic-Tool>`_
386
- (applies only to Intel processors).
384
+ and stress-ng.
387
385
 
388
386
  .. rubric:: Repairing a damaged repository
389
387
 
@@ -706,7 +704,7 @@ all your files/dirs data and metadata are stored in their encrypted form
706
704
  into the repository.
707
705
 
708
706
  Yes, as an attacker with access to the remote server could delete (or
709
- otherwise make unavailable) all your backups.
707
+ otherwise make unavailable) all your backups on that server.
710
708
 
711
709
  How can I protect against a hacked backup client?
712
710
  -------------------------------------------------
@@ -962,7 +960,7 @@ Then you do the backup and look at the log output:
962
960
 
963
961
  When borg runs inside a virtual machine, there are some more things to look at:
964
962
 
965
- Some hypervisors (e.g. kvm on proxmox) give some broadly compatible CPU type to the
963
+ Some hypervisors (e.g. kvm on older proxmox) give some broadly compatible CPU type to the
966
964
  VM (usually to ease migration between VM hosts of potentially different hardware CPUs).
967
965
 
968
966
  It is broadly compatible because they leave away modern CPU features that could be
@@ -970,8 +968,8 @@ not present in older or other CPUs, e.g. hardware acceleration for AES crypto, f
970
968
  sha2 hashes, for (P)CLMUL(QDQ) computations useful for crc32.
971
969
 
972
970
  So, basically you pay for compatibility with bad performance. If you prefer better
973
- performance, you should try to expose the host CPU's misc. hw acceleration features
974
- to the VM which runs borg.
971
+ performance, you should try to use the x86-64-v2-AES VCPU or the "host" VCPU,
972
+ exposing misc. hw acceleration features to the VM which runs borg.
975
973
 
976
974
  On Linux, check ``/proc/cpuinfo`` for the CPU flags inside the VM.
977
975
  For kvm check the docs about "Host model" and "Host passthrough".
@@ -1295,7 +1293,7 @@ Miscellaneous
1295
1293
  macOS: borg mounts not shown in Finder's side bar
1296
1294
  -------------------------------------------------
1297
1295
 
1298
- https://github.com/osxfuse/osxfuse/wiki/Mount-options#local
1296
+ https://github.com/macfuse/macfuse/wiki/Mount-options#local
1299
1297
 
1300
1298
  Read the above first and use this on your own risk::
1301
1299
 
@@ -158,7 +158,7 @@ To install Borg from a source package (including pip), you have to install the
158
158
  following dependencies first. For the libraries you will also need their
159
159
  development header files (sometimes in a separate `-dev` or `-devel` package).
160
160
 
161
- * `Python 3`_ >= 3.9.0
161
+ * `Python 3`_ >= 3.10.0
162
162
  * OpenSSL_ >= 1.0.0
163
163
  * libacl_ (which depends on libattr_)
164
164
  * libxxhash_ >= 0.8.1
@@ -424,9 +424,9 @@ If you need to use a different version of Python you can install this using ``py
424
424
 
425
425
  ...
426
426
  # create a virtual environment
427
- pyenv install 3.9.0 # minimum, preferably use something more recent!
428
- pyenv global 3.9.0
429
- pyenv local 3.9.0
427
+ pyenv install 3.10.0 # minimum, preferably use something more recent!
428
+ pyenv global 3.10.0
429
+ pyenv local 3.10.0
430
430
  virtualenv --python=${pyenv which python} borg-env
431
431
  source borg-env/bin/activate # always before using!
432
432
  ...
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-BENCHMARK-CRUD" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-BENCHMARK-CRUD" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-benchmark-crud \- Benchmark Create, Read, Update, Delete for archives.
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-BENCHMARK" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-BENCHMARK" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-benchmark \- benchmark command
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-BREAK-LOCK" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-BREAK-LOCK" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-break-lock \- Break the repository lock (e.g. in case it was left by a dead borg.
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-CHECK" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-CHECK" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-check \- Check repository consistency
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-COMMON" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-COMMON" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-common \- Common options of Borg commands
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-COMPACT" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-COMPACT" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-compact \- compact segment files in the repository
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-COMPRESSION" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-COMPRESSION" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-compression \- Details regarding compression
33
33
  .SH DESCRIPTION
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-CONFIG" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-CONFIG" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-config \- get, set, and delete values in a repository or cache config file
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-CREATE" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-CREATE" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-create \- Create new archive
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-DELETE" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-DELETE" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-delete \- Delete an existing repository or archives
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-DIFF" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-DIFF" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-diff \- Diff contents of two archives
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-EXPORT-TAR" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-EXPORT-TAR" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-export-tar \- Export archive contents as a tarball
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-EXTRACT" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-EXTRACT" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-extract \- Extract archive contents
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-IMPORT-TAR" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-IMPORT-TAR" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-import-tar \- Create a backup archive from a tarball
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-INFO" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-INFO" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-info \- Show archive details such as disk space used
33
33
  .SH SYNOPSIS
@@ -28,7 +28,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
29
29
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
30
30
  ..
31
- .TH "BORG-INIT" "1" "2025-10-31" "" "borg backup tool"
31
+ .TH "BORG-INIT" "1" "2025-12-01" "" "borg backup tool"
32
32
  .SH NAME
33
33
  borg-init \- Initialize an empty repository
34
34
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-KEY-CHANGE-PASSPHRASE" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-KEY-CHANGE-PASSPHRASE" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-key-change-passphrase \- Change repository key file passphrase
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-KEY-EXPORT" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-KEY-EXPORT" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-key-export \- Export the repository key for backup
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-KEY-IMPORT" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-KEY-IMPORT" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-key-import \- Import the repository key from backup
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-KEY-MIGRATE-TO-REPOKEY" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-KEY-MIGRATE-TO-REPOKEY" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-key-migrate-to-repokey \- Migrate passphrase -> repokey
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-KEY" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-KEY" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-key \- Manage a keyfile or repokey of a repository
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-LIST" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-LIST" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-list \- List archive or repository contents
33
33
  .SH SYNOPSIS
@@ -150,7 +150,7 @@ $ borg list /path/to/repo/::archiveA \-\-pattern \(aq+ re:.ext$\(aq \-\-pattern
150
150
  .SH NOTES
151
151
  .SS The FORMAT specifier syntax
152
152
  .sp
153
- The \fB\-\-format\fP option uses Python\(aqs format string syntax <https://docs.python.org/3.9/library/string.html#formatstrings>
153
+ The \fB\-\-format\fP option uses Python\(aqs format string syntax <https://docs.python.org/3.10/library/string.html#formatstrings>
154
154
  \&.
155
155
  .sp
156
156
  Examples:
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-MOUNT" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-MOUNT" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-mount \- Mount archive or an entire repository as a FUSE filesystem
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-PATTERNS" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-PATTERNS" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-patterns \- Details regarding patterns
33
33
  .SH DESCRIPTION
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-PLACEHOLDERS" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-PLACEHOLDERS" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-placeholders \- Details regarding placeholders
33
33
  .SH DESCRIPTION
@@ -47,12 +47,12 @@ The full name of the machine in reverse domain name notation.
47
47
  .TP
48
48
  .B {now}
49
49
  The current local date and time, by default in ISO\-8601 format.
50
- You can also supply your own format string <https://docs.python.org/3.9/library/datetime.html#strftime-and-strptime-behavior>
50
+ You can also supply your own format string <https://docs.python.org/3.10/library/datetime.html#strftime-and-strptime-behavior>
51
51
  , e.g. {now:%Y\-%m\-%d_%H:%M:%S}
52
52
  .TP
53
53
  .B {utcnow}
54
54
  The current UTC date and time, by default in ISO\-8601 format.
55
- You can also supply your own format string <https://docs.python.org/3.9/library/datetime.html#strftime-and-strptime-behavior>
55
+ You can also supply your own format string <https://docs.python.org/3.10/library/datetime.html#strftime-and-strptime-behavior>
56
56
  , e.g. {utcnow:%Y\-%m\-%d_%H:%M:%S}
57
57
  .TP
58
58
  .B {user}
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-PRUNE" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-PRUNE" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-prune \- Prune repository archives according to specified rules
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-RECREATE" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-RECREATE" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-recreate \- Re-create archives
33
33
  .SH SYNOPSIS
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
27
27
  .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
28
28
  .in \\n[rst2man-indent\\n[rst2man-indent-level]]u
29
29
  ..
30
- .TH "BORG-RENAME" "1" "2025-10-31" "" "borg backup tool"
30
+ .TH "BORG-RENAME" "1" "2025-12-01" "" "borg backup tool"
31
31
  .SH NAME
32
32
  borg-rename \- Rename an existing archive
33
33
  .SH SYNOPSIS