2
2
mirror of https://github.com/octoleo/restic.git synced 2024-06-03 09:30:50 +00:00

restic: Don't list snapshots if FindSnapshot gets full id

This commit is contained in:
Michael Eischer 2022-10-03 14:51:00 +02:00
parent d8c00b9726
commit 246d3032ae

View File

@ -73,15 +73,19 @@ func findLatestSnapshot(ctx context.Context, be Lister, loader LoaderUnpacked, h
// FindSnapshot takes a string and tries to find a snapshot whose ID matches // FindSnapshot takes a string and tries to find a snapshot whose ID matches
// the string as closely as possible. // the string as closely as possible.
func FindSnapshot(ctx context.Context, be Lister, loader LoaderUnpacked, s string) (*Snapshot, error) { func FindSnapshot(ctx context.Context, be Lister, loader LoaderUnpacked, s string) (*Snapshot, error) {
// find snapshot id with prefix // no need to list snapshots if `s` is already a full id
name, err := Find(ctx, be, SnapshotFile, s) id, err := ParseID(s)
if err != nil { if err != nil {
return nil, err // find snapshot id with prefix
} name, err := Find(ctx, be, SnapshotFile, s)
if err != nil {
return nil, err
}
id, err := ParseID(name) id, err = ParseID(name)
if err != nil { if err != nil {
return nil, err return nil, err
}
} }
return LoadSnapshot(ctx, loader, id) return LoadSnapshot(ctx, loader, id)
} }