dump: Use slashes as path separators in tar on windows

This conversion is necessary as paths returned by filepath.Rel use the
operating-system native path separator
This commit is contained in:
Michael Eischer 2020-08-30 18:15:51 +02:00
parent bcf44a9c3f
commit dcf9ded977
2 changed files with 4 additions and 3 deletions

View file

@ -72,7 +72,7 @@ func tarNode(ctx context.Context, tw *tar.Writer, node *restic.Node, repo restic
} }
header := &tar.Header{ header := &tar.Header{
Name: relPath, Name: filepath.ToSlash(relPath),
Size: int64(node.Size), Size: int64(node.Size),
Mode: int64(node.Mode), Mode: int64(node.Mode),
Uid: int(node.UID), Uid: int(node.UID),

View file

@ -147,8 +147,9 @@ func checkTar(t *testing.T, testDir string, srcTar *bytes.Buffer) error {
continue continue
} }
if filepath.Base(hdr.Name) != match.Name() { filebase := filepath.ToSlash(match.Name())
return fmt.Errorf("foldernames don't match got %v want %v", filepath.Base(hdr.Name), match.Name()) if filepath.Base(hdr.Name) != filebase {
return fmt.Errorf("foldernames don't match got %v want %v", filepath.Base(hdr.Name), filebase)
} }
} else { } else {