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
Dan Helfman
83bc737185
Borg 2 changes: Default the "archive_name_format" option to just "{hostname}". Update the "--match-archives"/"--archive" flags to support series names / archive hashes. Add a "--match-archives" flag to the "prune" action.
2024-10-25 14:26:31 -07:00
Dan Helfman
bd4c672382
Apply the "working_directory" option to all actions, not just "create". Also fix the glob expansion of "source_directories" values to respect the "working_directory" option ( #609 ).
2024-10-20 16:04:41 -07:00
Dan Helfman
b7efa0d3f0
When databases are configured, don't auto-enable the "one_file_system" option ( #918 ).
2024-10-01 10:16:30 -07:00
Dan Helfman
34305d686c
Revert "Add missing test ( #911 )" which accidentally included unrelated changes.
...
This reverts commit bf1e8bc44e .
2024-10-01 09:28:39 -07:00
Dan Helfman
bf1e8bc44e
Add missing test ( #911 ).
2024-10-01 09:26:00 -07:00
Dan Helfman
e0298685a1
Fix the "source_directories_must_exist" option to work with relative "source_directories" paths when a "working_directory" is set ( #905 ).
2024-08-20 13:52:06 -07:00
Dan Helfman
f4fcf92bd6
Add an "upload_buffer_size" option to set the size of the upload buffer used in "create" action ( #865 ).
2024-06-23 16:26:22 -07:00
Dan Helfman
4c2eb2bfe3
Spot check basically complete other than docs ( #656 ).
2024-04-15 11:02:05 -07:00
Dan Helfman
6680aece5a
Split out (most of) command construction from create_archive() in preparation for reuse in spot check ( #656 ).
2024-04-04 14:23:56 -07:00
Dan Helfman
abf2b3a8c7
Elevate specific Borg warnings to errors or squash errors to warnings ( #798 ).
2024-01-21 11:34:40 -08:00
Dan Helfman
63198088c4
Store included configuration files within each backup archive in support of the "config bootstrap" action ( #736 ).
2024-01-09 13:47:20 -08:00
Dan Helfman
5d80c366fb
Fix "borg create" flags/argument interleaving.
2023-08-04 20:02:09 -07:00
Dan Helfman
c5c3e2e0ce
Code formatting ( #725 ).
2023-07-31 14:01:20 -07:00
Divyansh Singh
962267b3c5
add test for checking manifest creation
2023-08-01 02:26:36 +05:30
Divyansh Singh
562f4a281b
add test
2023-08-01 02:01:15 +05:30
Dan Helfman
e8dbca9d68
Truncate long command output without assuming an encoded byte string.
2023-07-10 11:16:18 -07:00
Dan Helfman
48b6a1679a
Remove sections ( #721 ).
2023-07-08 23:14:30 -07:00