fix rel path error
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user