Michael Eischer
868219aad1
restore: test --dry-run plus --delete
2024-07-05 22:38:39 +02:00
Michael Eischer
aa8e18cf32
restore: add deletions to progress output
2024-07-05 22:38:39 +02:00
Michael Eischer
f4b15fdd96
restore: allow deleting a directory to replace it with a file
...
When the `--delete` option is specified, recursively delete directories
that should be replaced with a file.
2024-07-05 22:38:39 +02:00
Michael Eischer
168fc09d5f
restore: use case insensitive file name comparison on windows
2024-07-05 22:38:39 +02:00
Michael Eischer
013a6156bd
restore: remove unused parameter from SelectFilter
2024-07-05 22:38:39 +02:00
Michael Eischer
ac44bdf6dd
restore: add --delete option to remove files that are not in snapshot
2024-07-05 22:38:39 +02:00
Michael Eischer
144e2a451f
restore: track expected filenames in a folder
2024-07-05 21:03:35 +02:00
Michael Eischer
d762f4ee64
restore: simplfy selectFilter arguments
2024-07-05 21:03:35 +02:00
Michael Eischer
a9a60f77ce
restore: optimize memory usage
2024-07-05 21:03:35 +02:00
Michael Eischer
1369658a32
archiver: extract Readdirnames to fs package
2024-07-05 21:03:34 +02:00
Michael Eischer
ae978d60cc
restore: pass action enum to restore progress
2024-07-05 20:41:27 +02:00
Michael Eischer
83351f42e3
restore: add dry-run support
2024-07-05 20:41:27 +02:00
Michael Eischer
c47bf33884
restore: print processed files at maximum verbosity
2024-07-05 20:41:27 +02:00
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
Viktor Szépe
ac00229386
Fix typos
2024-07-03 20:02:06 +02:00
Michael Eischer
132965fd5c
Merge pull request #4864 from MichaelEischer/restore-delete
...
restore: improve file type mismatch handling
2024-06-26 21:27:57 +02:00
Michael Eischer
9817126341
Merge pull request #4863 from MichaelEischer/safer-repo-init2
...
repository: prevent initialization if a snapshot exists
2024-06-26 21:11:11 +02:00
Michael Eischer
c01b655229
backup: fix reading xattrs on Windows for root disks as regular user
...
Unprivileged users cannot open the root disks with write permissions for
xattrs. Thus, only request read permissions for reading the xattrs.
2024-06-26 20:13:50 +02:00
Michael Eischer
20a6c526e5
restic: also fix file path when reading windows xattrs
2024-06-14 22:40:25 +02:00
Michael Eischer
b80aa7b1cc
repository: prevent initialization if a snapshot exists
2024-06-14 20:37:01 +02:00
Michael Eischer
deca7d08ac
restorer: cleanup unexpected xattrs on windows
2024-06-14 20:17:06 +02:00
Michael Eischer
9572b7224f
restorer: windows test fixes
2024-06-13 23:20:09 +02:00
Michael Eischer
ca41c8fd11
restore: use fs function wrappers
...
This ensures proper path handling on Windows.
2024-06-13 22:40:37 +02:00
Michael Eischer
4d6042fe95
restore: remove unexpected xattrs from files
2024-06-13 22:21:00 +02:00
Michael Eischer
ebbd4e26d7
restorer: allow directory to replace existing file
2024-06-13 21:57:48 +02:00
Michael Eischer
ac729db3ce
restorer: fix overwriting of special file types
...
An attempt to replace an existing file with a hardlink previously ended
with a missing file.
Remove an existing file before trying to restore a special node. This
generalizes the existing behavior for symlinks to all special node
types.
2024-06-13 21:56:18 +02:00
Michael Eischer
c7902b7724
restorer: cleanup overwrite tests
2024-06-13 21:55:33 +02:00
Michael Eischer
c598a751c2
restore: fine-grained sparse support for windows
2024-06-13 21:55:33 +02:00
Michael Eischer
d265ec64f2
restore: correctly handle existing hardlinks
...
With hardlinks there's no efficient way to detect which files are linked
with each other. Thus, just start from scratch when restore has to
modify a hardlinked file.
2024-06-13 21:55:33 +02:00
Michael Eischer
f19b69af25
restore: allow overwrite to replace empty directories and symlinks
...
With an already existing file tree an old directory or symlink may exist
in a place where restore wants to create a new file. Thus, check for
unexpected file types and clean up if necessary.
2024-06-13 21:55:33 +02:00
Michael Eischer
f1c76a8286
restore: fix corrupted sparse files
2024-06-13 21:17:30 +02:00
Michael Eischer
1eccd6504b
restore: test restore only changed parts functionality
2024-06-13 21:17:30 +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
a66658b4c9
restore: only restore changed file parts
...
For files that should be overwritten, first check whether their content
matches the snapshot and only restore diverging parts.
2024-06-13 21:17:30 +02:00
Michael Eischer
62e0e5e8d8
restore: cleanup options handling
2024-06-12 22:53:53 +02:00
Michael Eischer
8733cd21b9
restore: fix file encryption on windows
...
The assumption that a file is not readonly is no longer valid.
2024-06-12 22:53:53 +02:00
Michael Eischer
8aa3ab6ef8
restore: check file type in verify
2024-06-12 22:53:53 +02:00
Michael Eischer
7f7c995977
fix linter warnings
2024-06-12 22:36:52 +02:00
Michael Eischer
ba53a2abb5
test overwrite behavior
2024-06-12 22:36:52 +02:00
Michael Eischer
e47e08a688
restorer: separately track skipped files
2024-06-12 22:36:52 +02:00
Michael Eischer
64b7b6b975
restore/ui: refactor for extensibility
2024-06-12 22:36:52 +02:00
Michael Eischer
6a4ae9d6b1
restore: configurable overwrite behavior
2024-06-12 22:36:52 +02:00
Michael Eischer
a23cb3a428
restore: reduce memory usage
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
0fcd89f892
restorer: remove special case for blobs with many occurrences
...
Loading blobs by now is no longer prone to timeouts when processing
takes a long time.
2024-06-12 22:36:52 +02:00
Michael Eischer
fd2ff464a2
restorer: remove stale comment
2024-06-12 22:36:52 +02:00
Michael Eischer
607daeed4f
restore: move nil pointer check into restoreui
2024-06-12 22:36:52 +02:00
Michael Eischer
30320a249a
restore: let filerestorer also handle empty files
...
This get's rid of the corresponding special cases.
2024-06-12 22:36:52 +02:00
Michael Eischer
c166ad7daf
restore: factor out file creation helper
2024-06-12 22:36:52 +02:00
Michael Eischer
da4512738a
Merge pull request #4853 from MichaelEischer/safer-repo-init
...
init: double check that no repository exists yet
2024-06-09 11:27:45 +02:00