backup: prevent exclude of backup targets#21797
Merged
MichaelEischer merged 3 commits intoMay 31, 2026
Merged
Conversation
d58168d to
4a9a766
Compare
4a9a766 to
42988d0
Compare
Track backup targets explicitly specified by the user and prevent excluding them. This for example ensures that `restic backup --exclude-if-present .git /home/user/data` backs up the `data` folder even if there is a `.git` folder in `/home/user`. Note that this does not suffice for commands like `restic backup --exclude data /home/user/data` as the exclude pattern will still match every single file within `data`.
42988d0 to
795ad59
Compare
rawtaz
reviewed
May 30, 2026
795ad59 to
7e8f9a9
Compare
14 tasks
blake-hamm
added a commit
to blake-hamm/bhamm-lab
that referenced
this pull request
Jul 6, 2026
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [restic/restic](https://restic.net) ([source](https://github.com/restic/restic)) | minor | `0.18.1` → `0.19.1` | --- ### Release Notes <details> <summary>restic/restic (restic/restic)</summary> ### [`v0.19.1`](https://github.com/restic/restic/blob/HEAD/CHANGELOG.md#Changelog-for-restic-0191-2026-07-05) [Compare Source](restic/restic@v0.19.0...v0.19.1) The following sections list the changes in restic 0.19.1 relevant to restic users. The changes are ordered by importance. #### Summary - Fix [#​5234](restic/restic#5234): Prevent mounting over the repository directory - Fix [#​5667](restic/restic#5667): Skip inaccessible `backup` source paths - Fix [#​5722](restic/restic#5722): Update `mount` latest symlink after snapshot reload - Fix [#​21866](restic/restic#21866): Hide `stats` progress bar in JSON mode - Fix [#​21869](restic/restic#21869): Restore old behavior of `snapshots --latest <n>` without `--group-by` - Fix [#​21876](restic/restic#21876): Show timezone location in `snapshots` output - Fix [#​21879](restic/restic#21879): Prevent crash in mountpoint validation if mountpoint is inaccessible - Fix [#​21895](restic/restic#21895): Remove read-only files via the SFTP backend on Windows servers - Fix [#​21899](restic/restic#21899): Make `backup` respect excludes for duplicate directory entries #### Details - Bugfix [#​5234](restic/restic#5234): Prevent mounting over the repository directory Using a local repository directory as the `mount` target — or a path that contains it, or that it contains — caused the FUSE server to read its own backend files through the new mount, deadlocking the kernel and requiring a long reboot to recover. Restic now resolves both paths and refuses any such overlap with a clear error before mounting. [#​5234](restic/restic#5234) [#​5348](restic/restic#5348) - Bugfix [#​5667](restic/restic#5667): Skip inaccessible `backup` source paths The `backup` command only skipped source paths that did not exist. A path that could not be accessed for another reason, such as a malformed path on Windows, was kept and produced an empty snapshot. Restic now skips any such path and aborts if none remain. [#​5667](restic/restic#5667) [#​21852](restic/restic#21852) - Bugfix [#​5722](restic/restic#5722): Update `mount` latest symlink after snapshot reload When `restic mount` was kept running while new snapshots were created, the new snapshots appeared in the mountpoint, but the `latest` symlink could still point to the previously latest snapshot. Restic now invalidates the cached snapshot directory entries after a snapshot reload so that `latest` points to the newest snapshot. [#​5722](restic/restic#5722) [#​21873](restic/restic#21873) - Bugfix [#​21866](restic/restic#21866): Hide `stats` progress bar in JSON mode Since restic 0.19.0, the `stats` command shows a progress bar. This progress bar was unintentionally displayed also when using the `--json` option, mixing regular text output with JSON. This is now fixed. [#​21866](restic/restic#21866) [#​21871](restic/restic#21871) - Bugfix [#​21869](restic/restic#21869): Restore old behavior of `snapshots --latest <n>` without `--group-by` Restic 0.19.0 accidentally changed the behavior of `snapshots --latest <n>` to no longer group snapshots by host and paths by default. The `snapshots --latest <n>` command now again uses the old behavior of grouping by host and paths when `--group-by` is not specified. However, when specifying `--group-by` the output is still grouped as requested, as in restic 0.19.0. [#​21869](restic/restic#21869) [#​21875](restic/restic#21875) - Bugfix [#​21876](restic/restic#21876): Show timezone location in `snapshots` output With restic 0.19.0, the `snapshots` command printed the current timezone when listing snapshots. However, that timezone label might change during the year, for example with daylight saving time. Restic now prints a more consistent and shorter version of the text. [#​21876](restic/restic#21876) <https://forum.restic.net/t/possible-bug-in-timezone-naming/10867> - Bugfix [#​21879](restic/restic#21879): Prevent crash in mountpoint validation if mountpoint is inaccessible Since restic 0.19.0, the `mount` command validates a mountpoint before loading the repository. If restic was unable to stat the mountpoint, this would result in a crash. This has now been fixed to correctly return an error instead. [#​21879](restic/restic#21879) - Bugfix [#​21895](restic/restic#21895): Remove read-only files via the SFTP backend on Windows servers Since restic 0.19.0, repository files on the SFTP backend are marked read-only after save. On Windows SFTP servers, removing them failed with a permission error. The SFTP backend now clears the read-only flag before removing the file. [#​21895](restic/restic#21895) [#​21897](restic/restic#21897) - Bugfix [#​21899](restic/restic#21899): Make `backup` respect excludes for duplicate directory entries Since restic 0.19.0, backing up a directory with duplicate directory entries always produced "Warning: at least one source file could not be read", even when those files were excluded. This has now been fixed. [#​21899](restic/restic#21899) [#​21900](restic/restic#21900) ### [`v0.19.0`](https://github.com/restic/restic/blob/HEAD/CHANGELOG.md#Changelog-for-restic-0190-2026-06-09) [Compare Source](restic/restic@v0.18.1...v0.19.0) The following sections list the changes in restic 0.19.0 relevant to restic users. The changes are ordered by importance. #### Summary - Fix [#​2034](restic/restic#2034): Support serving a `restic mount` of a Windows system via Samba - Fix [#​4447](restic/restic#4447): Use mode 0700 for repository directories created over SFTP - Fix [#​4467](restic/restic#4467): Exit with code 3 when some `backup` source paths do not exist - Fix [#​4759](restic/restic#4759): Error out when environment variables hold invalid values - Fix [#​5233](restic/restic#5233): Return exit code 3 when failing to remove snapshots - Fix [#​5258](restic/restic#5258): Exit with code 130 on SIGINT - Fix [#​5280](restic/restic#5280): Reject impossible `find` time bounds immediately - Fix [#​5280](restic/restic#5280): Make `find --pack` list blobs for tree packs - Fix [#​5354](restic/restic#5354): Allow `rclone` and `sftp` backends when running in background - Fix [#​5427](restic/restic#5427): Correctly restore ACL inheritance state on Windows - Fix [#​5477](restic/restic#5477): Password prompt was sometimes not shown for `backup -v` - Fix [#​5487](restic/restic#5487): Mark repository files read-only when using the SFTP backend - Fix [#​5586](restic/restic#5586): Correctly handle `snapshots --group-by` with `--latest` - Fix [#​5595](restic/restic#5595): Avoid spurious `chmod` errors on certain file backends - Fix [#​5683](restic/restic#5683): Prevent `backup --stdin-from-command` from hanging - Fix [#​5757](restic/restic#5757): Respect `--user` and `--host` in `key passwd` - Fix [#​21820](restic/restic#21820): Correct handling of duplicate index entries - Fix [#​21820](restic/restic#21820): Correctly handle pack files missing from the index - Chg [#​5293](restic/restic#5293): Prune small packfiles more aggressively - Chg [#​5767](restic/restic#5767): Prevent excluding paths explicitly passed to `backup` - Chg [#​21791](restic/restic#21791): Update dependencies and require Go 1.25 or newer - Enh [#​3326](restic/restic#3326): Limit `check` to snapshots selected by filters - Enh [#​3572](restic/restic#3572): Support restoring ownership by name on UNIX systems - Enh [#​3738](restic/restic#3738): Optional GitHub token for `self-update` API requests - Enh [#​4278](restic/restic#4278): Support include filters in the `rewrite` command - Enh [#​4728](restic/restic#4728): Support zstd compression levels `fastest` and `better` - Enh [#​4868](restic/restic#4868): Include repository ID in the filesystem name used by `mount` - Enh [#​5175](restic/restic#5175): Add status counters to `copy` in verbose text output - Enh [#​5352](restic/restic#5352): Support excluding cloud-backed files on macOS - Enh [#​5383](restic/restic#5383): Reduce progress bar refresh rates to decrease energy usage - Enh [#​5424](restic/restic#5424): Enable Windows filesystem privileges before file access - Enh [#​5440](restic/restic#5440): Make `--host` override environment variable `RESTIC_HOST` - Enh [#​5448](restic/restic#5448): Support configuring `nice` and `ionice` in the Docker image - Enh [#​5453](restic/restic#5453): Copy multiple snapshots in batches - Enh [#​5523](restic/restic#5523): Add Open Container Initiative labels to release Docker image - Enh [#​5531](restic/restic#5531): Reduce Azure storage costs by optimizing uploads - Enh [#​5562](restic/restic#5562): Rewrite only changed status lines each frame - Enh [#​5588](restic/restic#5588): Show timezone context in `snapshots` output - Enh [#​5610](restic/restic#5610): Reduce `check`, `copy`, `diff` and `stats` memory usage - Enh [#​5689](restic/restic#5689): Show more detailed progress for `stats` - Enh [#​5713](restic/restic#5713): Significantly speed up index loading - Enh [#​5718](restic/restic#5718): Stricter and earlier validation of the `mount` point #### Details - Bugfix [#​2034](restic/restic#2034): Support serving a `restic mount` of a Windows system via Samba A repository mounted using `restic mount` on a POSIX system could not use Samba to serve files from backups of Windows systems, while backups of non-Windows systems could be served successfully. This has now been fixed. [#​2034](restic/restic#2034) [#​4382](restic/restic#4382) [#​21784](restic/restic#21784) - Bugfix [#​4447](restic/restic#4447): Use mode 0700 for repository directories created over SFTP When creating a repository over SFTP, restic created the repository directories with the SFTP server's default permissions, often 0755, rather than the 0700 permissions it uses for local repositories. Restic now creates these directories with 0700 permissions. [#​4447](restic/restic#4447) [#​21817](restic/restic#21817) - Bugfix [#​4467](restic/restic#4467): Exit with code 3 when some `backup` source paths do not exist Restic used to exit with code 0 when a top-level backup source path was missing, and exited with code 3 only when a child path under an existing source did not exist. Scripts that relied on the exit code could therefore treat an incomplete backup as success. Restic now exits with code 3 when any backup source path does not exist. [#​4467](restic/restic#4467) [#​5347](restic/restic#5347) - Bugfix [#​4759](restic/restic#4759): Error out when environment variables hold invalid values If the environment variables `RESTIC_COMPRESSION`, `RESTIC_PACK_SIZE`, or `RESTIC_READ_CONCURRENCY` could not be parsed, restic used to ignore them. Restic now fails with an error unless the same setting is overridden on the command line. [#​4759](restic/restic#4759) [#​5592](restic/restic#5592) [#​5700](restic/restic#5700) - Bugfix [#​5233](restic/restic#5233): Return exit code 3 when failing to remove snapshots Previously, the `forget` command returned exit code 0 when it failed to remove one or more snapshots. This was misleading to scripts. The `forget` command now instead returns exit code 3 when failing to remove one or more snapshots. [#​5233](restic/restic#5233) [#​5322](restic/restic#5322) - Bugfix [#​5258](restic/restic#5258): Exit with code 130 on SIGINT Restic used to return exit code 1 on SIGINT. It now returns 130, the usual convention for a process stopped by Ctrl-C. [#​5258](restic/restic#5258) [#​5363](restic/restic#5363) - Bugfix [#​5280](restic/restic#5280): Reject impossible `find` time bounds immediately The `find` command now fails with an error when both `--oldest` and `--newest` are set and `--oldest` is later than `--newest`. [#​5280](restic/restic#5280) [#​5310](restic/restic#5310) - Bugfix [#​5280](restic/restic#5280): Make `find --pack` list blobs for tree packs The `find --pack <tree-pack>` command now also reports blobs for packs that only contain tree blobs. [#​5280](restic/restic#5280) [#​5664](restic/restic#5664) - Bugfix [#​5354](restic/restic#5354): Allow `rclone` and `sftp` backends when running in background Previously, starting restic in the background could result in unexpected behavior when using the `rclone` or `sftp` backends. For example, `restic -r rclone:./example --insecure-no-password init &` could cause the calling `bash` shell to exit unexpectedly. This has now been fixed. [#​5354](restic/restic#5354) [#​5358](restic/restic#5358) [#​5493](restic/restic#5493) [#​5494](restic/restic#5494) - Bugfix [#​5427](restic/restic#5427): Correctly restore ACL inheritance state on Windows Since security descriptor backups were added in restic 0.17.0, Access Control Entry inheritance was not restored correctly on Windows; restored permissions were always marked as explicit (not inherited) even when they were inherited from a parent folder. The inheritance flags are now correctly applied when restoring the security descriptor, preserving the original permission structure. [#​5427](restic/restic#5427) [#​5465](restic/restic#5465) - Bugfix [#​5477](restic/restic#5477): Password prompt was sometimes not shown for `backup -v` The repository password prompt could be hidden when running the `backup -v` command. This has now been fixed. [#​5477](restic/restic#5477) [#​5554](restic/restic#5554) - Bugfix [#​5487](restic/restic#5487): Mark repository files read-only when using the SFTP backend Files created through the SFTP backend previously stayed writable. New files now get read-only permissions where the server supports `chmod`. [#​5487](restic/restic#5487) [#​5497](restic/restic#5497) - Bugfix [#​5586](restic/restic#5586): Correctly handle `snapshots --group-by` with `--latest` For the `snapshots` command, `--latest` did not interact correctly with a non-default `--group-by` value. This combination now behaves as intended. [#​5586](restic/restic#5586) [#​5601](restic/restic#5601) - Bugfix [#​5595](restic/restic#5595): Avoid spurious `chmod` errors on certain file backends On filesystems that do not support `chmod` (for example CIFS or FUSE-mounted WebDAV), restic since version 0.18.0 failed to remove stale locks, throwing the error `chmod ...: operation not supported`. This has now been fixed. [#​5595](restic/restic#5595) [#​5596](restic/restic#5596) - Bugfix [#​5683](restic/restic#5683): Prevent `backup --stdin-from-command` from hanging When using `--stdin-from-command`, the `backup` command could hang until manually cancelled if the backup stopped before all subprocess output was consumed, for example after a failed upload to the repository. This has now been fixed. [#​5683](restic/restic#5683) [#​21829](restic/restic#21829) - Bugfix [#​5757](restic/restic#5757): Respect `--user` and `--host` in `key passwd` The `key passwd` command previously ignored the `--user` and `--host` options and always stored the new key with the current user and host name. These options are now honored. [#​5757](restic/restic#5757) [#​21781](restic/restic#21781) - Bugfix [#​21820](restic/restic#21820): Correct handling of duplicate index entries Before restic 0.10.0, a bug could, in very rare cases, split information about a pack file across multiple index files. Since restic 0.17.0, any operation that rewrites the index (like `prune` or `repair packs`) could lose part of that information, resulting in errors in later `check` or `prune` runs. This can be fixed by running `repair packs`, and only repositories using repository format version 1 might be affected. Split pack index entries are no longer lost during index rewrites. The `check` command now reports these cases as errors that can be fixed using the `repair packs` command. On older restic versions, running `repair index` twice also fixes the problem. [#​21820](restic/restic#21820) [#​21828](restic/restic#21828) - Bugfix [#​21820](restic/restic#21820): Correctly handle pack files missing from the index The `repair packs` command was unable to salvage blobs from a pack file if the pack file was not contained in the index or the index entry was incomplete. The command now uses information from both the index and the pack file header. [#​21820](restic/restic#21820) [#​21827](restic/restic#21827) - Change [#​5293](restic/restic#5293): Prune small packfiles more aggressively The `prune` command now repacks more small packfiles by default. The option `--repack-small` is no longer needed and has been marked as deprecated. The `--repack-smaller-than` option can still be used to further control repacking of small pack files. [#​5293](restic/restic#5293) [#​21803](restic/restic#21803) - Change [#​5767](restic/restic#5767): Prevent excluding paths explicitly passed to `backup` When e.g. `restic backup --exclude-if-present .git /home/user/data` was run and `/home/user/.git` existed, restic excluded the `data` directory from the snapshot. The same applied to `--exclude-caches` or `--one-file-system`. Similarly, `restic backup --exclude-larger-than 1M large-file.bin` produced an empty snapshot when the file was larger than one megabyte. The `backup` command now tracks which files and directories were specified on the command line and does not apply excludes to those paths. Content inside a backed-up directory is still filtered by excludes as before. [#​5767](restic/restic#5767) [#​21797](restic/restic#21797) - Change [#​21791](restic/restic#21791): Update dependencies and require Go 1.25 or newer Dependencies have been updated. Building restic now requires Go 1.25 or newer. The Windows build with Go 1.26 was also fixed. [#​21791](restic/restic#21791) [#​5619](restic/restic#5619) [#​21796](restic/restic#21796) - Enhancement [#​3326](restic/restic#3326): Limit `check` to snapshots selected by filters The `check` command can now restrict pack verification to snapshots chosen with the usual snapshot filters (`--tag`, `--host`, `--path`, or explicit snapshot IDs on the command line). [#​3326](restic/restic#3326) [#​5469](restic/restic#5469) [#​5644](restic/restic#5644) - Enhancement [#​3572](restic/restic#3572): Support restoring ownership by name on UNIX systems The `restore` command used to restore file ownership on UNIX systems by UID and GID. It now supports restoring ownership by user and group name with `--ownership-by-name`, so that snapshots can be restored on systems where numeric IDs do not match those on the backup host. Note: POSIX ACLs are still restored by numeric value; this change does not add ACL-by-name support. [#​3572](restic/restic#3572) [#​5449](restic/restic#5449) - Enhancement [#​3738](restic/restic#3738): Optional GitHub token for `self-update` API requests The `self-update` command used only unauthenticated GitHub API requests when checking for releases. Shared IP addresses could hit the GitHub rate limit, resulting in a 403 Forbidden error and preventing updates. Unauthenticated requests remain the default, but authenticated requests are now possible. Set the environment variable `GITHUB_ACCESS_TOKEN` to a GitHub [personal access token](https://github.com/settings/tokens) to avoid rate-limit failures. [#​3738](restic/restic#3738) [#​5568](restic/restic#5568) - Enhancement [#​4278](restic/restic#4278): Support include filters in the `rewrite` command The `rewrite` command now accepts the same include filter options as the `restore` command (`--include`, `--include-file`, `--iinclude`, `--iinclude-file`, and short `-i`). Include and exclude filter options are mutually exclusive. [#​4278](restic/restic#4278) [#​5191](restic/restic#5191) - Enhancement [#​4728](restic/restic#4728): Support zstd compression levels `fastest` and `better` Restic now supports the zstd compression modes `fastest` and `better`. Set the environment variable `RESTIC_COMPRESSION` to `fastest` or `better`, or pass the same values with the `--compression` option. [#​4728](restic/restic#4728) [#​5321](restic/restic#5321) - Enhancement [#​4868](restic/restic#4868): Include repository ID in the filesystem name used by `mount` The filesystem exposed by the `mount` command now includes the repository ID in its name. The ID is printed when opening a repository or can be read with `restic cat config`. ``` $ df ./test-mount/ Filesystem 1K-blocks Used Available Use% Mounted on restic:d3b07384d1 0 0 0 - /mnt/my-restic-repo ``` [#​4868](restic/restic#4868) [#​5243](restic/restic#5243) - Enhancement [#​5175](restic/restic#5175): Add status counters to `copy` in verbose text output The `copy` command now prints additional counters in text mode when `--verbose` is set: blobs to copy, their on-disk size, and the number of pack files read from the source repository. [#​5175](restic/restic#5175) [#​5319](restic/restic#5319) - Enhancement [#​5352](restic/restic#5352): Support excluding cloud-backed files on macOS Previously, restic treated cloud-backed files (such as files stored on iCloud) like normal local files, forcing a full download of placeholders and other "meant to be cloud only" content during backups. The `backup` command now supports `--exclude-cloud-files` (previously only available on Windows) to skip those files on supported macOS versions. From Sonoma (macOS 14.0) onward the option can prevent unwanted downloads. Older macOS versions will still download the files during a backup run. [#​5352](restic/restic#5352) [#​5370](restic/restic#5370) - Enhancement [#​5383](restic/restic#5383): Reduce progress bar refresh rates to decrease energy usage Progress bars were previously updated at 60 frames per second, which could cause high CPU or GPU usage in some terminal emulators. The refresh rate is now 10 FPS to conserve energy. For some terminal emulators, the lower rate is also necessary to allow selecting text in the terminal. [#​5383](restic/restic#5383) [#​5551](restic/restic#5551) [#​5626](restic/restic#5626) - Enhancement [#​5424](restic/restic#5424): Enable Windows filesystem privileges before file access Restic used to enable some Windows filesystem privileges only while reading or writing security descriptors. Extended attributes could therefore be read before enabling the backup privilege, possibly resulting in missed data or errors. Restic now enables the relevant filesystem privileges before any file access. [#​5424](restic/restic#5424) - Enhancement [#​5440](restic/restic#5440): Make `--host` override environment variable `RESTIC_HOST` Previously, when the environment variable `RESTIC_HOST` was set, snapshot listings and other operations were always filtered to that host. Passing `--host` as an empty string (`--host=""` or `--host=`) now overrides `RESTIC_HOST` and shows snapshots from all hosts. The same override applies to other commands that support snapshot filters, including `snapshots`, `forget`, `find`, `stats`, `copy`, `tag`, `repair snapshots`, `rewrite`, `mount`, `restore`, `dump`, and `ls`. [#​5440](restic/restic#5440) [#​5541](restic/restic#5541) - Enhancement [#​5448](restic/restic#5448): Support configuring `nice` and `ionice` in the Docker image The container entrypoint now reads optional scheduling hints from the environment: - The environment variable `NICE` sets the process nice value (see `man nice`). - The environment variable `IONICE_CLASS` selects the I/O scheduling class (see `man ionice`). Real-time classes need the `SYS_NICE` capability added to the container. - The environment variable `IONICE_PRIORITY` sets the priority within `IONICE_CLASS` and has no effect unless `IONICE_CLASS` is set; it defaults to `4` (neutral priority). For further details, please see: <https://restic.readthedocs.io/en/stable/020_installation.html#docker-container> [#​5448](restic/restic#5448) - Enhancement [#​5453](restic/restic#5453): Copy multiple snapshots in batches The `copy` command used to copy snapshots one at a time, even when doing so produced pack files smaller than the target pack size. This led to many small files when copying small incremental snapshots. The `copy` command now copies multiple snapshots together so that small pack files are avoided where possible. [#​5453](restic/restic#5453) [#​5472](restic/restic#5472) - Enhancement [#​5523](restic/restic#5523): Add Open Container Initiative labels to release Docker image The release Docker image now includes OCI-style image annotation labels, which helps external tooling identify the image. [#​5523](restic/restic#5523) - Enhancement [#​5531](restic/restic#5531): Reduce Azure storage costs by optimizing uploads Restic previously used Azure PutBlock and PutBlockList for every upload, which cost two storage transactions per file and roughly doubled transaction charges for repositories with many pack files. Files up to 256 MiB now use PutBlob, requiring only a single transaction per file and cutting typical transaction costs by about half. Larger blobs still use block uploads as required by Azure. [#​5531](restic/restic#5531) [#​5544](restic/restic#5544) - Enhancement [#​5562](restic/restic#5562): Rewrite only changed status lines each frame The status bar rewrote every line on each frame whenever any content changed, which made selecting text impossible in some terminal emulators even when most lines were unchanged. Now only lines that actually change are rewritten on each update. [#​5562](restic/restic#5562) [#​5648](restic/restic#5648) - Enhancement [#​5588](restic/restic#5588): Show timezone context in `snapshots` output The `snapshots` command now prints which timezone is used for displayed timestamps. Snapshots may have been created in different timezones but are shown in the local timezone, so a footer line (for example, timestamps shown in CET) clarifies the display context when comparing snapshots from several sources. [#​5588](restic/restic#5588) - Enhancement [#​5610](restic/restic#5610): Reduce `check`, `copy`, `diff` and `stats` memory usage The `check`, `copy`, `diff` and `stats` commands now use less memory when handling large snapshots. [#​5610](restic/restic#5610) - Enhancement [#​5689](restic/restic#5689): Show more detailed progress for `stats` The `stats` command used to show progress only while loading the index. During the scan it printed only `scanning...` with no further updates. It now reports how many snapshots, files, and blobs have been processed so far. [#​5689](restic/restic#5689) [#​5705](restic/restic#5705) - Enhancement [#​5713](restic/restic#5713): Significantly speed up index loading Loading the index for a large repository is now significantly faster. Also, the `mount` command now loads the index once at startup and then only loads new index files as they appear. It also loads snapshots before printing that the repository is being served. [#​5713](restic/restic#5713) [#​5720](restic/restic#5720) - Enhancement [#​5718](restic/restic#5718): Stricter and earlier validation of the `mount` point The `mount` command previously accepted invalid mount points, resulting in an error after loading the repository. The specified mount point must now refer to a directory that the current user can access and write to, and this check is performed before opening the repository. [#​5718](restic/restic#5718) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjI0OS41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=--> Co-authored-by: Renovate Bot <[email protected]> Reviewed-on: https://codeberg.org/blake-hamm/bhamm-lab/pulls/271
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR change? What problem does it solve?
Track backup targets explicitly specified by the user and prevent excluding them. This for example ensures that
restic backup --exclude-if-present .git /home/user/databacks up thedatafolder even if there is a.gitfolder in/home/user.Note that this does not suffice for commands like
restic backup --exclude data /home/user/dataas the exclude pattern will still match every single file withindata.The code is mostly AI written with massive micromanagement to prevent overcomplicated implementations.
Was the change previously discussed in an issue or on the forum?
Fixes #5767
Checklist
changelog/unreleased/that describes the changes for our users (see template).