Commit Graph
47 Commits
Author SHA1 Message Date
Dan Helfman f15e8282ab Fix a broken "create" action and "--archive latest" flag when multiple archives share the same name with Borg 2 (#1146). 2025-09-19 14:30:33 -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 SchlatterandDan 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
Vandal 360156e3b1 refactor codebase 2025-04-06 21:34:04 +05:30
Dan Helfman cf477bdc1c Fix broken list_details, progress, and statistics options (#303). 2025-03-31 11:33:56 -07:00
Dan Helfman 668f767bfc Adding some missing tests and fixing related flag vs. config logic (#303). 2025-03-28 23:11:15 -07:00
Dan Helfman ec88bb2e9c Merge branch 'main' into unified-command-hooks. 2025-03-09 13:37:17 -07:00
Dan Helfman 68b6d01071 Fix a regression in which the "exclude_patterns" option didn't expand "~" (#1021). 2025-03-09 13:35:22 -07:00
Dan Helfman 6a96a78cf1 Fix existing tests (#1019). 2025-03-07 22:58:25 -08:00
Dan Helfman e69c686abf Get all unit/integration tests passing (#1001). 2025-02-21 11:32:57 -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 4c35a564ef Fix root patterns so they don't have an invalid "sh:" prefix before getting passed to Borg (#979). 2025-01-25 07:59:53 -08:00
Dan Helfman f08014e3be Code formatting. 2025-01-23 12:11:27 -08:00
Pavel Andreev 73c196aa70 Fix according to review comments 2025-01-23 19:49:10 +00:00
Pavel Andreev 5d390d7953 Fix patterns parsing 2025-01-23 15:58:43 +00:00
Dan Helfman 804455ac9f Fix for "exclude_from" files being completely ignored (#971). 2025-01-19 10:27:13 -08:00
Dan Helfman e66df22a6e Fix for an error when a blank line occurs in the configured patterns or excludes (#970). 2025-01-18 09:25:29 -08:00
Dan Helfman 2467518d4e Add even more missing test coverage (#962). 2025-01-16 15:11:59 -08:00
Dan Helfman cfeeb87bbe Fix pattern expansion/normalization bug with working directory (#962). 2025-01-15 11:26:26 -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 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 a4954cc7a3 Fix for archives storing relative source directory paths such that they contain the working directory (#960). 2024-12-29 20:09:13 -08:00
Dan Helfman 689643e5fa Move bootstrap manifest file creation into a hook so it can actually clean up after itself. 2024-11-24 16:00:33 -08:00
Dan Helfman f4a736bdfe Deduplicate directories again after hooks have their way with them (#261). 2024-11-23 14:33:41 -08:00
Dan Helfman c65aa24001 Add test coverage for ZFS hook (#261). 2024-11-23 10:50:58 -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 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 e80e0a253c Add configured repository labels to the JSON output for all actions (#800). 2023-12-20 09:17:41 -08:00
Dan Helfman f39cea4abf Remove additional Python 3.7-isms (#784). 2023-11-07 10:17:16 -08: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
Dan Helfman 48b6a1679a Remove sections (#721). 2023-07-08 23:14:30 -07:00
Dan Helfman 0f9756e739 Fix failing test and add "bootstrap" action to CLI reference docs (#697). 2023-06-10 15:17:18 -07:00
Dan Helfman d84f1ec616 Add bootstrap action to NEWS and make post-PR tweaks (#697). 2023-06-10 14:52:00 -07:00
Divyansh Singh 8384eaefb1 reformat 2023-06-08 00:07:36 +05:30
Divyansh Singh dcb90bba50 some tests remaining 2023-06-07 23:56:02 +05:30
Divyansh Singh 2d761dd86b coverage at 100 2023-06-07 01:43:01 +05:30
Divyansh Singh ee32b076eb update tests and formatting 2023-05-16 23:17:35 +05:30
Divyansh Singh e83ad9e1e4 use repository["path"] instead of repository 2023-03-25 01:04:57 +05:30
Dan Helfman 7605838bfe Add "--repository" flag to all actions where it makes sense (#564). 2023-03-16 13:27:08 -07:00
Nain 3e22414613 Update tests
Make them more explicit. Also formatting.
2023-03-16 14:01:29 -04:00
Nain 5f87ea3ec5 Add "--repository" flag to the "create" action 2023-03-16 13:15:49 -04:00
Dan Helfman 0e6b2c6773 Optionally dump "all" PostgreSQL databases to separate files instead of one combined dump file (#438, #560). 2023-01-25 23:31:07 -08:00