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() defer f.Close()
if err := archive.Tar(f, srcDir); err != nil { 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) 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 // Walk again to add files
err := filepath.Walk(root, func(path string, info os.FileInfo, walkErr error) error { err := filepath.Walk(root, func(path string, info os.FileInfo, walkErr error) error {
if walkErr != nil { 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 { if err != nil {
return err return fmt.Errorf("failed to make relative path: %w", err)
} }
// Create tar header // Create tar header
header, err := tar.FileInfoHeader(info, path) header, err := tar.FileInfoHeader(info, path)
if err != nil { 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 { if err := tw.WriteHeader(header); err != nil {
return err return fmt.Errorf("failed to write header: %w", err)
} }
if !info.Mode().IsRegular() { if !info.Mode().IsRegular() {
@@ -108,11 +108,11 @@ func Tar(file io.Writer, root string) error {
file, err := os.Open(path) file, err := os.Open(path)
if err != nil { if err != nil {
return err return fmt.Errorf("failed to open file: %w", err)
} }
defer file.Close() defer file.Close()
if _, err := io.Copy(tw, file); err != nil { if _, err := io.Copy(tw, file); err != nil {
return err return fmt.Errorf("failed to copy file: %w", err)
} }
return nil return nil
}) })