mirror of
https://github.com/octoleo/restic.git
synced 2025-01-03 07:12:28 +00:00
fix#4033 cmd: copy no longer lists skipped existing snapshots by default
This commit is contained in:
parent
57d8eedb88
commit
06ee0339aa
20
changelog/unreleased/issue-4033
Normal file
20
changelog/unreleased/issue-4033
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# The first line must start with Bugfix:, Enhancement: or Change:,
|
||||||
|
# including the colon. Use present tense. Remove lines starting with '#'
|
||||||
|
# from this template.
|
||||||
|
Change: copy command no longer prints skipped existing snapshots by default
|
||||||
|
|
||||||
|
# Describe the problem in the past tense, the new behavior in the present
|
||||||
|
# tense. Mention the affected commands, backends, operating systems, etc.
|
||||||
|
# Focus on user-facing behavior, not the implementation.
|
||||||
|
|
||||||
|
Restic copy always printed each skipped snapshot that existed on the remote and
|
||||||
|
would bury the snapshots that were copied amongst the output. The new default
|
||||||
|
only outputs new copies. Increase the verbose level to see skipped existing
|
||||||
|
snapshots.
|
||||||
|
|
||||||
|
# The last section is a list of issue, PR and forum URLs.
|
||||||
|
# The first issue ID determines the filename for the changelog entry:
|
||||||
|
# changelog/unreleased/issue-1234. If there are no relevant issue links,
|
||||||
|
# use the PR ID and call the file pull-55555.
|
||||||
|
|
||||||
|
https://github.com/restic/restic/issues/4033
|
@ -120,7 +120,6 @@ func runCopy(ctx context.Context, opts CopyOptions, gopts GlobalOptions, args []
|
|||||||
visitedTrees := restic.NewIDSet()
|
visitedTrees := restic.NewIDSet()
|
||||||
|
|
||||||
for sn := range FindFilteredSnapshots(ctx, srcSnapshotLister, srcRepo, opts.Hosts, opts.Tags, opts.Paths, args) {
|
for sn := range FindFilteredSnapshots(ctx, srcSnapshotLister, srcRepo, opts.Hosts, opts.Tags, opts.Paths, args) {
|
||||||
Verbosef("\nsnapshot %s of %v at %s)\n", sn.ID().Str(), sn.Paths, sn.Time)
|
|
||||||
|
|
||||||
// check whether the destination has a snapshot with the same persistent ID which has similar snapshot fields
|
// check whether the destination has a snapshot with the same persistent ID which has similar snapshot fields
|
||||||
srcOriginal := *sn.ID()
|
srcOriginal := *sn.ID()
|
||||||
@ -131,7 +130,8 @@ func runCopy(ctx context.Context, opts CopyOptions, gopts GlobalOptions, args []
|
|||||||
isCopy := false
|
isCopy := false
|
||||||
for _, originalSn := range originalSns {
|
for _, originalSn := range originalSns {
|
||||||
if similarSnapshots(originalSn, sn) {
|
if similarSnapshots(originalSn, sn) {
|
||||||
Verbosef("skipping source snapshot %s, was already copied to snapshot %s\n", sn.ID().Str(), originalSn.ID().Str())
|
Verboseff("\nsnapshot %s of %v at %s)\n", sn.ID().Str(), sn.Paths, sn.Time)
|
||||||
|
Verboseff("skipping source snapshot %s, was already copied to snapshot %s\n", sn.ID().Str(), originalSn.ID().Str())
|
||||||
isCopy = true
|
isCopy = true
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -140,6 +140,7 @@ func runCopy(ctx context.Context, opts CopyOptions, gopts GlobalOptions, args []
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Verbosef("\nsnapshot %s of %v at %s)\n", sn.ID().Str(), sn.Paths, sn.Time)
|
||||||
Verbosef(" copy started, this may take a while...\n")
|
Verbosef(" copy started, this may take a while...\n")
|
||||||
if err := copyTree(ctx, srcRepo, dstRepo, visitedTrees, *sn.Tree, gopts.Quiet); err != nil {
|
if err := copyTree(ctx, srcRepo, dstRepo, visitedTrees, *sn.Tree, gopts.Quiet); err != nil {
|
||||||
return err
|
return err
|
||||||
|
Loading…
Reference in New Issue
Block a user