From: Alex Riesen Date: Wed, 23 Jul 2008 19:16:47 GMT Subject: Re: [PATCH] Build configuration to skip ctime for modification test Message-ID: <20080723191647.GF5283@blimp.local> In-Reply-To: Johannes Schindelin, Wed, Jul 23, 2008 18:59:02 +0200: > On Wed, 23 Jul 2008, Alex Riesen wrote: > > > Because exactly the file mode (the executable bit) is the reason for > > checking ctime. > > But ctime is broken on Windows. Because ctime is supposed to change > whenever the _inode_ changes. It is not that it is broken. We just don't need it, because the st_mode is not used, and the rest of inode information is not used anyway. > You have to admit that saying "I ignore the ctime because the executable > bit is broken" must leave the reader puzzled. This is conclusion. I said "file mode" and "file attributes", which is how reason for ctime update is defined in SUSv3. man 2 stat says: The field st_ctime is changed by writing or by setting inode information (i.e., owner, group, link count, mode, etc.). Not just "inode" but "inode information". Only mode is used, and even that is ignored on Windows.