From 5083abaa9bf8ed5e1e6b974d372a8b8cd72233c5 Mon Sep 17 00:00:00 2001 From: Tran Hau Date: Mon, 18 Jan 2021 16:08:18 +0700 Subject: [PATCH] feat: revert use absolute path to copy configs This reverts commit 48600a5f7a318ddecfcbc16f1e33246cdc48b32c. --- config.go | 76 ++++++++++++------------------------------------------- 1 file changed, 16 insertions(+), 60 deletions(-) diff --git a/config.go b/config.go index d2b0a5a..ddfea35 100644 --- a/config.go +++ b/config.go @@ -61,44 +61,22 @@ func LoadConfig(path string) (result Config, err error) { func (c *Config) Install() error { for _, app := range c.Apps { for _, file := range app.Files { - internal := filepath.Join(c.Path, file.Internal) - internal, err := filepath.Abs(internal) - if err != nil { - return fmt.Errorf("failed to abs path %s: %w", internal, err) + if err := os.RemoveAll(file.External); err != nil { + return fmt.Errorf("failed to remove %s: %w", file.External, err) } - external, err := filepath.Abs(file.External) - if err != nil { - return fmt.Errorf("failed to abs path %s: %w", external, err) - } - - if err := os.RemoveAll(external); err != nil { - return fmt.Errorf("failed to remove %s: %w", external, err) - } - - if err := copy.CopyFile(internal, external); err != nil { - return fmt.Errorf("failed to copy from %s to %s: %w", internal, external, err) + if err := copy.CopyFile(file.Internal, file.External); err != nil { + return fmt.Errorf("failed to copy from %s to %s: %w", file.Internal, file.External, err) } } for _, dir := range app.Dirs { - internal := filepath.Join(c.Path, dir.Internal) - internal, err := filepath.Abs(internal) - if err != nil { - return fmt.Errorf("failed to abs path %s: %w", internal, err) + if err := os.RemoveAll(dir.External); err != nil { + return fmt.Errorf("failed to remove %s: %w", dir.External, err) } - external, err := filepath.Abs(dir.External) - if err != nil { - return fmt.Errorf("failed to abs path %s: %w", external, err) - } - - if err := os.RemoveAll(external); err != nil { - return fmt.Errorf("failed to remove %s: %w", external, err) - } - - if err := copy.CopyDir(internal, external); err != nil { - return fmt.Errorf("failed to copy from %s to %s: %w", internal, external, err) + if err := copy.CopyDir(dir.Internal, dir.External); err != nil { + return fmt.Errorf("failed to copy from %s to %s: %w", dir.Internal, dir.External, err) } } } @@ -110,44 +88,22 @@ func (c *Config) Install() error { func (c *Config) Update() error { for _, app := range c.Apps { for _, file := range app.Files { - internal := filepath.Join(c.Path, file.Internal) - internal, err := filepath.Abs(internal) - if err != nil { - return fmt.Errorf("failed to abs path %s: %w", internal, err) + if err := os.RemoveAll(file.Internal); err != nil { + return fmt.Errorf("failed to remove %s: %w", file.Internal, err) } - external, err := filepath.Abs(file.External) - if err != nil { - return fmt.Errorf("failed to abs path %s: %w", external, err) - } - - if err := os.RemoveAll(internal); err != nil { - return fmt.Errorf("failed to remove %s: %w", internal, err) - } - - if err := copy.CopyFile(external, internal); err != nil { - return fmt.Errorf("failed to copy from %s to %s: %w", external, internal, err) + if err := copy.CopyFile(file.External, file.Internal); err != nil { + return fmt.Errorf("failed to copy from %s to %s: %w", file.External, file.Internal, err) } } for _, dir := range app.Dirs { - internal := filepath.Join(c.Path, dir.Internal) - internal, err := filepath.Abs(internal) - if err != nil { - return fmt.Errorf("failed to abs path %s: %w", internal, err) + if err := os.RemoveAll(dir.Internal); err != nil { + return fmt.Errorf("failed to remove %s: %w", dir.Internal, err) } - external, err := filepath.Abs(dir.External) - if err != nil { - return fmt.Errorf("failed to abs path %s: %w", external, err) - } - - if err := os.RemoveAll(internal); err != nil { - return fmt.Errorf("failed to remove %s: %w", internal, err) - } - - if err := copy.CopyDir(external, internal); err != nil { - return fmt.Errorf("failed to copy from %s to %s: %w", external, internal, err) + if err := copy.CopyDir(dir.External, dir.Internal); err != nil { + return fmt.Errorf("failed to copy from %s to %s: %w", dir.External, dir.Internal, err) } } }