Merge pull request #1334 from felix9/backup_tags

backup should use latest parent regardless of tags
This commit is contained in:
Alexander Neumann 2017-10-07 10:45:02 +02:00
commit 1a2d190bdb
2 changed files with 5 additions and 1 deletions

View file

@ -417,7 +417,7 @@ func runBackup(opts BackupOptions, gopts GlobalOptions, args []string) error {
// Find last snapshot to set it as parent, if not already set
if !opts.Force && parentSnapshotID == nil {
id, err := restic.FindLatestSnapshot(context.TODO(), repo, target, []restic.TagList{opts.Tags}, opts.Hostname)
id, err := restic.FindLatestSnapshot(context.TODO(), repo, target, []restic.TagList{}, opts.Hostname)
if err == nil {
parentSnapshotID = &id
} else if err != restic.ErrNoSnapshotFound {

View file

@ -656,6 +656,7 @@ func TestBackupTags(t *testing.T) {
rtest.Assert(t, newest != nil, "expected a new backup, got nil")
rtest.Assert(t, len(newest.Tags) == 0,
"expected no tags, got %v", newest.Tags)
parent := newest
opts.Tags = []string{"NL"}
testRunBackup(t, []string{env.testdata}, opts, env.gopts)
@ -664,6 +665,9 @@ func TestBackupTags(t *testing.T) {
rtest.Assert(t, newest != nil, "expected a new backup, got nil")
rtest.Assert(t, len(newest.Tags) == 1 && newest.Tags[0] == "NL",
"expected one NL tag, got %v", newest.Tags)
// Tagged backup should have untagged backup as parent.
rtest.Assert(t, parent.ID.Equal(*newest.Parent),
"expected parent to be %v, got %v", parent.ID, newest.Parent)
}
func testRunTag(t testing.TB, opts TagOptions, gopts GlobalOptions) {