Commit graph

904 commits

Author SHA1 Message Date
Michael Eischer
d4db5a364e
Merge pull request from mikix/restore-errors
restore: clean up error handling when restoring metadata
2024-08-03 17:58:54 +00:00
Michael Eischer
d407abb50f
Merge pull request from MichaelEischer/reduce-cancelation-delays
Add more checks for canceled contexts
2024-08-03 18:23:20 +02:00
Michael Eischer
1c775feecc add changelog for cancelation delay 2024-08-03 18:13:24 +02:00
Michael Eischer
b3bfb5ed44 add changelog for long paths on windows 2024-08-03 18:09:28 +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
Alexander Neumann
ad09d21aaf Prepare changelog for 0.17.0 2024-07-26 11:28:55 +02:00
Leo R. Lundgren
5a8c915443 doc: Remove unrelated PR URL from changelog entry 2024-07-25 14:27:43 +02:00
Michael Eischer
636bf2915e minor tweaks 2024-07-24 20:40:15 +02:00
Leo R. Lundgren
77ec8ae091 doc: Polish unreleased changelogs 2024-07-23 00:51:57 +02:00
Alex Johnson
3bf2927006 Update snapshot summary on rewrite
Signed-off-by: Alex Johnson <hello@alex-johnson.net>
2024-07-16 12:06:50 -05:00
Michael Eischer
4a9536b829 amend restore overwrite changelog 2024-07-14 11:21:11 +02:00
Michael Eischer
36cc62075c add exit code changelog 2024-07-10 22:13:37 +02:00
Michael Eischer
5e1d0ffd99
Merge pull request from MichaelEischer/fix-filtered-ls-ncdu
ls: Fix --ncdu output with path filters and fix disk size
2024-07-10 20:27:42 +02:00
Michael Eischer
d8dbc71deb
Merge pull request from MichaelEischer/improve-anonymous-s3
S3: Improve anonymous access
2024-07-10 20:19:23 +02:00
Michael Eischer
5067a40bd8 update ncdu changelog 2024-07-10 20:18:53 +02:00
Michael Eischer
dc0db4eda4 add s3 anonymous authentication changelog entry 2024-07-10 20:10:27 +02:00
Michael Eischer
f980f5647e snapshots: also show snapshot size in compact view 2024-07-08 20:00:26 +02:00
Michael Eischer
54316978cd add restore --delete changelog 2024-07-05 22:38:39 +02:00
Michael Eischer
798256ec52 restore: add dry-run docs 2024-07-05 20:41:27 +02:00
Michael Eischer
a03e00373c update repair packs changelog 2024-07-05 20:04:25 +02:00
Michael Eischer
6fadc0131b
Merge pull request from MichaelEischer/fix-check-cache
check: fix cachedir creation when using default location
2024-07-04 22:06:28 +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
2fa1b42706 Prepare changelog for 0.16.5 2024-07-01 21:25:33 +02:00
Michael Eischer
ce0cbc7a36 check: fix cachedir creation when using default location 2024-06-30 12:04:57 +02:00
Maik Riechert
834f08fe2d Azure: add option to force use of CLI credential 2024-06-26 20:59:51 +02:00
Michael Eischer
e9d711422a bump azure, golang and gcs dependencies 2024-06-26 20:49:23 +02:00
Michael Eischer
3d73ae9988 update restore changelog 2024-06-13 22:32:53 +02:00
Michael Eischer
3ec28ff853 update restore --overwrite documentation 2024-06-13 21:17:30 +02:00
Michael Eischer
663151db57
Merge pull request from MichaelEischer/restore-options
Make restore overwrite behavior configurable
2024-06-12 22:52:55 +02:00
Michael Eischer
105261e12e add changelog for restore --overwrite 2024-06-12 22:36:52 +02:00
Michael Eischer
f834c1f08a
Merge pull request from MichaelEischer/bump-fuse
mount: support fuse-t on macOS
2024-06-12 20:33:05 +02:00
Michael Eischer
058292700c mount: support fuse-t on macOS 2024-06-11 22:52:08 +02:00
Michael Eischer
be05a17e15
Merge pull request 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
Michael Eischer
fc3841e7cc
Merge pull request from MichaelEischer/fix-utf-16-key
key add/passwd: handle UTF-16 encoding correctly
2024-06-09 11:27:58 +02:00
Michael Eischer
8440b94159
Merge pull request from zmanda/windows-extendedattribs
Back up and restore Extended Attributes on Windows NTFS
2024-06-09 09:18:04 +00:00
Srigovind Nayak
2a2c09e666
changelog: update changelog for gh-4781 2024-06-08 13:23:35 +05:30
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
Michael Eischer
db2398f35b backend: increase request progress timeout to 5 minutes
Apparently, 2 minutes are too short in some cases and can result in
canceled List requests.
2024-06-01 19:01:51 +02:00
Michael Eischer
2280fbfd2e
Merge pull request 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
Srigovind Nayak
de7b418bbe http: allow custom User-Agent for outgoing HTTP requests 2024-05-30 15:38:06 +02:00
Michael Eischer
c103c0830e add changelog for skip-if-unchanged 2024-05-30 15:25:44 +02:00
Michael Eischer
3828313974
Merge pull request from MichaelEischer/master
update `repair packs` changelog
2024-05-25 17:02:21 +02:00
Michael Eischer
04c181dbd0 update-repair-packs-changelog 2024-05-25 16:42:55 +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
130506250f document insecure-no-password 2024-05-24 22:38:20 +02:00
Michael Eischer
436afbff23 add changelog for memory efficient prune 2024-05-24 22:18:14 +02:00
Michael Eischer
f680a2331d add changelog for streaming index rewrite 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
3f46808898 add forget safety net changelogs 2024-05-24 20:45:33 +02:00
Michael Eischer
723247c8e5 add changelog for longer retries 2024-05-24 20:24:02 +02:00
Michael Eischer
5f23baabcc add retries for corrupted blobs to changelog 2024-05-18 23:03:24 +02:00
Maik Riechert
355f520936 Azure: add option to force use of CLI credential 2024-05-18 22:15:54 +02:00
Michael Eischer
53561474d9 update changelog with persistent backend error handling 2024-05-18 19:59:26 +02:00
aneesh-n
43bc304e42
Add unreleased changelog 2024-05-17 14:54:25 -06:00
Michael Eischer
7ed560a201
Merge pull request from MichaelEischer/parallel-dump-load
dump: Parallelize loading large files
2024-05-14 22:35:44 +02:00
Michael Eischer
92221c2a6d
Merge pull request from zmanda/windows-securitydesc
Back up and restore SecurityDescriptors on Windows
2024-05-12 14:14:39 +00:00
Michael Eischer
b5fdb1d637
Merge pull request from MichaelEischer/fix-sftp-performance
Fix sftp upload performance
2024-05-12 15:28:33 +02:00
Michael Eischer
3740700ddc add http timeouts to changelog 2024-05-09 23:46:17 +02:00
Michael Eischer
e184538ddf dump: add changelog 2024-05-05 12:12:21 +02:00
Michael Eischer
ffe5439149
Merge pull request from MichaelEischer/better-restorer-error-handling
Rework repository.StreamPacks & better restorer error handling
2024-05-01 16:37:41 +02:00
Michael Eischer
676f0dc60d add changelog 2024-05-01 16:28:57 +02:00
aneesh-n
08c6945d61
Fix review comments 2024-04-29 16:21:38 -06:00
Aneesh N
3f76b902e5
Merge branch 'master' into windows-securitydesc 2024-04-29 14:40:34 -06:00
DRON-666
ccd35565ee
s/sec./seconds 2024-04-29 01:48:22 +03:00
DRON-666
5703e5a652 Fix texts and comments 2024-04-29 01:18:46 +03:00
DRON-666
739d3243d9 vss: Update docs and changelog 2024-04-28 22:45:21 +03:00
DRON-666
9182e6bab5 vss: Update docs and changelog 2024-04-28 22:44:16 +03:00
Michael Eischer
a1d682ce0e add changelog for sftp performance fix 2024-04-28 11:58:08 +02: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
2e6c43c695
Merge pull request from MichaelEischer/fix-cache-race
cache: ignore ErrNotExist during cleanup of old files
2024-04-22 21:46:06 +02:00
Michael Eischer
55d56db31b
Merge pull request from MichaelEischer/deprecate-s3legacy-layout
Deprecate s3legacy layout
2024-04-11 22:09:34 +02:00
Michael Eischer
591b421c4a Deprecate s3legacy layout 2024-04-10 21:27:56 +02:00
Michael Eischer
bf054c09d2 backup: Ignore xattr.list permission error for parent directories
On FreeBSD, limited users may not be able to even list xattrs for the
parent directories above the snapshot source paths. As this can cause
the backup to fail, just ignore those errors.
2024-04-10 20:46:15 +02:00
Michael Eischer
0747cf5319 cache: ignore ErrNotExist during cleanup of old files
Two restic processes running concurrently can try to remove the same
files from the cache. This could cause one process to fail with an error
if the other one has already remove a file that the current process also
tries to delete.
2024-04-10 19:25:51 +02:00
Michael Eischer
9fb017e67a
Merge pull request 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
6cca1d5705
Merge pull request from ae-govau/unixsocket
Enhancement: option to send HTTP over unix socket
2024-04-03 19:29:21 +00: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 )

In order to avoid output parameters also changed function addJSONSnapshots to asJSONSnapshots
2024-03-29 11:30:00 +01:00
Michael Eischer
07eb6c315b add changelog for locking refactor 2024-03-28 23:46:58 +01:00
Michael Eischer
7f9ad1c3db
Merge pull request 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
21cf38fe96 add changelog for deviceID only for hardlinks 2024-03-28 19:32:50 +01:00
Michael Eischer
6ac7519188 add changelog for rest unix socket support 2024-03-28 17:41:41 +01:00
Michael Eischer
98a6817d01 add changelog for legacy index deprecation 2024-03-09 18:35:00 +01:00
Michael Eischer
fe68d2cafb add feature flag documentation 2024-03-09 17:29:52 +01:00
Aneesh Nireshwalia
5764300022
Add changelog and fix lint error 2024-02-24 13:47:49 -07:00
Aneesh Nireshwalia
c0a1b9ada5
Update docs for security descriptors 2024-02-24 13:28:18 -07:00
Michael Eischer
6a13e451b1 document snapshot statistics 2024-02-23 22:32:04 +01:00
Aneesh Nireshwalia
e8211cb64a
Add changelog and update docs for windows attr 2024-02-22 17:59:56 -07:00
Brian Harring
b41107dcaf
Add changelog for SIGTERM bugfix.
Signed-off-by: Brian Harring <ferringb@gmail.com>
2024-02-19 11:31:48 +01:00
Michael Eischer
80754dbf0c
Merge pull request from MichaelEischer/ls-unified-json-output
ls: include standard `message_type` field in output
2024-02-18 15:47:41 +00:00
Michael Eischer
6fbb470835
Merge pull request from MichaelEischer/check-repair-packs
check: Suggest usage of `repair packs` if pack files are damaged
2024-02-17 15:54:07 +00:00
Michael Eischer
0a36d193d8 add changelog for enhanced repair packs 2024-02-12 21:43:35 +01:00
Michael Eischer
9e3703ded5 remove changelogs that are already included in restic 0.16.4 2024-02-12 20:39:31 +01:00
Michael Eischer
15d6fa1f83 dump: update docs for --target option 2024-02-10 18:39:06 +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
Alexander Neumann
6cd2804bff Prepare changelog for 0.16.4 2024-02-04 19:50:34 +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
4589da7eb9 add data verification changelog entry 2024-02-04 19:09:49 +01:00
Michael Eischer
29e1caf825 add changelog draft for data corruption on max compression 2024-02-04 19:05:51 +01:00
Michael Eischer
d5e662315a
Merge pull request from MichaelEischer/verify-integrity-on-upload
backup: verify blobs before upload
2024-02-04 18:04:27 +00:00
Michael Eischer
effe76aaf5
Merge pull request from MichaelEischer/workaround-compression-bug
Downgrade klauspost/compress to fix data corruption at max. compression
2024-02-04 18:03:34 +00:00
Michael Eischer
5957417b1f Apply changelog entry / documentation improvements from review 2024-02-04 18:55:41 +01:00
Michael Eischer
219d8e3c18 add changelog draft for data corruption on max compression 2024-02-04 18:11:48 +01:00
Michael Eischer
86b38a0b17 rename --no-verify-pack to --no-extra-verify 2024-02-04 17:01:05 +01:00
Michael Eischer
7d31180fe6 add data verification changelog entry 2024-02-04 15:48:11 +01:00
Michael Eischer
eaf9659efc
Merge pull request from numerigraphe/fix-key-add-id
Properly report the ID of newly added keys
2024-01-31 20:59:41 +00: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 
2024-01-29 10:12:49 +01:00
Michael Eischer
5dca8a70d5 ls: include standard message_type field in output 2024-01-27 15:48:24 +01:00
Nils Decker
b2703a4089 add changelog for ls --ncdu 2024-01-27 13:17:15 +01:00
Michael Eischer
6cc2bec5dd apply suggestion from review 2024-01-23 19:09:04 +01:00
Michael Eischer
767c2539a0 backup: Improve help text for --stdin-from-command 2024-01-21 22:06:54 +01:00
Michael Eischer
a763a5c67d s3: minor cleanups for archive storage class handling 2024-01-20 11:25:28 +01:00
Vladislav Belous
8ca58b487c S3: do not set storage class for metadata when using archive storage 2024-01-20 11:04:15 +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
d987582594 Prepare changelog for 0.16.3 2024-01-14 20:21:19 +01:00
Leo R. Lundgren
ef2e473b99 doc: Polish changelogs 2024-01-10 00:19:07 +01:00
Michael Eischer
7b2de84763
Merge pull request from MichaelEischer/workaround-rclone-list-errors
rclone: Workaround for incorrect "not found" errors while listing files
2024-01-09 18:28:31 +01:00
Michael Eischer
e4bbde7036 rclone: Workaround for incorrect "not found" errors while listing files
rclone returns a "not found" error if an internal error occurs while
listing a folder. Ignoring this error lets restic erroneously think that
there are no files, which can cause `prune` to wipe the whole
repository.
2024-01-09 18:28:17 +01:00
Michael Eischer
ec0fb46f6c add changelog for reliable restores 2024-01-09 18:27:48 +01:00
Michael Eischer
c31e9418ba
Merge pull request from MichaelEischer/reliable-large-restores
Improve reliability of large restores
2024-01-09 18:23:09 +01:00
Michael Eischer
2e8de9edfd rclone: Workaround for incorrect "not found" errors while listing files
rclone returns a "not found" error if an internal error occurs while
listing a folder. Ignoring this error lets restic erroneously think that
there are no files, which can cause `prune` to wipe the whole
repository.
2024-01-09 18:20:16 +01:00
Michael Eischer
620518aec6 add changelog for better restore error reporting 2024-01-08 21:33:05 +01:00
Michael Eischer
a9446c1184 add changelog for irregular files on windows 2024-01-08 21:33:05 +01:00
Michael Eischer
d4b8abd3e2 fix deduplicated files on windows 2024-01-08 21:33:05 +01:00
Michael Eischer
4ea3796455 add changelog for reliable restores 2024-01-08 21:03:10 +01:00
Michael Eischer
77434c6e2b
Merge pull request from ekristen/aws-assume-role
Allow AWS Assume Role
2024-01-08 19:07:17 +00:00
Michael Eischer
4248c6c3ca s3: update documentation 2024-01-07 19:30:11 +01:00
Michael Eischer
e4a7eb09ef
Merge pull request from MichaelEischer/better-restorer-error-reporting
Improver restorer error reporting
2024-01-07 11:20:29 +01:00
Michael Eischer
f8b4e932ef
Merge pull request from MichaelEischer/improve-irregular-file-handling
Improve irregular file handling
2024-01-07 11:12:07 +01:00
Michael Eischer
100872308f add changelog for better restore error reporting 2024-01-07 11:06:42 +01:00
Michael Eischer
3e29f8dddf add changelog for irregular files on windows 2024-01-07 10:52:12 +01:00
Michael Eischer
76f507c775
Merge pull request from MichaelEischer/fix-windows-dedup-files
Fix backup of deduplicated files on windows
2024-01-07 10:44:50 +01:00
Michael Eischer
6ef23b401b fix deduplicated files on windows 2024-01-07 10:23:31 +01:00
Erik Kristensen
5ffb536aae feat: support AWS assume role 2024-01-06 21:19:58 +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
Gabriel Kabbe
004520a238 rewrite: Add changelog 2023-12-24 15:36:22 +01:00
Sébastien Gross
f7587be28f mount: detect mountpoint does not exist before opening the repository
Bug  suggests that restic should not be nice to user and should
refrain from creating a mountpoint if it does not exist. Nevertheless,
it currently opens the repository before checking for the mountpoint's
existence. In the case of large or remote repositories, this process
can be time-consuming, delaying the inevitable outcome.

    /restic mount --repo=REMOTE --verbose /tmp/backup
    repository 33f14e42 opened (version 2, compression level max)
    [0:38] 100.00%  162 / 162 index files loaded
    Mountpoint /tmp/backup doesn't exist
    stat /tmp/backup: no such file or directory

    real	0m39.534s
    user	1m53.961s
    sys	0m3.044s

In this scenario, 40 seconds could have been saved if the nonexistence
of the path had been verified beforehand.

This patch relocates the mountpoint check to the beginning of the
runMount function, preceding the opening of the repository.

    /restic mount --repo=REMOTE --verbose /tmp/backup
    Mountpoint /tmp/backup doesn't exist
    stat /tmp/backup: no such file or directory

    real	0m0.136s
    user	0m0.018s
    sys	0m0.027s

Signed-off-by: Sébastien Gross <seb•ɑƬ•chezwam•ɖɵʈ•org>
2023-12-24 11:54:18 +01:00
Tobias Speicher
ce53ea32c6
Split go_target into go_os and go_arch 2023-11-01 22:43:38 +01:00
Tobias Speicher
6f1efcb28b
Update wording on changelog entry 2023-11-01 22:12:19 +01:00
Tobias Speicher
6ca07ee004
add changelog/unreleases for issue-4547 2023-10-31 19:39:52 +01:00
Alexander Neumann
c8dd95f104 Prepare changelog for 0.16.2 2023-10-29 19:50:04 +01:00
Leo R. Lundgren
7d980b469d doc: Polish changelogs 2023-10-29 00:44:53 +02:00
Michael Eischer
d863234e3e add changelog for missing documentation 2023-10-28 20:25:24 +02:00