if oldpath==newpath, then skip mv and just rm oldpath

This commit is contained in:
Bel LaPointe
2026-01-31 18:00:12 -07:00
parent 060a8dfb3b
commit 7efe298922

View File

@@ -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)