Commit Graph

8840 Commits

Author SHA1 Message Date
Winfried Plappert 79cc72183e rewrite - have more tests 2025-02-20 13:20:16 +00:00
Winfried Plappert ec34ffe31f rewrite: restuctured code to use func walker.NodeKeepEmptyDirectoryFunc
NodeKeepEmptyDirectoryFunc will be called when a subdirectory found to be empty
to decide how to proceed.
NodeKeepEmptyDirectoryFunc is calling the --include pattern filter functions and
returns true if the empty subdirectory is to be kept, otherwise skipped.
If the subdirectory is to be discarded, it will return an empty nodeID i
with not error flag set. This will be picked up by the caller and processed it
accordingly.

This function is fed into NewSnapshotSizeRewriter.
2025-02-20 13:11:10 +00:00
Winfried Plappert fea4cf949c rewrite: updated issue file and documentation 2025-02-20 13:09:34 +00:00
Winfried Plappert 2d0d340ade rewrite integration tests: add tests for conflicting options.
Conflicting options will stop normal processing of the `restic rewrite` command.
2025-02-19 21:35:54 +00:00
Winfried Plappert 04c9b35481 rewriter: simplified logic for empty subdirectories 2025-02-19 15:18:35 +00:00
Winfried Plappert f3e1bf437f rewriter: fixed logic error for processing subsdirectories,
countInserts need incrementing for directories; empty subdirectory gets
countInserts = 1 assigned.
2025-02-19 15:03:53 +00:00
Winfried Plappert fa3534da52 rewriter.go: rectify logic error while processing empty subdirectories
KeepEmptyDirecoryGlobal was previosly a negated bool variable and
the negation was not taken away.
2025-02-19 14:16:59 +00:00
Winfried Plappert f6e0dac1ad restic rewrite: correct the problems created by a git rebase:
cmd_rewrite.go: missed out on gatherFilters
cmd_rewrite_integration_test.go: missing declaration of `strings`
rewriter.go: changed logic around `KeepEmptyDirecoryGlobal` and the integrity of
  empty subdirectories
rewriter_test.go: missing seconf parameter for `NewSnapshotSizeRewriter`.
2025-02-19 13:01:23 +00:00
Winfried Plappert 270562e8d9 cmd_rewrite test: added test for handling of empty subdirectories
Simplified logic of existing tests by using `--forget` option and only checking
for one new snapshot and also checking for change of snapshot ID.
2025-02-19 08:32:28 +00:00
Winfried Plappert 86e766f24d rewrite: handling of empty subdirectories, more error checking of exclusive options
cmd_rewrite: more text for the cobra.Command.Long option, more error checking
for incompatible options `--include`/`--exclude` and `--snapshot-summary`.
Adapted change of call to walker.NewSnapshotSizeRewriter for the second parameter.

rewriter.NewSnapshotSizeRewriter: renamed `KeepEmptyDirecoryGlobal` to `RemoveEmptyDirectoryGlobal`
to make logic change clearer and also deal with initialisation.
2025-02-19 08:30:22 +00:00
Winfried Plappert 0a6818cd7a rewrite documentation - explain handling of empty subdirectories
Added a paragraph about the handling of empty subdirectories for
the `--include` variants.
2025-02-19 08:21:32 +00:00
Winfried Plappert 210447ffcc standard backup directory structure - add an empty directory
Until now the standard backup directory structure does not contain am empty
subdirectory. It is needed for testing `restic rewrite --include ...` functions.
2025-02-19 08:19:42 +00:00
Winfried Plappert b40035222a rewrite command: add include.Empty(), changelog/issue-4278
Prepare filter inclusion filters: add func Empty()

Enhancement to enable inclusion filters for rewrite command.
2025-02-19 08:15:52 +00:00
Michael Eischer 5ddda7f5e9
Merge pull request #5242 from MichaelEischer/fix-read-stdin-msg
print password from stdin message only to terminal
2025-02-16 18:29:34 +01:00
Michael Eischer 8c12291f56
Merge pull request #5241 from MichaelEischer/cleanup-cli
Refactor CLI command initialization to use less global state
2025-02-16 18:28:48 +01:00
Michael Eischer 5190933561
Merge pull request #5240 from MichaelEischer/better-json-docs
Improve JSON output type documentation
2025-02-16 18:28:29 +01:00
Michael Eischer 00e69f242e docs: fix datatypes 2025-02-16 18:17:22 +01:00
Michael Eischer 0c4e65228a refactor secondary options 2025-02-07 21:29:33 +01:00
Michael Eischer 120bd08c0d move globalOptions initialization into method 2025-02-07 21:29:33 +01:00
Michael Eischer d378a171c8 cleanup backend initialization 2025-02-07 21:29:33 +01:00
Michael Eischer c752867f0a fix linter errors 2025-02-07 21:29:33 +01:00
Michael Eischer 412d6d9ec5 Create root command via function 2025-02-07 21:29:33 +01:00
Michael Eischer 5497217018 print password from stdin message only to terminal 2025-02-07 20:54:18 +01:00
Michael Eischer aa9cdf93cf refactor persistent options to be applied via functions 2025-02-07 19:03:46 +01:00
Michael Eischer aacd6a47e3 refactor to use constructor functions to create cobra commands
This allows getting rid of the global options variables
2025-02-07 18:56:45 +01:00
Michael Eischer dc9b6378f3 move cli flags into AddFlags on option structs 2025-02-06 22:10:41 +01:00
Michael Eischer 4e58902de6 doc: fix broken links 2025-02-06 20:59:36 +01:00
Michael Eischer 39823c5f6c doc: deprecate short_id and add some missing fields 2025-02-06 20:53:01 +01:00
Michael Eischer 421842f41f doc: add datatypes to JSON outputs 2025-02-06 20:10:42 +01:00
Michael Eischer 59b7007534 doc: reformat scripting tables 2025-02-06 19:46:41 +01:00
Michael Eischer da47967316
Merge pull request #5194 from darkdragon-001/json-check
Json check
2025-02-05 22:15:10 +01:00
Dark Dragon 49a411f7ac Print JSON summary in all error cases 2025-02-05 22:08:06 +01:00
Dark Dragon 7cc1aa0cd4 Add check summary 2025-02-05 22:08:06 +01:00
Dark Dragon a58a8f2ce0 Add JSON output to check command 2025-02-05 22:08:05 +01:00
Dark Dragon 79d435efb1 Use printer.NewCounter() instead of newTerminalProgressMax()
where possible (max is unknown).
2025-02-05 22:07:47 +01:00
Michael Eischer 9cdf91b406
Merge pull request #5235 from MichaelEischer/refactor-ls-sorting
Refactor ls sorting
2025-02-05 20:44:08 +01:00
Winfried Plappert 4104a8e6a5
Issue: 4942: cmd_rewrite: add snapshot summary data to an existing snapshot. (#5185)
Co-authored-by: Michael Eischer <michael.eischer@fau.de>
2025-02-05 20:40:20 +01:00
Michael Eischer 6cc06e0812 ls: add missing error handling 2025-02-03 22:15:59 +01:00
Michael Eischer c32613a624 ls: extract comparator 2025-02-03 22:15:59 +01:00
Michael Eischer 1807627dda ls: refactor sorting into sortedPrinter struct 2025-02-03 22:15:59 +01:00
Michael Eischer 993eb112cd ls: deduplicate sorting test 2025-02-03 22:15:54 +01:00
Michael Eischer 36d8916354 ls: use numeric based enum for SortMode 2025-02-03 22:11:46 +01:00
Winfried Plappert 060a44202f
ls: sort output by size, atime, ctime, mtime, time(=mtime), extension (#5182)
Enhancement: create ability to sort output of restic ls -l by
name, size, atime, ctime, mtime, time(=mtime), X(=extension), extension

---------

Co-authored-by: Michael Eischer <michael.eischer@fau.de>
2025-02-03 22:07:04 +01:00
Michael Eischer d79681b987
Merge pull request #5223 from restic/dependabot/go_modules/google.golang.org/api-0.219.0
build(deps): bump google.golang.org/api from 0.204.0 to 0.219.0
2025-02-03 21:32:15 +01:00
dependabot[bot] 90e2c419e4
build(deps): bump google.golang.org/api from 0.204.0 to 0.219.0
Bumps [google.golang.org/api](https://github.com/googleapis/google-api-go-client) from 0.204.0 to 0.219.0.
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.204.0...v0.219.0)

---
updated-dependencies:
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-03 20:16:08 +00:00
Michael Eischer 7ab5bb6df4
Merge pull request #5232 from MichaelEischer/bump-go-version
Bump minimum go version to 1.22
2025-02-03 21:14:57 +01:00
Michael Eischer efd2ec086f
Merge pull request #5179 from zmanda/fix-gh-5140-forget-reports-incorrect-number-of-files-deleted
forget: report count of deleted files correctly
2025-02-02 20:14:15 +01:00
Srigovind Nayak 8d970e36cf
tests: add unit test to check the progress counter for forget/prune 2025-02-02 20:18:56 +05:30
Srigovind Nayak 58f58a995d
parallel: increment progress bar before report function which may absorb the error
* sometimes, the report function may absorb the error and return nil, in those cases the bar.Add(1) method would execute even if the file deletion had failed
2025-02-02 19:45:36 +05:30
Michael Eischer d71ddfb89b bump minimum go version to 1.22 2025-02-02 15:05:47 +01:00