Dan Helfman
e428d74258
Fix the (unreleased) "archive_hostname" option / "--archive-hostname" flag to pass an environment variable to Borg instead of a flag. Also add an "archive_username" option and corresponding "--archive-username" flag to override the "{user}" plaecholder ( #1317 ).
2026-07-20 18:57:11 -07:00
Dan Helfman
a73e28155c
Add an "--archive-hostname" flag and corresponding "archive_hostname" option for overriding the hostname used when creating an archive ( #1317 ).
2026-06-15 13:48:02 -07:00
Dan Helfman
9a2e853ea7
Merge branch 'main' into browse-action
2026-05-22 20:01:50 -07:00
Dan Helfman
704db9c9d7
Add a "--quick-stats" flag and corresponding "quick_statistics" option ( #1309 ).
2026-05-22 14:12:46 -07:00
Dan Helfman
9aea0b1d90
Fix broken tests.
2026-05-22 12:19:34 -07:00
Dan Helfman
23e451e641
Treat Borg "file not found" warnings (exit code 107) as warnings again instead of errors. Also un-deprecate the "source_directories_must_exist" option and default it to true ( #1248 ).
2026-03-05 13:14:03 -08:00
slantsh
ea2a253134
added --files-changed flag
2026-02-22 13:17:09 +05:30
Dan Helfman
f6124528df
When the "unsafe_skip_path_validation_before_create" option is enabled, don't log a warning about it ( #1244 ).
2026-01-25 12:17:35 -08:00
Dan Helfman
a308ffca64
Add missing test coverage ( #1225 ).
2026-01-07 22:13:55 -08:00
Dan Helfman
6407b3bd80
Fix existing tests ( #1225 ).
2026-01-07 19:58:25 -08: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
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
233a9054c9
Merge branch 'main' into subprocess-stderr-to-error-logs
2026-01-02 18:51:16 -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
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
c4c40af812
Account for the case where "store_config_files: false" and the runtime directory never gets added to patterns to begin with ( #1122 ).
2025-09-12 22:17:44 -07:00
Dan Helfman
5028fe9ff4
Bring doc string up to date and rename function for clarity. ( #1122 ).
2025-09-12 14:03:52 -07:00
Dan Helfman
f60007545b
Update automated tests ( #1122 ).
2025-09-12 12:54:38 -07:00
Dan Helfman
9a80fec91b
When running tests, use Ruff for faster and more comprehensive code linting and formatting.
2025-07-17 23:24:58 -07:00
Dan Helfman
1b62be0949
Fix a bug in which quoted "extra_borg_options" values containing spaces are passed to Borg incorrectly. Add a "--comment" flag to the "create" action for creating an archive with a comment ( #1108 ).
2025-06-30 16:16:53 -07:00
Tobias Schlatter and Dan Helfman
123f8958f6
Create a checkpoint archive first with streaming processes ( #1032 ).
...
This ensures that if a streaming process fails, we do not create a
real (i.e. non-checkpoint archive), (fixes #1032 ).
Without this, there is a race condition where borg already creates an
archive before borgmatic can kill it.
Tested locally (with `pipx install --editable .`):
```sh
borgmatic --config config.yaml create
borgmatic --config config.yaml create --json
```
## Hold up!
Thanks for your contribution. Unfortunately, we don't use GitHub pull requests to manage code contributions to this repository (and GitHub doesn't have any way to disable pull requests entirely). Instead, please see:
https://torsion.org/borgmatic/#contributing
... which provides full instructions on how to submit pull requests. You can even use your GitHub account to login.
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1102
Reviewed-by: Dan Helfman <witten@torsion.org >
Co-authored-by: Tobias Schlatter <schlatter.tobias@gmail.com >
Co-committed-by: Tobias Schlatter <schlatter.tobias@gmail.com >
2025-06-25 16:24:07 +00:00
Dan Helfman
0d94a6587a
Move pattern and flag functions from create.py into their own module ( #1056 ).
...
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1056
Reviewed-by: Dan Helfman <witten@torsion.org >
2025-04-07 03:51:36 +00:00
Vandal
360156e3b1
refactor codebase
2025-04-06 21:34:04 +05:30
Dan Helfman
49839e884a
Add configuration options for logging and verbosity ( #793 ).
2025-04-04 10:11:00 -07:00
Dan Helfman
cf477bdc1c
Fix broken list_details, progress, and statistics options ( #303 ).
2025-03-31 11:33:56 -07:00
Dan Helfman
5d9c111910
Fix a runtime directory error from a conflict between "extra_borg_options" and special file detection ( #999 ).
2025-02-22 14:26:21 -08:00
Dan Helfman
4ee2603fef
Merge branch 'main' into passphrase-via-file-descriptor
2025-02-21 20:26:48 -08:00
Dan Helfman
e69c686abf
Get all unit/integration tests passing ( #1001 ).
2025-02-21 11:32:57 -08:00
Dan Helfman
07ecc0ffd6
Send the "encryption_passphrase" option to Borg via an anonymous pipe.
2025-02-17 11:03:36 -08:00
Dan Helfman
6cfa10fb7e
Fix a "list" action error when the "encryption_passcommand" option is set ( #987 ).
2025-02-03 23:11:59 -08:00
Dan Helfman
61f0987051
Merge branch 'main' into log-repository-everywhere
2025-01-27 22:03:35 -08:00
Dan Helfman
b6ff242d3a
Fix for borgmatic "exclude_patterns" and "exclude_from" recursing into excluded subdirectories ( #982 ).
2025-01-27 10:07:19 -08:00
Dan Helfman
7d56641f56
Get existing unit tests passing ( #635 ).
2025-01-26 12:13:29 -08:00
Dan Helfman
8c5db19490
Code formatting ( #635 ).
2025-01-25 14:14:48 -08:00
Dan Helfman
cc7e01be68
Log the repository path or label on every relevant log message, not just some logs ( #635 ).
2025-01-25 14:01:25 -08:00
Dan Helfman
1232ba8045
Revert "Log the repository path or label on every relevant log message, not just some logs ( #635 )."
...
This reverts commit 90c1161a8c .
2025-01-25 13:57:56 -08:00
Dan Helfman
90c1161a8c
Log the repository path or label on every relevant log message, not just some logs ( #635 ).
2025-01-25 13:55:58 -08:00
Dan Helfman
2467518d4e
Add even more missing test coverage ( #962 ).
2025-01-16 15:11:59 -08:00
Dan Helfman
bbf1c3d55e
Add test coverage for new code.
2025-01-14 23:01:39 -08:00
Dan Helfman
0b17fb2d3f
Get all existing tests passing ( #962 ).
2025-01-14 13:48:20 -08:00
Dan Helfman
ca54da1067
Getting additional tests passing ( #962 ).
2025-01-13 20:51:27 -08:00
Dan Helfman
5560f30aa6
Fix a borgmatic runtime directory error when running the "spot" check with a database hook enabled ( #965 ).
2025-01-12 09:36:24 -08:00
Dan Helfman
2c70ad81ec
Fix the "spot" check to support relative source directory paths ( #960 ). Fix the "spot" check to no longer consider pipe files within an archive for file comparisons. Fix auto-excluding of special files (when databases are configured) to support relative source directory paths.
2025-01-01 15:00:36 -08:00
Dan Helfman
267af5b372
To avoid a hang in the database hooks, error and exit when the borgmatic runtime directory overlaps with the configured excludes ( #947 ).
2024-12-19 20:59:57 -08:00
Dan Helfman
5a24bf2037
Get tests passing ( #261 ).
2024-11-22 20:16:18 -08:00
Dan Helfman
295bfb0c57
Update the logic that probes for the borgmatic streaming database dump, bootstrap metadata, and check state directories to support more platforms and use cases ( #934 ).
2024-11-15 18:15:32 -08:00
Dan Helfman
814cdb4b87
Deprecate the "borgmatic_source_directory" option in favor of "user_runtime_directory" and "user_state_directory" ( #562 ). Move the default borgmatic streaming database dump and bootstrap metadata location on disk ( #562 ). With Borg 1.4+, store database dumps and bootstrap metadata in a "/borgmatic" directory within a backup archive ( #838 ). Add "--local-path", "--remote-path", and "--user-runtime-directory" flags to the "config bootstrap" action.
2024-11-03 13:14:05 -08:00
Dan Helfman
13878be254
Move the default check state directory ( #562 , #638 ). Deprecate the "borgmatic_source_directory" option in favor of "borgmatic_runtime_directory" and "borgmatic_state_directory" ( #562 ).
2024-10-30 22:36:43 -07:00