[TxMt] Atomic Saving / Saving Question

Chris Thomas chris at m-audio.com
Mon Feb 7 04:09:28 UTC 2005


On Feb 6, 2005, at 2:42 PM, Ryan Schmidt wrote:

> On 01.02.2005, at 11:57, Sune Foldager wrote:
>> On 1. feb 2005, at 5:26, Paul Kline wrote:
>>> What is atomic saving?
>> Atomic saving makes sure that the old version of the file on disk is  
>> replaced with the new one in on, atomic, operation. This is sometimes  
>> needed when the files you are writing might at the same time be read  
>> by other running programs. Technically it's writing the file with  
>> another name, then renaming the new file into the old file  
>> (destroying the old file in the process).
>> The disadvantage of atomic saves (for some), is that the file gets a  
>> new inode-number each time which will break hard-links and might  
>> upset aliases if they are not pointing correctly.
> Apple has been promoting this practice for ten years or more, and  
> aliases have always worked with it in the past. As I understand it,  
> part of the reason for Apple providing a function to do this is  
> specifically so that aliases continue to function. The documentation  
> [1] says that the "file ID" is preserved, though I don't know if  
> that's the same thing as an "inode number."

Yup, the "atomic save" checkbox could go away, or at least default to  
"on."

> [1]  
> http://developer.apple.com/documentation/Carbon/Reference/ 
> File_Manager/file_manager/function_group_21.html

man exchangedata provides better background information. exchangedata  
is the core VFS implementation of FSExchangeObject; it may be easier to  
call from Cocoa.

Chris




More information about the textmate mailing list