Michael Eischer
cb16add8c8
restic: cleanup redundant code in test case
2024-08-30 12:45:20 +02:00
Michael Eischer
bc1aecfb15
restore: test timestamps for macOS resource forks are restored correctly
2024-08-30 12:45:20 +02:00
Michael Eischer
61aaddac28
restic: restore timestamps after extended attributes
...
restoring the xattr containing resource forks on macOS apparently
modifies the file modification timestamps. Thus, restore the timestamp
after xattrs.
2024-08-30 12:45:20 +02:00
Srigovind Nayak
8a7ae17d4d
Revert "repository: removed redundant prepareCache method from Repository"
...
This reverts commit 720609f8ba .
2024-08-30 12:43:13 +02:00
Srigovind Nayak
1e68fbca90
repository: removed redundant prepareCache method from Repository
...
* remove the prepareCache method from the Repository
* changed the signature of the SetIndex function to no longer return an error
2024-08-30 12:43:13 +02:00
aneesh-n
7642e05eed
Add test cases and handle volume GUID paths
...
Gracefully handle errors while checking for EA and add debug logs.
2024-08-30 12:37:10 +02:00
aneesh-n
51fad2eecb
Gracefully handle invalid prepared volume names
2024-08-30 12:37:10 +02:00
aneesh-n
8861421cd6
Fix extended attributes handling for VSS snapshots
2024-08-30 12:37:10 +02:00
aneesh-n
18e9d71d7a
Fix review comments
2024-08-10 10:38:04 -06:00
aneesh-n
71632a8197
Handle extended length paths
2024-08-05 16:03:43 -06:00
aneesh-n
85639f5159
Add handling for relative paths, vss paths, UNC paths
2024-08-04 13:19:13 -06:00
aneesh-n
c13725b5d0
Check EA support only for volumes, files and dirs
2024-08-04 11:05:40 -06:00
aneesh-n
89712f6640
Formatted
2024-08-04 10:36:13 -06:00
aneesh-n
9dedba6dfc
Address review comments
2024-08-04 10:23:39 -06:00
aneesh-n
56113a8da7
Skip EA processing for volumes that do not support EA
2024-08-03 16:03:30 -06:00
Michael Eischer
d4db5a364e
Merge pull request #4958 from mikix/restore-errors
...
restore: clean up error handling when restoring metadata
2024-08-03 17:58:54 +00:00
Michael Eischer
ae1cb889dd
Add more checks for canceled contexts
2024-07-31 19:30:47 +02:00
Michael Terry
6a97833337
restore: clean up error handling when restoring metadata
...
- Fix a logic error that instead of reporting the *first*
metadata-setting error that appears, we were instead reporting the
*last* error (and only if the lchown call failed!).
- Don't show any errors when setting metadata for files in non-root
mode (things like timestamps, attributes). Previously, only lchown
errors were skipped. But other kinds of attribute errors make sense
to skip as well. The code path happened to work correctly before
because of the above logic error. But once that was fixed, this
change needed to happen too.
2024-07-30 19:27:34 -04: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
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
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
4d6042fe95
restore: remove unexpected xattrs from files
2024-06-13 22:21:00 +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
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
8440b94159
Merge pull request #4807 from zmanda/windows-extendedattribs
...
Back up and restore Extended Attributes on Windows NTFS
2024-06-09 09:18:04 +00:00
aneesh-n
2101dfe448
Add missing return to fix failing test
2024-06-05 22:40:21 -06:00
aneesh-n
7a48c9ebd7
Fix review comments
2024-06-05 16:06:57 -06: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
ad98fbf7dd
restic: add IDSet.Clone() method
2024-05-24 21:33:17 +02:00
Michael Eischer
550d1eeac3
repository: remove SaveIndex from interface
...
The method is now only indirectly accessible via Prune or RepairIndex.
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
e848ad651a
restic: name parameters in restic interface
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
8f1e70cd9b
repository: remove clearIndex and packSize from public interface
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
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
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
d106ad6921
restic: regenerate snapshot keep policy golden test files
2024-05-24 20:45:33 +02:00
Michael Eischer
b1266867d2
repository: wait max 1 minutes for lock removal if context is canceled
...
The toplevel context in restic only canceled if the user interrupts a
restic operation. If the network connection has failed this can require
waiting the full retry duration of 15 minutes which is a bad user
experience for interactive usage. Thus limit the delay to one minute in
this case.
2024-05-24 20:24:02 +02:00
Michael Eischer
223aa22cb0
replace some uses of restic.Repository with finegrained interfaces
2024-05-18 21:42:51 +02:00
Michael Eischer
291c9677de
restic/repository: remove Backend() method
2024-05-18 21:42:51 +02:00
Michael Eischer
3d2410ed50
Replace some repo.RemoveUnpacked usages
...
These will eventually be blocked as they do not delete Snapshots.
2024-05-18 21:42:51 +02:00
Michael Eischer
8a425c2f0a
remove usages of repo.Backend() from tests
2024-05-18 21:42:51 +02:00
Michael Eischer
e40943a75d
restic: remove backend usage from lock test
2024-05-18 21:38:31 +02:00