Merge pull request #3645 from greatroar/stdin-parent

Don't set a parent for --stdin backups
This commit is contained in:
MichaelEischer 2022-02-19 11:36:51 +01:00 committed by GitHub
commit ad4f4dbc7a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 9 deletions

View File

@ -0,0 +1,13 @@
Change: Backups from stdin no longer have a parent
Snapshots made with `restic backup --stdin` no longer have a parent snapshot.
Since parent snapshots are only used to skip files in the scanning phase
based on filename and timestamps, the parent snapshot of a `--stdin` snapshot
was meaningless to begin with. Not setting a parent allows `restic backup`
to skip some startup operations.
The `--parent` option is still available for `restic backup --stdin`,
but is now ignored.
https://github.com/restic/restic/issues/3641
https://github.com/restic/restic/pull/3645

View File

@ -579,16 +579,19 @@ func runBackup(opts BackupOptions, gopts GlobalOptions, term *termstatus.Termina
return err
}
parentSnapshotID, err := findParentSnapshot(gopts.ctx, repo, opts, targets, timeStamp)
if err != nil {
return err
}
var parentSnapshotID *restic.ID
if !opts.Stdin {
parentSnapshotID, err = findParentSnapshot(gopts.ctx, repo, opts, targets, timeStamp)
if err != nil {
return err
}
if !gopts.JSON {
if parentSnapshotID != nil {
progressPrinter.P("using parent snapshot %v\n", parentSnapshotID.Str())
} else {
progressPrinter.P("no parent snapshot found, will read all files\n")
if !gopts.JSON {
if parentSnapshotID != nil {
progressPrinter.P("using parent snapshot %v\n", parentSnapshotID.Str())
} else {
progressPrinter.P("no parent snapshot found, will read all files\n")
}
}
}