Commit graph

9996 commits

Author SHA1 Message Date
Mrityunjay Raj
6bba477ae2 docs: revise pack file internals based on PR #9669 review, refs #8572
remove forward-looking N>1 references, hardcoded offsets, and stale "currently";
use borgstore vocabulary, medium-sized index files, and simplified recovery prose
2026-05-29 00:45:12 +05:30
Mrityunjay Raj
5d6cafe4b8 docs: add pack file format design and internals documentation, refs #8572 2026-05-27 13:26:18 +05:30
TW
f348fe981f
Merge pull request #9668 from mr-raj12/legacy-pbkdf2-into-mixin
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / asan_ubsan (push) Has been cancelled
CI / native_tests (push) Has been cancelled
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Has been cancelled
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Has been cancelled
CI / vm_tests (OmniOS, false, omnios, r151056) (push) Has been cancelled
CI / vm_tests (OpenBSD, false, openbsd, 7.8) (push) Has been cancelled
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
legacy: move pbkdf2 static method from FlexiKey to Pbkdf2FileMixin
2026-05-26 14:25:16 +02:00
Mrityunjay Raj
d4f25ac266 legacy: move pbkdf2 static method from FlexiKey to Pbkdf2FileMixin, refs #9556 2026-05-26 16:52:50 +05:30
TW
a461d72525
Merge pull request #9664 from mr-raj12/legacy-phase6-crypto
legacy: move hardlink helpers, NSIndex1, AES, and PBKDF2 key file methods to borg.legacy, refs #9556
2026-05-26 11:52:54 +02:00
TW
da9a549643
Merge pull request #9667 from ThomasWaldmann/pr-9666-fix
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / asan_ubsan (push) Has been cancelled
CI / native_tests (push) Has been cancelled
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Has been cancelled
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Has been cancelled
CI / vm_tests (OmniOS, false, omnios, r151056) (push) Has been cancelled
CI / vm_tests (OpenBSD, false, openbsd, 7.8) (push) Has been cancelled
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
fixup for pr #9666: better variable name
2026-05-25 02:30:55 +02:00
Thomas Waldmann
40572ffbf8
fixup for pr #9666: better variable name 2026-05-25 00:58:16 +02:00
TW
dd0713e013
Merge pull request #9666 from Flachz/fix-xattrs-xdg-backup-exclude
fix: xattr xdg backup exclusion should be on 'false'
2026-05-25 00:51:30 +02:00
Flachz
e19232b306 fix: xattr xdg backup exclusion should be on 'false' 2026-05-24 22:11:41 +02:00
TW
832bb44693
Merge pull request #9665 from mr-raj12/benchmark-drop-kdf-section
Some checks are pending
Lint / lint (push) Waiting to run
CI / lint (push) Waiting to run
CI / security (push) Waiting to run
CI / asan_ubsan (push) Blocked by required conditions
CI / native_tests (push) Blocked by required conditions
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Blocked by required conditions
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Blocked by required conditions
CI / vm_tests (OmniOS, false, omnios, r151056) (push) Blocked by required conditions
CI / vm_tests (OpenBSD, false, openbsd, 7.8) (push) Blocked by required conditions
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
benchmark cpu: drop KDF section
2026-05-24 08:01:53 +02:00
Mrityunjay Raj
fea52efd44 benchmark cpu: remove KDF assertions from tests
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 10:07:34 +05:30
Mrityunjay Raj
fe5e012481 benchmark cpu: drop KDF section, kdfs are intentionally slow and not worth benchmarking 2026-05-24 09:34:02 +05:30
Mrityunjay Raj
228ac45482 legacy: inline num_cipher_blocks in legacy/crypto/low_level, refs #9556 2026-05-23 20:10:06 +05:30
Mrityunjay Raj
b4821255f4 legacy: move pbkdf2 key file encryption to borg.legacy.crypto.key, refs #9556 2026-05-23 13:58:02 +05:30
Mrityunjay Raj
f58732290a legacy: move AES to borg.legacy.crypto.low_level, refs #9556 2026-05-23 13:57:53 +05:30
Mrityunjay Raj
fb6192bf86 legacy: move NSIndex1 to borg.legacy.hashindex, refs #9556 2026-05-23 13:27:51 +05:30
Mrityunjay Raj
180130ba4e legacy: move borg1 hardlink helpers to borg.legacy.helpers, refs #9556 2026-05-23 13:27:35 +05:30
TW
985d6f0ab0
Merge pull request #9655 from mr-raj12/legacy-upgrade-phase5
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / asan_ubsan (push) Has been cancelled
CI / native_tests (push) Has been cancelled
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Has been cancelled
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Has been cancelled
CI / vm_tests (OmniOS, false, omnios, r151056) (push) Has been cancelled
CI / vm_tests (OpenBSD, false, openbsd, 7.8) (push) Has been cancelled
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
legacy: move upgrade.py into borg.legacy, refs #9556
2026-05-22 16:21:12 +02:00
TW
614baf5308
Merge pull request #9648 from mr-raj12/testsuite-legacy-archives
Some checks are pending
Lint / lint (push) Waiting to run
CI / lint (push) Waiting to run
CI / security (push) Waiting to run
CI / asan_ubsan (push) Blocked by required conditions
CI / native_tests (push) Blocked by required conditions
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Blocked by required conditions
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Blocked by required conditions
CI / vm_tests (OmniOS, false, omnios, r151056) (push) Blocked by required conditions
CI / vm_tests (OpenBSD, false, openbsd, 7.8) (push) Blocked by required conditions
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
testsuite: add Archives and LegacyArchives unit tests, refs #9556
2026-05-22 14:12:45 +02:00
Mrityunjay Raj
b0f3096989 legacy: move UpgraderFrom12To20 to borg.legacy, refs #9556 2026-05-22 17:37:12 +05:30
TW
0178431fc3
Merge pull request #9662 from ThomasWaldmann/remove-repo-compress
repo-compress: remove this command for now
2026-05-22 13:44:52 +02:00
Mrityunjay Raj
6cb6ac43b5 testsuite: rename _item to _iteminfo, _make to _archives, _info to _archiveinfo for clarity, refs #9556 2026-05-22 16:52:39 +05:30
Thomas Waldmann
6cfb90dae9
repo-compress: remove this command for now
for packs, this needs to get implemented differently to perform well.
processing needs to be pack-after-pack and the index needs to be
updated correctly and carefully, e.g. considering interruptions
of repo-compress.
2026-05-22 13:00:13 +02:00
TW
37a4f10755
Merge pull request #9661 from borgbackup/ai-findings-autofix/src-borg-testsuite-helpers-yes_no_test.py
improve yes tests
2026-05-22 12:40:58 +02:00
TW
45eeb1ba3a
Merge pull request #9660 from borgbackup/ai-findings-autofix/src-borg-version.py
improve versioning code
2026-05-22 12:40:36 +02:00
TW
1dd5840225
Merge pull request #9635 from borgbackup/finding-autofix-03f334da
Fix for Missing call to superclass `__init__` during object initialization
2026-05-22 12:36:10 +02:00
TW
a9bf624338
Apply suggested fix to src/borg/testsuite/helpers/yes_no_test.py from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
2026-05-22 11:56:24 +02:00
TW
147b7ef348
Apply suggested fix to src/borg/version.py from Copilot Autofix
Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>
2026-05-22 11:52:59 +02:00
TW
9d6a64ec32
Fix for Missing call to superclass __init__ during object initialization
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-05-22 11:45:32 +02:00
TW
a3d32f8846
Merge pull request #9634 from borgbackup/finding-autofix-59e7d13e
Fix for Missing call to superclass `__init__` during object initialization
2026-05-22 11:34:02 +02:00
TW
e016a51cf2
Merge pull request #9657 from borgbackup/dependabot/github_actions/actions-c5db1ac7a0
build(deps): bump the actions group with 2 updates
2026-05-22 10:56:34 +02:00
TW
969cb83852
Merge pull request #9658 from borgbackup/dependabot/pip/requirements.d/pip-dependencies-c992239b81
build(deps-dev): bump the pip-dependencies group in /requirements.d with 5 updates
2026-05-22 10:54:33 +02:00
TW
243e24567e
Merge pull request #9650 from mr-raj12/legacy-package-phase4
Some checks are pending
Lint / lint (push) Waiting to run
CI / lint (push) Waiting to run
CI / security (push) Waiting to run
CI / asan_ubsan (push) Blocked by required conditions
CI / native_tests (push) Blocked by required conditions
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Blocked by required conditions
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Blocked by required conditions
CI / vm_tests (OmniOS, false, omnios, r151056) (push) Blocked by required conditions
CI / vm_tests (OpenBSD, false, openbsd, 7.8) (push) Blocked by required conditions
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
legacy: lazy-import legacy classes inside v1 branches only, refs #9556
2026-05-21 19:43:09 +02:00
dependabot[bot]
2117a00957
build(deps-dev): bump the pip-dependencies group
Bumps the pip-dependencies group in /requirements.d with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [setuptools](https://github.com/pypa/setuptools) | `82.0.0` | `82.0.1` |
| [pip](https://github.com/pypa/pip) | `26.1` | `26.1.1` |
| [virtualenv](https://github.com/pypa/virtualenv) | `21.3.2` | `21.3.3` |
| [tox](https://github.com/tox-dev/tox) | `4.52.1` | `4.53.0` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20260510` | `6.0.12.20260518` |


Updates `setuptools` from 82.0.0 to 82.0.1
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v82.0.0...v82.0.1)

Updates `pip` from 26.1 to 26.1.1
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/pip/compare/26.1...26.1.1)

Updates `virtualenv` from 21.3.2 to 21.3.3
- [Release notes](https://github.com/pypa/virtualenv/releases)
- [Changelog](https://github.com/pypa/virtualenv/blob/main/docs/changelog.rst)
- [Commits](https://github.com/pypa/virtualenv/compare/21.3.2...21.3.3)

Updates `tox` from 4.52.1 to 4.53.0
- [Release notes](https://github.com/tox-dev/tox/releases)
- [Changelog](https://github.com/tox-dev/tox/blob/main/docs/changelog.rst)
- [Commits](https://github.com/tox-dev/tox/compare/4.52.1...4.53.0)

Updates `types-pyyaml` from 6.0.12.20260510 to 6.0.12.20260518
- [Commits](https://github.com/python/typeshed/commits)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-version: 82.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: pip-dependencies
- dependency-name: pip
  dependency-version: 26.1.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: pip-dependencies
- dependency-name: virtualenv
  dependency-version: 21.3.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: pip-dependencies
- dependency-name: tox
  dependency-version: 4.53.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: pip-dependencies
- dependency-name: types-pyyaml
  dependency-version: 6.0.12.20260518
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: pip-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-19 18:32:44 +00:00
dependabot[bot]
483798d79f
build(deps): bump the actions group with 2 updates
Bumps the actions group with 2 updates: [psf/black](https://github.com/psf/black) and [cross-platform-actions/action](https://github.com/cross-platform-actions/action).


Updates `psf/black` from 26.3.1 to 26.5.1
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](c6755bb741...87928e6d67)

Updates `cross-platform-actions/action` from 1.0.0 to 1.1.0
- [Release notes](https://github.com/cross-platform-actions/action/releases)
- [Changelog](https://github.com/cross-platform-actions/action/blob/master/changelog.md)
- [Commits](https://github.com/cross-platform-actions/action/compare/v1.0.0...v1.1.0)

---
updated-dependencies:
- dependency-name: psf/black
  dependency-version: 26.5.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: cross-platform-actions/action
  dependency-version: 1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-19 18:26:00 +00:00
Mrityunjay Raj
fc0b076870 testsuite: cover get_repository v1_or_v2 lazy-import branches, refs #9556 2026-05-19 04:03:59 +05:30
TW
adf7352695
Merge pull request #9652 from PhrozenByte/docs-slashdot-and-pattern-master
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / asan_ubsan (push) Has been cancelled
CI / native_tests (push) Has been cancelled
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Has been cancelled
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Has been cancelled
CI / vm_tests (OmniOS, false, omnios, r151056) (push) Has been cancelled
CI / vm_tests (OpenBSD, false, openbsd, 7.8) (push) Has been cancelled
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
Document the impact of the slashdot hack to pattern matching (master)
2026-05-17 22:13:20 +02:00
TW
ecc9ead889
Merge pull request #9653 from ThomasWaldmann/versioning-master
forward port #9608: handle invalid and dev versions in version parser
2026-05-17 22:12:49 +02:00
Thomas Waldmann
da0a2ff26f
fix: properly handle invalid and dev versions in version parser, fixes #9014
- `src/borg/__init__.py`: The `setuptools_scm` fallback version `0.1.dev1`
  was incorrectly bypassing the assertion check (as `0` and `1` are valid
  integers), which hid the intended helpful error message when building
  from source without tags. Added an explicit check for the `0.1.dev` prefix.

- `src/borg/version.py`: `parse_version` and `format_version` have been
  updated to correctly understand `setuptools_scm`'s `.dev` or `dev` prefixes.
  These dev releases are now properly encoded in the version tuple as `-9`
  (which logically makes them older than alphas `-4`, betas `-3`, rcs `-2`,
  and final `-1`), and correctly reformatted to `.dev` strings.

(cherry picked from commit 232ccabfa3)
2026-05-17 21:20:02 +02:00
Daniel Rudolf
ae7d286fdd
Document the impact of the slashdot hack to pattern matching
... or rather that the slashdot hack doesn't impact pattern matching at all. Add a note to `borg help patterns`.

(cherry picked from commit ae1440ed7e)
2026-05-17 13:28:54 +02:00
Mrityunjay Raj
9fa3b5f61d legacy: lazy-import legacy classes inside v1 branches only, refs #9556 2026-05-16 10:07:56 +05:30
Mrityunjay Raj
fdc00d9e8e testsuite: add Archives unit tests, refs #9556 2026-05-16 08:55:41 +05:30
TW
e2a651c684
contributing guide incl. AI policy, fixes #9409
Some checks failed
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CI / asan_ubsan (push) Has been cancelled
CI / native_tests (push) Has been cancelled
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Has been cancelled
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Has been cancelled
CI / vm_tests (OmniOS, false, omnios, r151056) (push) Has been cancelled
CI / vm_tests (OpenBSD, false, openbsd, 7.8) (push) Has been cancelled
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
2026-05-15 14:41:36 +02:00
Mrityunjay Raj
a918deefa9 testsuite: add LegacyArchives unit tests, refs #9556 2026-05-15 06:23:36 +05:30
TW
0a1570f2a8
Merge pull request #9644 from mr-raj12/legacy-archives-extract
Some checks failed
CI / lint (push) Waiting to run
CI / security (push) Waiting to run
CI / asan_ubsan (push) Blocked by required conditions
CI / native_tests (push) Blocked by required conditions
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Blocked by required conditions
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Blocked by required conditions
CI / vm_tests (OmniOS, false, omnios, r151056) (push) Blocked by required conditions
CI / vm_tests (OpenBSD, false, openbsd, 7.8) (push) Blocked by required conditions
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
Lint / lint (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
legacy: extract LegacyArchives into legacy/archives.py, add ArchivesInterface, refs #9556
2026-05-14 20:10:38 +02:00
Mrityunjay Raj
6659bd9e3f legacy: address review: fix docstrings, restore create() comment, add get_by_id test, refs #9556 2026-05-14 20:47:16 +05:30
TW
3db86906b7
Merge pull request #9633 from ThomasWaldmann/fix-fakeinput-usage-master
Some checks are pending
Lint / lint (push) Waiting to run
CI / lint (push) Waiting to run
CI / security (push) Waiting to run
CI / asan_ubsan (push) Blocked by required conditions
CI / native_tests (push) Blocked by required conditions
CI / vm_tests (Haiku, false, haiku, r1beta5) (push) Blocked by required conditions
CI / vm_tests (NetBSD, false, netbsd, 10.1) (push) Blocked by required conditions
CI / vm_tests (OmniOS, false, omnios, r151056) (push) Blocked by required conditions
CI / vm_tests (OpenBSD, false, openbsd, 7.8) (push) Blocked by required conditions
CI / vm_tests (borg-freebsd-14-x86_64-gh, FreeBSD, true, freebsd, 14.3) (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
tests: make FakeInput usage less suspicious for code checkers
2026-05-14 00:29:47 +02:00
Mrityunjay Raj
bf756daaea legacy: extract LegacyArchives, add ArchivesInterface, drop self.legacy branches, refs #9556 2026-05-14 03:57:30 +05:30
TW
e134212231
Merge pull request #9636 from ThomasWaldmann/fix-test_key_export_repokey-master
fix test_key_export_repokey typo
2026-05-14 00:27:18 +02:00
TW
be78ec0983
Merge pull request #9638 from borgbackup/ai-findings-autofix/docs-deployment-pull-backup.rst
docs: pull-backup.rst minor fixes (master)
2026-05-14 00:26:21 +02:00