FileOperation.st
changeset 7334 e0bd092badd1
parent 7084 0d178f33c920
child 7606 3c84b7692f2c
--- a/FileOperation.st	Thu Sep 21 17:39:10 2006 +0200
+++ b/FileOperation.st	Thu Sep 21 18:31:58 2006 +0200
@@ -1241,7 +1241,7 @@
 renameFile:oldFile to:newName
     "rename a file (or directory)"
 
-    |newFile msg resources|
+    |newFile msg resources sameFile|
 
     (oldFile isNil or:[newName isNil]) ifTrue:[
         result := false.
@@ -1263,6 +1263,11 @@
     oldFile pathName = newFile pathName ifTrue:[
         ^ self.
     ].
+    Filename isCaseSensitive ifFalse:[
+        sameFile := (oldFile pathName sameAs: newFile pathName)
+    ] ifTrue:[
+        sameFile := false
+    ].
 
     resources := Dialog classResources.
 
@@ -1276,21 +1281,25 @@
         result := false.
         ^ self.
     ] do:[
-        newFile exists ifTrue:[
-            (newFile sameContentsAs:oldFile) ifTrue:[
-                msg := '%1 exists [with same contents] - rename (i.e. overwrite) anyway ?'
-            ] ifFalse:[
-                msg := '%1 exists - rename (i.e. overwrite) anyway ?'
+        sameFile ifFalse:[
+            newFile exists ifTrue:[
+                (newFile sameContentsAs:oldFile) ifTrue:[
+                    msg := '%1 exists [with same contents] - rename (i.e. overwrite) anyway ?'
+                ] ifFalse:[
+                    msg := '%1 exists - rename (i.e. overwrite) anyway ?'
+                ].
+                (Dialog confirmWithCancel:(resources string:msg with:newName allBold) default:false) ifFalse:[
+                    result := false.
+                    ^ self.
+                ]
             ].
-            (Dialog confirmWithCancel:(resources string:msg with:newName allBold) default:false) ifFalse:[
-                result := false.
-                ^ self.
-            ]
         ].
         oldFile renameTo:newFile.
         self renamedFiles add:newFile.
     ].
     result := true.
+
+    "Modified: / 21-09-2006 / 18:32:12 / cg"
 !
 
 renameFiles:aColOfFiles 
@@ -1336,5 +1345,5 @@
 !FileOperation class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.74 2006-09-05 10:56:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/FileOperation.st,v 1.75 2006-09-21 16:31:58 cg Exp $'
 ! !