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,6 +259,19 @@ func _merge(filepath string, mergeTargetFilePath string) error {
} }
func rename(oldpath, newpath string) error { func rename(oldpath, newpath string) error {
if same, err := func() (bool, error) {
oldb, err := os.ReadFile(oldpath)
if err != nil {
return false, 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) b, err := os.ReadFile(oldpath)
if err != nil { if err != nil {
return err return err
@@ -267,6 +280,7 @@ func rename(oldpath, newpath string) error {
if err := os.WriteFile(newpath, b, os.ModePerm); err != nil { if err := os.WriteFile(newpath, b, os.ModePerm); err != nil {
return err return err
} }
}
return os.Remove(oldpath) return os.Remove(oldpath)
} }