Commit graph

764 commits

Author SHA1 Message Date
Dan Helfman
645d29b040 Fix archive checks being skipped even when particular archives haven't been checked recently (#688). 2023-05-15 23:17:45 -07:00
Divyansh Singh
49b4d371ce create and add content to borgmatic-manifest.json 2023-05-16 00:24:19 +05:30
Divyansh Singh
1bc7bb4971 feat: store configs used to create an archive in the archive 2023-05-15 23:04:42 +05:30
Dan Helfman
8eb05b840a Log a warning when "borgmatic borg" is run with an action that borgmatic natively supports (#694). 2023-05-14 09:59:28 -07:00
Dan Helfman
403ae0f698 Clarify configuration comment about source_directories also accepting files (#693). 2023-05-09 10:14:03 -07:00
Dan Helfman
92a2230a07 Add support for logging each log line as a JSON object via global "--log-json" flag (#680). 2023-05-08 23:00:49 -07:00
Dan Helfman
b3b08ee6d7 Fix error in "borgmatic restore" action when the configured repository path is relative (#691). 2023-05-07 21:21:35 -07:00
Dan Helfman
4aae7968b8
Add fish shell completions support (#686).
Merge pull request #70 from isaec/feat/fish-completions
2023-05-06 16:00:25 -07:00
Isaac
43c532bc57
add test for dedent strip 2023-05-06 11:51:35 -07:00
Isaac
efb81fc2c1
rename last arg helper function to current arg for clarity 2023-05-06 11:42:32 -07:00
Isaac
c8f4344f89
add more justification to checks 2023-05-06 11:39:02 -07:00
Isaac
a047f856a1
tweak docstring, add comment 2023-05-06 11:37:38 -07:00
Isaac
d732059979
fix rotted comments 2023-05-06 11:32:10 -07:00
Isaac
aa564ac5fe
fix the error thrown, unit test for it, and add string explanations 2023-05-06 11:25:15 -07:00
Isaac
372622fbb1
add more doccomments, drop a check 2023-05-06 10:46:27 -07:00
Isaac
469e0ccace
create doccomments, start writing unit tests 2023-05-06 10:42:06 -07:00
Isaac
59a6ce1462
replace double quotes with single quotes 2023-05-05 00:03:43 -07:00
Isaac
5a7a1747f2
add safety check to avoid infinite cat hang 2023-05-05 00:01:45 -07:00
Isaac
b557d635fd
async validity check 2023-05-04 23:57:37 -07:00
Isaac
d59b9b817f
support required actions 2023-05-04 23:44:54 -07:00
Isaac
16ac4824a5
handle typed without default params 2023-05-04 23:42:04 -07:00
Isaac
3592ec3ddf
dont show deprecated options 2023-05-04 23:32:09 -07:00
Isaac
8f3039be23
handle the expanding filters better 2023-05-04 23:23:29 -07:00
Isaac
b4a38d8be9
fix flag showing up for paths 2023-05-04 23:06:11 -07:00
Isaac
d962376a9d
refactor to only show specific options if possible 2023-05-04 21:58:30 -07:00
Isaac
193731a017
rename function 2023-05-04 21:14:48 -07:00
Isaac
bbc3e9d717
show possible choices 2023-05-04 21:12:24 -07:00
Isaac
639e88262e
create working file completion 2023-05-04 20:17:26 -07:00
Isaac
f12a10d888
start work on conditional file completion 2023-05-04 19:50:49 -07:00
Isaac
28efc85660
rearrange to improve legability of the file 2023-05-04 18:11:13 -07:00
Isaac
f1fd2e88dd
drop blank completion 2023-05-04 13:49:29 -07:00
Isaac
700f8e9d9c
replace .format with fstring 2023-05-04 13:39:48 -07:00
Isaac
f04036e4a7
use fstring to produce completion lines 2023-05-04 13:33:21 -07:00
Isaac
062453af51
replace actionStr with action_name 2023-05-04 13:29:25 -07:00
Isaac
9ff5ea5240
add a unit test, fix isort and black 2023-05-04 13:22:09 -07:00
Dan Helfman
359afe5318 Error if --list is used with --json for create action (#680). 2023-05-03 17:16:36 -07:00
Dan Helfman
0b397a5bf9 Fix borgmatic error when not finding the configuration schema for certain "pip install --editable" development installs (#687). 2023-04-30 16:24:10 -07:00
Dan Helfman
a60d7fd173 Run "borgmatic borg" action without capturing output so interactive prompts and flags like "--progress" still work. 2023-04-30 15:43:41 -07:00
Isaac
98e3a81fcf
allow file completions as applicable 2023-04-28 12:42:26 -07:00
Isaac
9c77ebb016
continue deduping 2023-04-28 12:15:01 -07:00
Isaac
23f478ce74
use less completion lines 2023-04-28 12:13:08 -07:00
Isaac
d265b6ed6f
add comments in generated files 2023-04-28 11:57:16 -07:00
Isaac
2e658cfa56
only allow one parser 2023-04-27 21:57:50 -07:00
Isaac
412d18f218
show sub options 2023-04-27 21:31:53 -07:00
Isaac
8060586d8b
fix the script and drop unneeded options 2023-04-27 20:05:17 -07:00
Isaac
25b3db72a0
make more precise, fix the version check fn 2023-04-27 19:58:22 -07:00
Isaac
5678f3a96e
basic working version 2023-04-27 19:44:11 -07:00
Isaac
28b152aedd
make upgrade message a template 2023-04-27 19:31:42 -07:00
Isaac
0009471f67
start work on completion 2023-04-27 18:46:13 -07:00
jetchirag
a62ac42cca Merge branch 'main' into borg2-archive-flags 2023-04-27 16:57:29 +00:00
Chirag Aggarwal
68ee9687f5 Added tests for all subcommands and used black formatter
Signed-off-by: Chirag Aggarwal <thechiragaggarwal@gmail.com>
2023-04-27 22:27:23 +05:30
Chirag Aggarwal
96aca4f446 Updated existing tests to use new parameters
Signed-off-by: Chirag Aggarwal <thechiragaggarwal@gmail.com>
2023-04-24 20:24:41 +05:30
Dan Helfman
5962fd473e Another try. Backing out psql error changes (#678). 2023-04-21 10:34:50 -07:00
Jesse Johnson
a14870ce48 Expand source directories when checking for existence (#682). 2023-04-21 05:52:04 +00:00
Dan Helfman
da0f5a34f2 Fix multiple bugs in PostgreSQL hook (#678).
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/677
2023-04-21 04:05:22 +00:00
Dan Helfman
065be1d9d4 More inclusive language. 2023-04-20 14:28:04 -07:00
Dan Helfman
9f5769f87b Make docs/schema a little more container agnostic / less Docker specific. 2023-04-16 15:41:17 -07:00
Chirag Aggarwal
1ee56805f1 Merge remote-tracking branch 'upstream/master' into borg2-archive-flags 2023-04-15 17:29:20 +05:30
Dan Helfman
8cb5a42a9e Drop deprecated pkg_resources in favor of importlib.metadata and packaging. 2023-04-14 21:21:25 -07:00
Dan Helfman
5dbb71709c Upgrade test requirements and code style requirements. Auto-reformat code accordingly. 2023-04-14 19:35:24 -07:00
Dan Helfman
81e167959b
feat: restore specific schemas (#375).
Merge pull request #67 from diivi/feat/restore-specific-schemas
2023-04-14 16:26:25 -07:00
Divyansh Singh
f273e82d74 add tests 2023-04-15 02:57:51 +05:30
Jakub Jirutka
17f122bfe5 Use psql instead of pg_restore when format is "plain"
pg_restore: error: input file appears to be a text format dump. Please use psql.
2023-04-14 17:38:19 +02:00
Jakub Jirutka
f0f43174c6 Swap if-else in restore_database_dump in postgresql hook for cleanliness 2023-04-14 17:38:19 +02:00
Jakub Jirutka
dfccc1b94a Exit on error when restoring all PostgreSQL databases
"--set ON_ERROR_STOP=on" is equivalent to "--exit-on-error" in
pg_restore.
2023-04-14 17:38:18 +02:00
Jakub Jirutka
195024e505 Fix psql_command and pg_restore_command to accept command with arguments
These commands are executed without `shell=True`, so the subprocess
module treats e.g. "docker exec my_pg_container psql" as a single command
(resulting in Errno 2 "No such file or directory") instead of a command
with arguments.
2023-04-14 17:37:38 +02:00
Jakub Jirutka
19a00371f5 Run "psql" with "--no-psqlrc"
Some settings in user's .psqlrc, e.g. "linestyle unicode", may break the
CSV output. "--no-psqlrc" tells psql to not read startup file.

This is not necessary for the analyze_command and restore_command (with
all_databases), but it's generally recommended when running psql from a
script.
2023-04-14 17:37:37 +02:00
Jakub Jirutka
874fba7672 Fix PostgreSQL hook not using "psql_command" for list when dumping "all" 2023-04-14 15:13:49 +02:00
Dan Helfman
4a94c2c9bf Selectively omit list values when including configuration files (#672). 2023-04-13 14:39:36 -07:00
Dan Helfman
1ea4433aa9 Selectively shallow merge certain mappings or sequences when including configuration files (#672). 2023-04-11 21:49:10 -07:00
Divyansh Singh
2fea429d78 collection restore for mongodb 2023-04-12 09:34:19 +05:30
Divyansh Singh
264cebd2b1 complete psql multi schema backup 2023-04-11 23:19:49 +05:30
Dan Helfman
4c0e2cab78 View the results of configuration file merging via "validate-borgmatic-config --show" flag (#673). 2023-04-11 10:49:09 -07:00
Dan Helfman
b4b1fa939d
feat: add logfile name to hook context for interpolation
Merge pull request #68 from diivi/feat/add-log-filename-to-hook-context
2023-04-06 13:46:45 -07:00
Divyansh Singh
16d7131fb7 refactor tests 2023-04-07 01:00:38 +05:30
Divyansh Singh
091d60c226 refactor and improve tests 2023-04-06 12:36:10 +05:30
Divyansh Singh
0fbdf8d860 feat: add logfile name to hook context for interpolation 2023-04-06 09:31:24 +05:30
Dan Helfman
192bfe46a9 Fix error when running the "prune" action with both "archive_name_format" and "prefix" options set (#668). 2023-04-05 14:58:05 -07:00
Divyansh Singh
9bc2322f9a feat: restore specific schemas 2023-04-06 02:10:36 +05:30
Dan Helfman
616eb6b6da Fix error with "info --match-archives" and fix "--match-archives" overriding logic (#666). 2023-04-04 21:25:10 -07:00
Dan Helfman
7e6bee84b0 Add "--log-file-format" flag for customizing the log message format (#658). 2023-04-02 23:06:36 -07:00
Dan Helfman
9712d00680 Add "match_archives" option (#588). 2023-04-01 23:57:55 -07:00
Dan Helfman
2934d0902c Code spell checking on every test run! 2023-04-01 11:03:59 -07:00
Divyansh Singh
32ab17fa46 merge 2023-04-01 22:12:41 +05:30
Divyansh Singh
6054ced931 fix: run typos 2023-04-01 22:10:32 +05:30
Dan Helfman
3f78ac4085 Automatically use the "archive_name_format" option to filter which archives get used for borgmatic actions that operate on multiple archives (#479). 2023-03-31 15:21:08 -07:00
Dan Helfman
5f595f7ac3 Fix regression in which the "transfer" action produced a traceback (#663). 2023-03-30 23:21:20 -07:00
Dan Helfman
b27e625a77 Update schema comment for check_repositories to mention labels (#635). 2023-03-28 15:44:38 -07:00
Divyansh Singh
ce22d2d302 reformat 2023-03-28 22:29:21 +05:30
Divyansh Singh
2d08a63e60 fix: make check repositories work with dict and str repositories 2023-03-28 22:14:50 +05:30
Chirag Aggarwal
98c6aa6443 Use Square brackets to denote version specific flag
Signed-off-by: Chirag Aggarwal <thechiragaggarwal@gmail.com>
2023-03-28 18:15:49 +05:30
Chirag Aggarwal
edd79ed86c removed individual action parameters, and used make_flags_from_arguments
Signed-off-by: Chirag Aggarwal <thechiragaggarwal@gmail.com>
2023-03-28 18:10:42 +05:30
Dan Helfman
7a8e0e89dd Mention prior versions of borgmatic in repositories schema. 2023-03-27 21:54:01 -07:00
Dan Helfman
0e3da7be63 Fix repository schema description. 2023-03-27 16:15:24 -07:00
Dan Helfman
3e8e38011b
Labels for repositories (#635).
Merge pull request #57 from diivi/feat/tag-repos
2023-03-27 15:46:22 -07:00
Chirag Aggarwal
4fa4fccab7 Use make_flags_from_arguments on mount; Pending test fixes
Signed-off-by: Chirag Aggarwal <thechiragaggarwal@gmail.com>
2023-03-27 23:24:17 +05:30
Dan Helfman
d0d3a39833 When a database command errors, display and log the error message instead of swallowing it (#396). 2023-03-27 10:36:39 -07:00
Dan Helfman
acbbd6670a Removing debugging command output. 2023-03-26 21:26:35 -07:00
Divyansh Singh
ec9def4e71 rename repository arg to repository_path in all borg actions 2023-03-26 23:52:25 +05:30
Divyansh Singh
b511e679ae remove optional label for repos from tests 2023-03-26 16:59:29 +05:30