Skip navigation.
 
mlRe: Changing file & directory names
FROM : John Stiles
DATE : Sat Jul 01 21:40:42 2006

Dean Snyder wrote:
> Sherm Pendley wrote at 2:15 PM on Saturday, July 1, 2006:
>


>>> "If source is a file, the method creates a file at destination that
>>> holds the exact contents of the original file and then deletes the
>>> original file. If source is a directory, movePath:toPath:handler:
>>> creates a new directory at destination and recursively populates it 
>>> with
>>> duplicates of the files and directories contained in source."
>>>
>>> This is really heavyweight
>>>     

>> No, it's not heavy at all - you've just misunderstood what it does. 
>> When the above says "creates a file at destination", it's talking 
>> about creating a new directory entry that points to the same data, 
>> not about copying the data.
>>   

>
> Again, with emphasis added, the documentation says, "creates a file at
> destination that holds the exact contents of the original file and THEN
> deletes the original file". That can only mean that at some point there
> are 2 copies of the file. (Notice there is no talk of just manipulating
> file references within the file manager's data structures.) That may
> not, in fact, be what it does, but that IS what the documentation says
> it does. And, of course, the issue is compounded when dealing with
> directories (where the documentation actually talks about "duplicates of
> the files and directories").
>


Even if it really does just make hard links, even that has undesirable
consequences. For example, if a file has /ever/ been hard-linked, it can
no longer be used with FSExchangeObjects. The API returns an error instead.
http://developer.apple.com/documentation/Carbon/Reference/File_Manager/Reference/reference.html#//apple_ref/c/func/FSExchangeObjects

The OP may want to look at using the Carbon File Manager, or BSD APIs,
to do the rename. It's a bit more typing than Cocoa, but the APIs in
this case offer more options.

Related mailsAuthorDate
mlChanging file & directory names Dean Snyder Jul 1, 19:23
mlRe: Changing file & directory names Greg Titus Jul 1, 19:26
mlRe: Changing file & directory names Dean Snyder Jul 1, 19:41
mlRe: Changing file & directory names Sherm Pendley Jul 1, 20:15
mlRe: Changing file & directory names John Stiles Jul 1, 21:18
mlRe: Changing file & directory names Dean Snyder Jul 1, 21:28
mlRe: Changing file & directory names John Stiles Jul 1, 21:40
mlRe: Changing file & directory names Sherm Pendley Jul 1, 21:41
mlRe: Changing file & directory names Sherm Pendley Jul 1, 21:47
mlRe: Changing file & directory names Dean Snyder Jul 1, 21:57
mlRe: Changing file & directory names John Stiles Jul 1, 22:13
mlRe: Changing file & directory names Sherm Pendley Jul 1, 23:10
mlRe: Changing file & directory names Sherm Pendley Jul 1, 23:19
mlRe: Changing file & directory names Rosyna Jul 2, 02:26
mlRe: Changing file & directory names Derrick Bass Jul 2, 02:28
mlRe: Changing file & directory names Sherm Pendley Jul 2, 03:21
mlRe: Changing file & directory names Dean Snyder Jul 2, 03:39
mlRe: Changing file & directory names Chris Suter Jul 2, 03:47
mlRe: Changing file & directory names Dean Snyder Jul 2, 03:54
mlRe: Changing file & directory names Adam R. Maxwell Jul 2, 09:16
mlRe: Changing file & directory names Matt Neuburg Jul 2, 09:27
mlRe: Changing file & directory names Frode Jul 2, 11:17
mlRe: Changing file & directory names John Stiles Jul 2, 18:20
mlRe: Changing file & directory names Sean McBride Jul 4, 18:07
mlRe: Changing file & directory names Adam R. Maxwell Jul 4, 18:41
mlRe: Changing file & directory names Andy Lee Jul 5, 03:11