diff --git a/changelog/unreleased/issue-3871 b/changelog/unreleased/issue-3871 new file mode 100644 index 000000000..e3bf5fc01 --- /dev/null +++ b/changelog/unreleased/issue-3871 @@ -0,0 +1,22 @@ +Enhancement: Support `:` syntax to select subfolders + +Commands like `diff` or `restore` always worked with the full snapshot. This +did not allow comparing only a specific subfolder or only restoring that folder +(`restore --include subfolder` limits the restored files, but still creates the +directories included in `subfolder`). + +The commands `diff`, `dump`, `ls`, `restore` now support the +`:` syntax, where `snapshot` is the ID of a snapshot or +`latest` and `subfolder` is a path within the snapshot. The commands will then +only work with the specified path of the snapshot. The `subfolder` must be a +path to a folder as returned by `ls`. + +`restic restore -t target latest:/some/path` +`restic diff 12345678:/some/path 90abcef:/some/path` + +For debugging purposes, the `cat` command now supports `cat tree +:` to return the directory metadata for the given +subfolder. + +https://github.com/restic/restic/issues/3871 +https://github.com/restic/restic/pull/4334