Michael Eischer
c9a4a95848
check: suggest using repair packs to repair truncated pack files
...
Previously, that help message was only shown for running `check
--read-data`.
2024-07-05 20:04:25 +02:00
Michael Eischer
da338d5aa8
check: tweak wording of repair packs message
...
By now, the message is also shown for truncated or otherwise damaged pack
files, not just those with corrupted blobs.
2024-07-05 20:04:25 +02:00
Michael Eischer
1671a3fe2e
check: hide message about additional files if error in repo
...
The message says "[...] addition files were found [...]. This is
non-critical [...]". Unless users are highly experienced with restic,
it's hard to correctly interpret what "This" refers to. Thus, just hide
the message if there is a real problem.
2024-07-05 20:04:25 +02:00
Michael Eischer
b1250eead9
check: mark s3legacy layout and legacy indexes are error
2024-07-05 20:04:25 +02:00
Michael Eischer
66a67d568d
Merge pull request #4885 from MichaelEischer/clarify-path-option
...
Clarify semantics of `--path` option and update manual_rest.rst
2024-07-05 19:53:15 +02:00
Michael Eischer
737389ea68
Merge pull request #4896 from MichaelEischer/fix-subfolder-help-text
...
man: work around broken rendering of <snapshotID>:<subfolder> help text
2024-07-04 22:06:51 +02:00
Michael Eischer
6fadc0131b
Merge pull request #4883 from MichaelEischer/fix-check-cache
...
check: fix cachedir creation when using default location
2024-07-04 22:06:28 +02:00
Michael Eischer
a44e4bdd40
man: work around broken rendering of <snapshotID>:<subfolder> help text
2024-07-03 20:39:59 +02:00
Viktor Szépe
ac00229386
Fix typos
2024-07-03 20:02:06 +02:00
Michael Eischer
c3ad56474d
Merge branch 'patch-release'
2024-07-01 21:49:39 +02:00
Alexander Neumann
5820dccaef
Set development version for 0.16.5
2024-07-01 21:25:34 +02:00
Alexander Neumann
fe9f142b52
Add version for 0.16.5
2024-07-01 21:25:34 +02:00
Michael Eischer
ed904dfac0
clarify that all paths specified using --path option must match
2024-06-30 20:32:36 +02:00
Michael Eischer
ce0cbc7a36
check: fix cachedir creation when using default location
2024-06-30 12:04:57 +02:00
Michael Eischer
5c3709e17a
restore: add --overwrite=if-changed to skip files if their mtime&size matches
...
--overwrite=always still checks the file content
2024-06-13 21:17:30 +02:00
Michael Eischer
663151db57
Merge pull request #4837 from MichaelEischer/restore-options
...
Make restore overwrite behavior configurable
2024-06-12 22:52:55 +02:00
Michael Eischer
6a4ae9d6b1
restore: configurable overwrite behavior
2024-06-12 22:36:52 +02:00
Michael Eischer
2b50c2606c
restorer: use options struct
2024-06-12 22:36:52 +02:00
Michael Eischer
be05a17e15
Merge pull request #4811 from konidev20/fix-gh-4781-restore-include-and-exclude-file-switches
...
Restore flags to include from file and exclude from file
2024-06-10 19:36:07 +00:00
Srigovind Nayak
fe412e2553
fix: restore inclusion logic and restore tests
...
doc: update exclude and include docs
2024-06-10 01:55:39 +05:30
Srigovind Nayak
188684ee9e
fix: include and exclude logic, add tests for include file and exclude file
2024-06-09 19:07:23 +05:30
Michael Eischer
fc3841e7cc
Merge pull request #4851 from MichaelEischer/fix-utf-16-key
...
key add/passwd: handle UTF-16 encoding correctly
2024-06-09 11:27:58 +02:00
Srigovind Nayak
24a247a0dc
test: update test case name
2024-06-08 13:23:35 +05:30
Srigovind Nayak
3a52176121
restore: accumulate results of multiple pattern checks
...
addressing review comments
2024-06-08 13:23:35 +05:30
Srigovind Nayak
1a7574e4b4
test: add tests for include By pattern
2024-06-08 13:23:35 +05:30
Srigovind Nayak
4e449ffaff
test: add tests for reading patterns from file
2024-06-08 13:23:35 +05:30
Srigovind Nayak
14d2799b44
fix: move include and exclude pattern validations to top
2024-06-08 13:23:35 +05:30
Srigovind Nayak
fdf2e4ed0e
restore: refactor include and exclude
...
- added includePatternOptions similar to excludePatternOptions
- followed similar approach to backup for selecting files for restore
2024-06-08 13:23:35 +05:30
Srigovind Nayak
7d5dd6db66
fix: add string.Lower for insenstive includes and excludes read from file
2024-06-08 13:23:35 +05:30
Srigovind Nayak
b02117ef0b
restore: read includes, insensitive includes, excludes and insensitive excludes from a file
...
feature for gh-4781
2024-06-08 13:23:35 +05:30
Michael Eischer
3f878aa8e7
Merge pull request #4845 from greatroar/errors
...
Fix error handling bug + clean up error messages
2024-06-07 17:07:07 +00:00
Michael Eischer
c55665be2c
key add/passwd: handle UTF-16 encoding correctly
...
Just use the exact some function for load a password from a file
everywhere.
2024-06-05 22:19:26 +02:00
greatroar
10fdb914df
cmd: Return error in readPassword
...
The returned error was always nil.
Replaced Wrap by WithStack because the function name was stale.
2024-06-02 10:11:27 +02:00
Michael Eischer
2280fbfd2e
Merge pull request #4810 from konidev20/fix-gh-4768-add-custom-user-agent-for-http-client
...
Allow custom User-Agent to be specified for outgoing requests
2024-05-30 16:34:52 +00:00
Michael Eischer
7e0ee5974f
Merge pull request #4816 from MichaelEischer/skip-if-unchanged
...
backup: add support for `--skip-if-unchanged`
2024-05-30 15:39:08 +02:00
Srigovind Nayak
de7b418bbe
http: allow custom User-Agent for outgoing HTTP requests
2024-05-30 15:38:06 +02:00
Michael Eischer
6869bdaaa8
backup: implement --skip-if-unchanged
2024-05-30 15:14:31 +02:00
Michael Eischer
13127f3f6b
check: remove output mangling workaround
2024-05-30 15:09:27 +02:00
Michael Eischer
939b537c80
check/migrate: convert to use termstatus to prevent mangled output
...
Errors reported by check would result in corrupted output.
2024-05-30 15:09:27 +02:00
Michael Eischer
52b3fee42b
Merge pull request #4818 from MichaelEischer/move-code
...
Move cache / index / hashing / pack packages
2024-05-30 13:54:31 +02:00
Michael Eischer
fe8fbcc5ed
Merge pull request #4822 from MichaelEischer/consistent-backup-source-name
...
backup: refer to backed up data as backup source not target
2024-05-30 13:53:25 +02:00
Michael Eischer
619ce8bfa2
Merge pull request #4820 from MichaelEischer/forget-extend-descritpion
...
forget: explain oldest snapshot special case in command help
2024-05-26 10:04:43 +00:00
Michael Eischer
18990dbed8
backup: refer to backed up data as backup source not target
...
A backup reads from the source and writes it to the backup target
(repository). The name "target" is kept within the source code as it's
used there excessively.
2024-05-25 23:13:37 +02:00
Shivashis Padhi
0271bb97f8
check: enhance check command to create cache directory if it doesn't exist
2024-05-25 19:15:42 +05:30
Michael Eischer
2c7ebf4c7f
forget: explain oldest snapshot special case in command help
2024-05-25 15:10:21 +02:00
Michael Eischer
7ea508e7b8
Merge pull request #4815 from greatroar/termstatus
...
Termstatus refactoring
2024-05-25 12:08:53 +00:00
Michael Eischer
5e0ea8fcfa
pack: move to repository package
2024-05-25 13:13:03 +02:00
Michael Eischer
50ec408302
index: move to repository package
2024-05-25 13:13:03 +02:00
Michael Eischer
8e5d7d719c
cache: move to backend package
2024-05-24 23:04:06 +02:00
Michael Eischer
1d2277b4c3
Add --insecure-no-password option
...
This also includes two derived options `--from-insecure-no-password`
used for commands that require specifying a source repository. And
`--new-insecure-no-password` for the `key add` and `key passwd`
commands.
Specifying `--insecure-no-password` disabled the password prompt and
immediately uses an empty password. Passing a password via CLI option or
environment variable at the same time is an error.
2024-05-24 22:38:20 +02:00
Michael Eischer
d4b0d21199
key add/passwd: deduplicate options setup and remove globals
...
The current pattern of using a global options variable is problematic.
2024-05-24 22:38:20 +02:00
Michael Eischer
462b82a060
index: reduce size of compressed indexes
...
use the same index size for compressed and uncompressed indexes.
Otherwise, decoding the index of a compressed repository requires
significantly more memory.
2024-05-24 22:18:14 +02:00
Michael Eischer
77873f5a9d
repository: let prune control data structure of usedBlobs set
2024-05-24 22:18:14 +02:00
Michael Eischer
2033c02b09
index: replace CountedBlobSet with AssociatedSet
2024-05-24 22:18:14 +02:00
Michael Eischer
93098e9265
prune: hide implementation details of counted blob set
2024-05-24 21:42:56 +02:00
Michael Eischer
68fa0e0305
prune: no longer disable automatic index updates
...
this allows prune to resume an interrupted prune run.
2024-05-24 21:33:17 +02:00
Michael Eischer
864995271e
repository: unwrap BlobHandle parameters of LookupBlob
...
The method now uses the same parameters as LookupBlobSize.
2024-05-24 21:33:17 +02:00
Michael Eischer
1266a4932f
repository: fix parameter order of LookupBlobSize
...
All methods should use blobType followed by ID.
2024-05-24 21:33:17 +02:00
Michael Eischer
0aa5c53842
repository: replace HasBlob with LookupBlobSize
2024-05-24 21:33:17 +02:00
Michael Eischer
4df887406f
repository: inline MasterIndex interface into Repository interface
2024-05-24 21:33:17 +02:00
Michael Eischer
3cc6827f09
forget: add feature flag for safe --keep-tags behavior
2024-05-24 20:45:33 +02:00
Michael Eischer
82ca0030b7
forget: test --unsafe-allow-remove-all and --keep-tags safety check
2024-05-24 20:45:33 +02:00
Michael Eischer
57f9739573
forget: Add --unsafe-allow-remove-all option
...
To prevent accidentally wiping all snapshots from a repository, that
option can only be used if either a snapshot filter or a keep policy is
specified.
Essentially, the option allows `forget --tag something
--unsafe-allow-remove-all` calls to remove all snapshots with a specific
tag.
2024-05-24 20:45:33 +02:00
Michael Eischer
5b7952e426
forget: return error if no policy was specified
2024-05-24 20:45:33 +02:00
Michael Eischer
c0e1f36830
forget: refuse deleting the last snapshot in a snapshot group
...
`--keep-tag invalid-tag` was previously able to wipe all snapshots in a
repository. As a user specified a `--keep-*` option this is likely
unintentional. This forbid deleting all snapshot if a `--keep-*` option
was specified to prevent data loss. (Not specifying such an option
currently also causes the command to abort)
2024-05-24 20:45:33 +02:00
Michael Eischer
a60ee9b764
retry: limit retries based on elapsed time not count
...
Depending on how long an operation takes to fail, the total retry
duration can currently vary between 1.5 and 15 minutes. In particular
for temporarily interrupted network connections, the former timeout is
too short. Thus always use a limit of 15 minutes.
2024-05-24 20:24:02 +02:00
Michael Eischer
a3633cad9e
retry: explicitly log failed requests
...
This simplifies finding the request in the log output that cause an
operation to fail.
2024-05-24 20:24:02 +02:00
greatroar
66d03c797e
ui, termstatus: Move WrapStdio
...
Saves some imports. ui still needs to import ui/termstatus from
message.go.
2024-05-21 11:25:16 +02:00
greatroar
0b56214473
ui: Simplify stdio wrapper
...
The StdioWrapper type is really just a pair of io.WriteClosers, so
remove it in favor of a function that returns two of those. Test
coverage increases because the removed code was not tested.
2024-05-21 11:23:32 +02:00
Michael Eischer
94e863885c
check: move verification of individual pack file to repository
2024-05-18 21:42:50 +02:00
Michael Eischer
ab9077bc13
replace usages of backend.Remove() with repository.RemoveUnpacked()
...
RemoveUnpacked will eventually block removal of all filetypes other than
snapshots. However, getting there requires a major refactor to provide
some components with privileged access.
2024-05-18 21:38:31 +02:00
Michael Eischer
8274f5b101
prune: remove Backend.IsNotExist()
...
Only handling one specific error is not particularly useful.
2024-05-18 21:38:31 +02:00
Michael Eischer
9795198189
debug: remove Backend.Stat() usage
2024-05-18 21:38:31 +02:00
Michael Eischer
8cce06d915
repair packs: drop experimental warning
...
This warning should already have been removed once the feature flag was
dropped.
2024-05-18 21:28:54 +02:00
Michael Eischer
779c8d3527
debug/repair packs/upgrade repo v2: use repository.LoadRaw
...
This replaces calling the low-level backend.Load() method.
2024-05-18 21:26:00 +02:00
Michael Eischer
1d6d3656b0
repository: move backend.LoadAll to repository.LoadRaw
...
LoadRaw also includes improved context cancellation handling similar to the
implementation in repository.LoadUnpacked.
The removed cache backend test will be added again later on.
2024-05-18 21:26:00 +02:00
DRON-666
88c509e3e9
vss: Change ErrorHandler signature
...
We don't need `error` here: the only existing implementation
of `ErrorHandler` always call `Backup.Error` and all
implementations of `Backup.Error` always return nil.
2024-04-28 22:44:16 +03:00
DRON-666
78dbc5ec58
vss: Add initial support for extended options
2024-04-28 22:44:15 +03:00
Michael Eischer
347e9d0765
complete RESITC_HOST environment handling & test
2024-04-24 21:52:39 +02:00
Altan Orhon
871ea1eaf3
Add support for specifying --host via environment variable
...
This commit adds support for specifying the `--host` option via the `RESTIC_HOST` environment variable. This is done by extending option processing in `cmd_backup.go` and for `restic.SnapshotFilter` in `find.go`.
2024-04-24 21:49:42 +02:00
Michael Eischer
a7b5e09902
Merge pull request #4753 from MichaelEischer/remove-cleanup-handlers
...
Replace cleanup handlers with context based command cancelation
2024-04-24 21:34:19 +02:00
Michael Eischer
3f9d50865d
Merge pull request #4776 from MichaelEischer/cleanup-backend-open
...
unify backend open and create
2024-04-24 21:24:27 +02:00
Michael Eischer
5f263752d7
init: also apply limiter for non-HTTP backend
2024-04-24 20:42:30 +02:00
Michael Eischer
484dbb1cf4
get rid of a few global variables
2024-04-22 22:39:33 +02:00
Michael Eischer
940a3159b5
let index.Each() and pack.Size() return error on canceled context
...
This forces a caller to actually check that the function did complete.
2024-04-22 22:39:32 +02:00
Michael Eischer
31624aeffd
Improve command shutdown on context cancellation
2024-04-22 22:31:38 +02:00
Michael Eischer
910927670f
mount: fix exit code on cancellation
2024-04-22 22:27:19 +02:00
Michael Eischer
6f2a4dea21
remove global shutdown hook
2024-04-22 22:27:19 +02:00
Michael Eischer
699ef5e9de
debug: replace cleanup handler usage in profiling setup
2024-04-22 22:27:19 +02:00
Michael Eischer
eb710a28e8
use standalone shutdown hook for readPasswordTerminal
...
move terminal restoration into readPasswordTerminal
2024-04-22 22:27:19 +02:00
Michael Eischer
86c7909f41
mount: use standalone shutdown hook via goroutine
2024-04-22 22:27:19 +02:00
Michael Eischer
93135dc705
lock: drop cleanup handler
2024-04-22 22:27:19 +02:00
Michael Eischer
21a7cb405c
check: replace cleanup handler
2024-04-22 22:27:19 +02:00
Michael Eischer
b15d867414
Merge pull request #4763 from MichaelEischer/refactor-prune
...
Refactor repair index / prune into the repository package
2024-04-22 22:24:53 +02:00
Michael Eischer
6c6dceade3
global: unify backend open and create
2024-04-19 22:26:14 +02:00
will-ca
6aced61c72
Tiny docs wording clarification.
2024-04-18 07:29:55 +00:00
Michael Eischer
001bb71676
repair packs: Properly close backup files
2024-04-17 18:32:30 +02:00
Michael Eischer
c9191ea72c
forget: cleanup verbose output on snapshot deletion error
2024-04-14 14:17:40 +02:00
Michael Eischer
d8622c86eb
prune: clean up internal interface
2024-04-14 13:45:15 +02:00
Michael Eischer
85e4021619
prune: move additional option checks to repository
2024-04-14 13:44:58 +02:00
Michael Eischer
55d56db31b
Merge pull request #4743 from MichaelEischer/deprecate-s3legacy-layout
...
Deprecate s3legacy layout
2024-04-11 22:09:34 +02:00
Michael Eischer
fc3b548625
prune: move logic into repository package
2024-04-10 21:30:52 +02:00
Michael Eischer
df9d4b455d
prune: prepare for moving code to repository package
2024-04-10 21:30:52 +02:00
Michael Eischer
866ddf5698
repair index: refactor code into repository package
2024-04-10 21:30:52 +02:00
Michael Eischer
32a234b67e
prune/forget/repair index: convert output to use progress.Printer
2024-04-10 21:30:52 +02:00
Michael Eischer
739d11c2eb
forget: replace usage of DeleteFilesChecked
...
This simplifies refactoring prune into the repository package.
2024-04-10 21:30:52 +02:00
Michael Eischer
591b421c4a
Deprecate s3legacy layout
2024-04-10 21:27:56 +02:00
Michael Eischer
9fb017e67a
Merge pull request #4745 from MichaelEischer/full-id-key-list
...
key list: include full key id in JSON output
2024-04-03 21:50:02 +02:00
Michael Eischer
49f98f25fc
Merge pull request #4742 from MichaelEischer/consistent-rtest-import
...
Use consistent alias for interal/test package
2024-04-03 21:47:32 +02:00
Michael Eischer
5145c8f9c0
key list: include full key id in JSON output
2024-03-31 12:25:20 +02:00
Stephan Paul
df07814ec2
forget json output: added id's in snapshots within reasons object
...
In order to evaluate the keep reasons for snapshots, there should be also the id's
to compare it with snapshots within the keep object. (See also Issue #3117 )
In order to avoid output parameters also changed function addJSONSnapshots to asJSONSnapshots
2024-03-29 11:30:00 +01:00
Michael Eischer
ec2b79834a
use consistent alias for interal/test package
2024-03-29 00:24:03 +01:00
Michael Eischer
8155dbe711
correctly lock repository in integration tests
2024-03-28 23:17:02 +01:00
Michael Eischer
d18726cd70
ls: add missing read lock
...
As `ls` reads data from the repository, it must acquire a read lock
unless `--no-lock` was specified. The old behavior is equivalent to `ls
--no-lock`.
2024-03-28 23:17:02 +01:00
Michael Eischer
e8df50fa3c
repository: remove global list of locks
2024-03-28 22:46:33 +01:00
Michael Eischer
cbb5f89252
lock: move code to repository package
2024-03-28 22:46:33 +01:00
Michael Eischer
118a69a84b
lock: replace lockRepo(Exclusive) with openWith(Read/Write/Exclusive)Lock
...
The new functions much better convey the intent behind the lock
request. This allows cleanly integrating noLock (for read) and dryRun
(write/exclusive) handling.
There are only minor changes to existing behavior with two exceptions:
- `tag` no longer accepts the `--no-lock` flag. As it replaces files in
the repository, this always requires an exclusive lock.
- `debug examine` now returns an error if both `--extract-pack` and
`--no-lock` are given.
2024-03-28 22:46:33 +01:00
Michael Eischer
7f9ad1c3db
Merge pull request #4705 from MichaelEischer/snapshot-statistics
...
Store snapshot statistics & print snapshot size
2024-03-28 22:41:45 +01:00
Michael Eischer
cf81f8ced6
stats: only check for hardlinks for files with more than one link
2024-03-28 21:29:27 +01:00
Michael Eischer
63a2350c9e
Merge pull request #4741 from MichaelEischer/ci-upgrade-golangci-lint
...
CI: Update golangci-lint to version 1.57.1
2024-03-28 18:27:05 +01:00
Michael Eischer
1497525e15
CI: Update golangci-lint to version 1.57.1
2024-03-28 18:15:50 +01:00
Michael Eischer
69ca12d2eb
check: treat legacy index format as errors
2024-03-09 18:36:33 +01:00
Michael Eischer
1a8bf358f1
index: deprecate legacy index format
2024-03-09 18:21:14 +01:00
Michael Eischer
a9b64cd7ad
features: print warning for stable/depreacted feature flags
2024-03-09 17:29:52 +01:00
Michael Eischer
fe68d2cafb
add feature flag documentation
2024-03-09 17:29:52 +01:00
Michael Eischer
1c77c51a03
features: initialize based on RESTIC_FEATURES environment variable
2024-03-09 17:29:52 +01:00
Michael Eischer
5974a79497
features: add basic feature flag implementation
2024-03-09 17:29:52 +01:00
Michael Eischer
b6520038fd
snapshots: Print snapshot size stored in snapshots
2024-02-23 20:27:13 +01:00
Michael Eischer
38f91d3b5e
backup: store statistics in snapshot
2024-02-23 20:27:13 +01:00
Michael Eischer
a59f654fa6
archiver: refactor summary collection from ui into the archiver
2024-02-23 20:27:13 +01:00
Aneesh Nireshwalia
eeb1aa5388
Add ability to report warnings to terminal
...
Report warnings to terminal when unrecognized generic attributes are found in the repository.
2024-02-22 17:52:26 -07:00
Aneesh Nireshwalia
0962917974
Support windows metadata using generic attribs
...
Add new generic_attributes attribute in Node.
Use the generic attributes to add support for creation time and file attributes like hidden, readonly, encrypted in windows. Handle permission errors for readonly files in windows.
Handle backup and restore of encrypted attributes using windows system calls.
2024-02-22 17:31:20 -07:00
Michael Eischer
0a65a0f94f
update comment
2024-02-22 22:00:42 +01:00
Brian Harring
30e979d252
Catch SIGTERM, run cleanup
...
The previous code only ran cleanup (lock release for example) on SIGINT. For
anyone running restic in a container, the signal is going to be SIGTERM which
means containerized execution would leave locks behind.
While this could be addressed via interposing dumb-init to translate the signal,
a `kill` invocation is going to default to SIGTERM, so the same problem exists
for non container users.
Signed-off-by: Brian Harring <ferringb@gmail.com>
2024-02-19 11:12:15 +01:00
Michael Eischer
80754dbf0c
Merge pull request #4664 from MichaelEischer/ls-unified-json-output
...
ls: include standard `message_type` field in output
2024-02-18 15:47:41 +00:00
Michael Eischer
527a3ff2b2
check: link to troubleshooting guide
2024-02-12 20:25:15 +01:00
Michael Eischer
544fe38786
check: suggest repair pack for all damaged packs
2024-02-12 20:20:13 +01:00
Michael Eischer
772e3416d1
repair pack: drop feature flag
2024-02-12 20:20:12 +01:00
Michael Eischer
ee1ff3c1d0
backup: improve error message if exclude file cannot be loaded
2024-02-11 22:26:13 +01:00
Alexander Neumann
c0514dd8ba
Fix linter errors (except for tests)
2024-02-10 22:58:10 +01:00
lou
80db02fc35
dump flag --target should be allowed to write existing file
...
Signed-off-by: lou <alex1988@outlook.com>
2024-02-10 18:39:06 +01:00
Michael Eischer
e46b21ab80
key: fix integration test for invalid arguments
2024-02-08 20:52:30 +01:00
Srigovind Nayak
795d33b3ee
key: move add, list, remove, passwd to sub-commands
...
docs: improve the sub-command docs
changelog: add the unreleased changelog for the key command updates
key: update integration tests
2024-02-06 01:47:43 +05:30
Michael Eischer
f5ffa40652
dump: minor cleanups
2024-02-05 20:10:52 +01:00
Srigovind Nayak
175c14b5c9
dump: add --target option
2024-02-05 20:10:52 +01:00
Michael Eischer
b63bfd2257
Merge branch 'patch-release'
2024-02-04 20:21:42 +01:00
Alexander Neumann
0f9fa44de5
Set development version for 0.16.4
2024-02-04 19:50:56 +01:00
Alexander Neumann
3786536dc1
Add version for 0.16.4
2024-02-04 19:50:52 +01:00
Michael Eischer
a72c2b74f3
Apply changelog entry / documentation improvements from review
2024-02-04 19:10:06 +01:00
Michael Eischer
2a0bd2b637
rename --no-verify-pack to --no-extra-verify
2024-02-04 19:10:05 +01:00
Michael Eischer
dc11d012bb
Make --no-verify-pack globally available
...
Verifying all blobs before upload comes with a notable performance
impact. Allow users to skip it if necessary.
2024-02-04 19:09:49 +01:00
Michael Eischer
5957417b1f
Apply changelog entry / documentation improvements from review
2024-02-04 18:55:41 +01:00
Michael Eischer
86b38a0b17
rename --no-verify-pack to --no-extra-verify
2024-02-04 17:01:05 +01:00
Michael Eischer
66e8971659
Make --no-verify-pack globally available
...
Verifying all blobs before upload comes with a notable performance
impact. Allow users to skip it if necessary.
2024-02-04 15:31:42 +01:00
Michael Eischer
8b08b522c9
Merge pull request #4669 from MichaelEischer/fix-rewrite-typo
...
rewrite: fix typo in dry-run output
2024-01-31 22:08:12 +01:00
Michael Eischer
eaf9659efc
Merge pull request #4657 from numerigraphe/fix-key-add-id
...
Properly report the ID of newly added keys
2024-01-31 20:59:41 +00:00
Michael Eischer
ba136ff60c
rewrite: fix typo in dry-run output
2024-01-31 21:48:37 +01:00
Lionel Sausin
8fbe328371
Properly report the ID of newly added keys
...
Other commands like key list and key remove show the key's ID.
Showing the ID here lets users easily reuse the ID as a key hint for subsequent
commands.
In particular, a key hint is needed when the repository has many keys - otherwise
opening the repository may fail with "Fatal: maximum number of keys reached" even
when a proper password is provided.
Fixes #4656
2024-01-29 10:12:49 +01:00
Michael Eischer
4273e06a43
Merge pull request #4662 from MichaelEischer/clarify-backup-ignore-inode
...
backup: clarify that --ignore-inode also ignores ctime
2024-01-27 18:25:11 +01:00
Michael Eischer
5dca8a70d5
ls: include standard message_type field in output
2024-01-27 15:48:24 +01:00
Michael Eischer
765729d009
key: return an error if subcommand is unknown
2024-01-27 15:33:49 +01:00
Michael Eischer
a09d51d96c
backup: clarify that --ignore-inode also ignores ctime
2024-01-27 13:42:29 +01:00
Michael Eischer
e44e4b00a6
Merge pull request #4550 from ndecker/ls-ncdu
...
Ls ncdu
2024-01-27 12:27:35 +00:00
Michael Eischer
261737abc8
ls: only allow either --json or --ncdu
2024-01-27 13:17:33 +01:00
Michael Eischer
a2f2f8fb4c
fix linter warning
2024-01-27 13:17:33 +01:00
Michael Eischer
4bae54d040
ls: test ncdu output format
2024-01-27 13:17:33 +01:00
Michael Eischer
509b339d54
ls: correctly handle setuid/setgit/sticky bit in ncdu output
2024-01-27 13:17:33 +01:00
Michael Eischer
a2fe337610
ls: unify printer implementations
2024-01-27 13:17:33 +01:00
Michael Eischer
1b008c92d3
ls: rework ncdu output to use walker.LeaveDir
2024-01-27 13:17:33 +01:00
Michael Eischer
9ecbda059c
walker: add callback to inform about leaving a directory
2024-01-27 13:17:32 +01:00
Nils Decker
a9310948cf
command ls: add option for ncdu output
...
NCDU (NCurses Disk Usage) is a tool to analyse disk usage of directories.
It has an option to save a directory tree and analyse it later.
This patch adds an output option to the ls command.
A snapshot can be seen with
`restic ls latest --ncdu | ncdu -f -`
- https://dev.yorhel.nl/ncdu
2024-01-27 13:06:52 +01:00
Michael Eischer
bfb56b78e1
replace some usages of restic.Repository with more specific interface
...
This should eventually make it easier to test the code.
2024-01-27 13:02:02 +01:00
Michael Eischer
3424088274
Merge pull request #4644 from MichaelEischer/refactor-repair-packs
...
Refactor and test `repair packs`
2024-01-27 13:00:51 +01:00
Michael Eischer
724ec179e3
Merge pull request #4648 from MichaelEischer/repository-removekey
...
repository: Introduce RemoveKey function
2024-01-27 13:00:42 +01:00
Michael Eischer
feeab84204
repair pack: extract the repair logic into the repository package
...
Currently, the cmd/restic package contains a significant amount of code
that modifies repository internals. This code should in the mid-term
move into the repository package.
2024-01-27 12:51:45 +01:00
Michael Eischer
d7a50fe739
properly show termstatus progress bar if visible less than one frame
...
If a progress bar using termstatus was only visible for less than one
frame, then its output could be lost.
2024-01-27 12:51:40 +01:00
Michael Eischer
6b65a495b1
backup/restore: fix termstatus initialization
...
The termstatus must only be canceled once the command has returned.
Otherwise output may be lost when the context gets canceled.
2024-01-27 12:51:08 +01:00
Michael Eischer
d26d2d41f8
backup/restore: extract termstatus initialization
2024-01-27 12:51:08 +01:00
Michael Eischer
cb50832d50
index: let MasterIndex.Save also delete obsolete indexes
2024-01-27 12:51:08 +01:00
Michael Eischer
bedff1ed6d
split deleteFiles into UI and logic parts
2024-01-27 12:51:08 +01:00
Michael Eischer
c13bf0b607
repository: Introduce RemoveKey function
...
This replaces directly removing keys via the backend.
2024-01-27 12:42:58 +01:00
Michael Eischer
5b36c4eb5f
Merge pull request #4647 from MichaelEischer/reduce-globals
...
Remove all usages of the global command-specific options
2024-01-23 19:46:15 +01:00
Michael Eischer
66103aea3d
Remove all usages of the global command-specific options
...
Now, every command uses an options struct, which is passed to the run*
function by the command.RunE method.
2024-01-23 19:21:39 +01:00
Michael Eischer
767c2539a0
backup: Improve help text for --stdin-from-command
2024-01-21 22:06:54 +01:00
Michael Eischer
2c310a526e
repository: Replace StreamPack function with LoadBlobsFromPack method
...
LoadBlobsFromPack is now part of the repository struct. This ensures
that users of that method don't have to deal will internals of the
repository implementation.
The filerestorer tests now also contain far fewer pack file
implementation details.
2024-01-19 21:40:43 +01:00
Michael Eischer
0b39940fdb
walker: Remove ignoreTrees functionality
...
It was only used in two places:
- stats: apparently as a minor performance optimization, which is
unlikely to be important
- find: filtered directories would be ignored. However, this
optimization missed that it is possible that two directories have the
exact same content. Such directories would be incorrectly ignored too.
Example:
```
mkdir test test/a test/b
restic backup test
restic find latest test/b
-> incorrectly does not return anything
```
Thus, remove the functionality as it's apparently too complex to use
correctly.
2024-01-19 21:16:06 +01:00
Michael Eischer
03e06d0797
Merge branch 'patch-release'
2024-01-14 21:38:17 +01:00
Alexander Neumann
0ec9383ba2
Set development version for 0.16.3
2024-01-14 20:21:45 +01:00
Alexander Neumann
abca112404
Add version for 0.16.3
2024-01-14 20:21:45 +01:00
Michael Kuhn
3fa6b2de4a
Fix repository not being printed when using repository file
...
When using `RESTIC_REPOSITORY_FILE` in combination with `restic init`,
the repository is missing in the output:
```
$ restic init
created restic repository 3c872be20f at
[...]
```
This is due to the code using `gopts.Repo`, which is empty in this case.
2024-01-08 21:33:05 +01:00
Michael Eischer
5cd000f4b0
CI: update golangci-lint
...
Necessary to properly support Go 1.21.
2024-01-08 21:33:05 +01:00
Michael Eischer
1604922360
Merge pull request #4527 from adamantike/cmd/copy/prefix-hostname-to-snapshot-paths
...
cmd: Add hostname to snapshot display output
2024-01-06 19:32:14 +00:00
Michael Eischer
33b7c84a7a
deduplicate string formatting of snapshot metadata
...
This removes the spurious ")" bracket at the end and normalizes the
metadata format used by the `ls` command.
2024-01-06 20:20:51 +01:00
Michael Manganiello
045aa64558
cmd/copy: Prefix hostname to snapshot display output
...
This change better resembles the output generated by `Snapshot.String()`,
which includes both username and hostname.
Closes #4506
Before:
```
$ restic copy --from-repo /srv/restic-repo
repository 3666882b opened (version 2, compression level auto)
repository 0085c387 opened (version 2, compression level auto)
created new cache in /home/mike/.cache/restic
[0:00] 100.00% 1 / 1 index files loaded
[0:00] 0 index files loaded
snapshot 32b39a20 of [/home/mike/data] at 2023-10-21 16:01:13.979948154 -0300 -03)
copy started, this may take a while...
[0:00] 100.00% 1 / 1 packs copied
snapshot 10331fdd saved
```
After:
```
$ restic copy --from-repo /srv/restic-repo
repository 3666882b opened (version 2, compression level auto)
repository 0085c387 opened (version 2, compression level auto)
[0:00] 100.00% 1 / 1 index files loaded
[0:00] 0 index files loaded
snapshot 32b39a20 of [/home/mike/data] at 2023-10-21 16:01:13.979948154 -0300 -03 by mike@desktop)
copy started, this may take a while...
[0:00] 100.00% 1 / 1 packs copied
snapshot a67bd1ee saved
```
2024-01-06 20:20:46 +01:00
Michael Eischer
4f6b1bb6f6
diff: document limitations regarding metadata
2024-01-06 20:12:47 +01:00
Michael Eischer
3549635243
diff: copy nodes before modifying them for bitrot detection
2024-01-06 20:12:47 +01:00
Daniel Danner
a7dc18e697
Add bitrot detection to "diff" command
...
This introduces a new modifier to the output of the diff command. It
appears whenever two files being compared only differ in their content
but not in their metadata. As far as we know, under normal
circumstances, this should only ever happen if some kind of bitrot has
happened in the source file. The prerequisite for this detection to work
is that the right-side snapshot of the comparison has been created with
"backup --force".
2024-01-06 20:12:47 +01:00
Michael Eischer
649a6409ee
rewrite: cleanup tests
2023-12-24 15:36:22 +01:00
Michael Eischer
c31f5f986c
rewrite: Minor cleanups
2023-12-24 15:36:22 +01:00
Michael Eischer
2730d05fce
rewrite: Don't walk snapshot content if only metadata is modified
2023-12-24 15:36:22 +01:00