fix rel path error

This commit is contained in:
2025-07-31 21:23:44 +02:00
parent 95857356ab
commit f2fee0990b
2 changed files with 9 additions and 9 deletions

View File

@@ -124,7 +124,7 @@ func archiveIfChanged(gameID, srcDir, destTarGz, stateFile string) error {
defer f.Close()
if err := archive.Tar(f, srcDir); err != nil {
return fmt.Errorf("failed archiving files")
return fmt.Errorf("failed archiving files: %w", err)
}
now := time.Now().UTC().Format(time.RFC3339)

View File

@@ -83,23 +83,23 @@ func Tar(file io.Writer, root string) error {
// Walk again to add files
err := filepath.Walk(root, func(path string, info os.FileInfo, walkErr error) error {
if walkErr != nil {
return walkErr
return fmt.Errorf("failed to walk through the directory: %w", walkErr)
}
path, err := filepath.Rel(root, path)
relpath, err := filepath.Rel(root, path)
if err != nil {
return err
return fmt.Errorf("failed to make relative path: %w", err)
}
// Create tar header
header, err := tar.FileInfoHeader(info, path)
if err != nil {
return err
return fmt.Errorf("failed to make file info header: %w", err)
}
header.Name = path
header.Name = relpath
if err := tw.WriteHeader(header); err != nil {
return err
return fmt.Errorf("failed to write header: %w", err)
}
if !info.Mode().IsRegular() {
@@ -108,11 +108,11 @@ func Tar(file io.Writer, root string) error {
file, err := os.Open(path)
if err != nil {
return err
return fmt.Errorf("failed to open file: %w", err)
}
defer file.Close()
if _, err := io.Copy(tw, file); err != nil {
return err
return fmt.Errorf("failed to copy file: %w", err)
}
return nil
})