diff --git a/cmd/main.go b/cmd/main.go index 9bdf51c..f50f1e1 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -259,13 +259,27 @@ func _merge(filepath string, mergeTargetFilePath string) error { } func rename(oldpath, newpath string) error { - b, err := os.ReadFile(oldpath) - if err != nil { - return err - } + if same, err := func() (bool, error) { + oldb, err := os.ReadFile(oldpath) + if err != nil { + return false, err + } - if err := os.WriteFile(newpath, b, os.ModePerm); err != nil { - return err + newb, err := os.ReadFile(newpath) + if err != nil { + return false, err + } + + return bytes.Equal(oldb, newb), nil + }(); err != nil || !same { + b, err := os.ReadFile(oldpath) + if err != nil { + return err + } + + if err := os.WriteFile(newpath, b, os.ModePerm); err != nil { + return err + } } return os.Remove(oldpath)