Enhancement: Make overwrite behavior of `restore` customizable The `restore` command now supports an `--overwrite` option to configure whether already existing files are overwritten. The overwrite behavior can be configured using the following option values: - `--overwrite always` (default): Always overwrites already existing files. The `restore` command will verify the existing file content and only restore mismatching parts to minimize downloads. Updates the metadata of all files. - `--overwrite if-changed`: Like `always`, but speeds up the file content check by assuming that files with matching size and modification time (mtime) are already up to date. In case of a mismatch, the full file content is verified like with `always`. Updates the metadata of all files. - `--overwrite if-newer`: Like `always`, but only overwrites existing files when the file in the snapshot has a newer modification time (mtime) than the existing file. - `--overwrite never`: Never overwrites existing files. https://github.com/restic/restic/issues/4817 https://github.com/restic/restic/issues/200 https://github.com/restic/restic/issues/407 https://github.com/restic/restic/issues/2662 https://github.com/restic/restic/pull/4837 https://github.com/restic/restic/pull/4838 https://github.com/restic/restic/pull/4864 https://github.com/restic/restic/pull/4921