Commit Graph
1117 Commits
Author SHA1 Message Date
Dan Helfman 4d26650884 Fix incorrect use of "--log-json" in the "key change-passphrase" action (#485). 2026-01-08 22:54:37 -08:00
Dan Helfman 1299aefeff For the "repo-delete" action, don't pass "--log-json" to Borg when running Borg interacively (#485). 2026-01-08 21:29:15 -08:00
Dan Helfman bc8649e11a For the "repo-info" action, don't pass "--log-json" to Borg when "--json" is also set (#485). 2026-01-08 10:42:35 -08:00
Dan Helfman 0ffa4ec429 For the "repo-create" action, don't pass "--log-json" to Borg, as its output isn't captured and parsed (#485). 2026-01-08 10:27:02 -08:00
Dan Helfman b0e083eff2 BREAKING: Support disabling both constant and variable interpolation by escaping with backslashes (#1213). 2026-01-05 15:39:14 -08:00
Dan Helfman 71291409fe SECURITY: Prevent shell injection attacks via constant interpolation in command hooks. 2026-01-04 21:56:53 -08:00
Dan Helfman 6db2622cce Add "unsafe_skip_path_validation_before_create" option to skip pre-backup validation (#1221).
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1222
2026-01-05 04:39:49 +00:00
Simon Pilkington c0b4c596ef Run borg with --progress during extract dry run if passed to borgmatic check. 2026-01-05 03:40:01 +01:00
Julien Cornebise 3bec359355 Merge branch 'main' into add-unsafe-create-without-precheck-option 2026-01-04 22:07:15 +00:00
Julien Cornebise c08f1b8178 Rename unsafe_create_without_precheck to unsafe_skip_path_validation_before_create and address PR feedback (#1222).
- Use skip_ prefix consistent with other borgmatic options
- Reduce runtime warning to single line (users read the config docs)
- Broaden "database dumps" to "data from borgmatic data source hooks"
- Simplify schema docs by referencing user_runtime_directory instead of listing defaults
2026-01-04 22:02:47 +00:00
Dan Helfman 0f3234d681 Cleanup snapshots immediately after ZFS, LVM, or Btrfs hooks error (#1220). 2026-01-03 22:22:55 -08:00
Julien Cornebise 7e1cb691b6 Add "unsafe_create_without_precheck" option to skip pre-backup validation (#1221).
This option allows users to skip the dry-run validation that checks for
special files and runtime directory exclusions. This can significantly
improve performance for large filesystems with millions of files, where
the validation can take hours.

The option name includes "unsafe" to communicate risk, and a warning is
logged on each backup showing the runtime directory path and advising
users to verify their exclude patterns manually.
2026-01-03 20:54:27 +01:00
Dan Helfman 92c141602d Fix typo in test name. 2026-01-03 10:06:39 -08:00
Dan Helfman 3c2099f587 Add missing test for log_outputs() stderr -> ERROR log. 2026-01-02 23:04:53 -08:00
Dan Helfman 233a9054c9 Merge branch 'main' into subprocess-stderr-to-error-logs 2026-01-02 18:51:16 -08:00
Dan Helfman 76c0432fca Fix end-to-end tests. 2026-01-02 14:57:38 -08:00
Dan Helfman 6f075f52fd Get unit/integration tests passing. 2026-01-01 22:24:56 -08:00
Dan Helfman b19e0e6455 Add some missing execute.py test coverage. 2025-12-31 23:05:50 -08:00
Dan Helfman 11253d2b1d Get existing test passing. 2025-12-30 23:19:10 -08:00
Dan Helfman 9f6cce2a39 Get several existing tests passing and refactor logging of lines from external programs. 2025-12-30 22:25:12 -08:00
Dan Helfman ec8168af46 Fix an error about the runtime directory getting excluded by tweaking its logic and lowering the error to a warning (#1211). 2025-12-26 22:53:21 -08:00
Dan Helfman 126b08b1ac Merge branch 'main' of ssh://projects.torsion.org:3022/borgmatic-collective/borgmatic 2025-12-26 09:48:21 -08:00
Dan Helfman 802ca5aef3 Fix an error when running the "spot" check or "extract" action with the "progress" option or "--progress" flag (#1210). 2025-12-26 09:46:39 -08:00
Dan Helfman 047a374514 Fix existing automated tests (#1208). 2025-12-25 13:56:01 -08:00
Dan Helfman ef7e934f5b Merge branch 'main' into fix-restore-too-many-databases 2025-12-24 10:43:10 -08:00
Dan Helfman a3750d1e06 Fix an error when restoring multiple directory-format database dumps at once (#1212). 2025-12-23 20:28:15 -08:00
Dan Helfman b8642439cd Fix for the database "restore" action restoring more databases than the "--database" flag specifies (#1208). 2025-12-22 15:46:28 -08:00
Dan Helfman 45d35614f2 Fix several tests (#485). 2025-12-22 11:52:55 -08:00
Dan Helfman 54d955bc95 Fix automated tests and update NEWS (#1206). 2025-12-20 16:59:13 -08:00
Dan Helfman a72f9b24b5 Merge branch jacksonchen666-btrfs-remove-pid into btrfs-remove-pid and streamline the docs a bit. 2025-12-20 16:02:42 -08:00
Dan Helfman 1b471f5346 Code formatting (#1054). 2025-12-19 23:20:38 -08:00
Dan Helfman 9428a92297 Fix broken Btrfs end-to-end test (#1054). 2025-12-19 23:10:33 -08:00
Dan Helfman c0d4489c25 Add unnecessary fake Btrfs read-only flag in end-to-end test (#1054). 2025-12-19 19:15:09 -08:00
Dan Helfman b4ea45ab74 Allow the Btrfs hook to create and delete snapshots even when running as a non-root user (#1054). 2025-12-19 19:10:31 -08:00
Dan Helfman 6ae9b973fc For the MariaDB and MySQL database hooks, creates a consistent snapshot by dumping all tables in a single transaction (#1193). 2025-12-19 11:53:30 -08:00
Dan Helfman 01c7d0a0db Fix that errors and exits when the borgmatic runtime directory is partially excluded by configured excludes (#1203). 2025-12-18 19:04:42 -08:00
Dan Helfman a31f913f54 For the MariaDB and MySQL database hooks, add a "socket_path" option for Unix socket database connections (#1193). 2025-12-14 21:13:21 -08:00
Dan Helfman c8307065fa Add a "file_list_format" option for setting the "list" action's output format and an "archive_list_format" option for setting the "repo-list" action's format (#1179). 2025-12-12 22:31:41 -08:00
Dan Helfman 50a062611e Fix a regression in the ZFS, LVM, and Btrfs hooks in which snapshotted paths ignored global excludes (#1195). 2025-12-02 15:40:42 -08:00
Dan Helfman 2a97ac0174 Fix for over-aggressive deduplication of source directories that contain the borgmatic runtime directory (#1192). 2025-12-01 17:14:31 -08:00
Dan Helfman 8f2ae5e9a1 Fix a regression in the Btrfs hook in which subvolume snapshots didn't get cleaned up until the start of the next borgmatic run (#1186). 2025-11-26 13:59:23 -08:00
Jackson dec47298bd somehow make a test work 2025-11-22 08:03:40 +01:00
Jackson f95fbaa6aa fix at least some tests (with changed snapshot path)
this really is just a blanket find and replace though
2025-11-21 09:22:34 +01:00
Dan Helfman a7356f2360 Fix for the database dumps hooks not respecting the "working_directory" option (#1127).
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1129
2025-11-19 18:40:50 +00:00
Dan Helfman 66e567f78c Hard-code default configuration paths in command-line flag help (#1184).
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1184
2025-11-19 06:25:56 +00:00
Tim Ruffing 573405bb88 Hard-code default config paths in help strings
This fixes a bug with fish completions. Before this commit,
`borgmatic --fish-completion` would generate a fish completion script
with an expanded XDG_CONFIG_HOME (if this variable is set).

This is problematic for package maintainers if the variable is set
during the creation of a package.

Moreover, it is problematic if the user has set this variable because
the fish completion scripts checks its own consistency with `borg
--fish-completion` during startup to detect version mismatches. If the
user has a packaged fish completion file with "~/.config/$HOME" in it,
this won't match the output of `borg --fish-completion` because the
latter contains the expansion of $XDG_CONFIG_HOME. As a result, the
script will incorrectly conclude that it is outdated.
2025-11-17 15:42:30 +01:00
Dan Helfman 0e9193c46b Add an "ask_for_password" option to the KeePassXC credential hook for disabling KeePassXC's password prompt (#1181). 2025-11-14 21:20:21 -08:00
bockulator ce7f0226be Mock get_working_directory() calls in data source hook tests 2025-11-11 15:36:51 +01:00
bockulator 51ef9c7708 Fix database dumps hooks not respecting working_directory 2025-11-11 14:22:34 +01:00
Dan Helfman 14a8055e71 In the SQLite database hook, run SQLite such that it exits upon encountering an error instead of, you know, not doing that. 2025-11-07 23:22:44 -08:00