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