<blockquote>
<p>I don't see it adds much, you have to absolutely know that the newly generated file is a different length.</p>
</blockquote>

<p>With the current mtime checking you have to absolutly know that the newly generated file has a greater modification time.<br>
A file must have been changed if the file size changes!<br>
Checking both (mtime and file size) is a better file change check for geany than just checking mtime.</p>

<blockquote>
<p>And generating files and touching their mod time</p>
</blockquote>

<p>To get deterministic release tar balls, it is necessary for me to touch the files with an explicit time stamp before "tarring" them.</p>

<blockquote>
<p>is going to break much more than just Geany's detection.</p>
</blockquote>

<p>That's why I added the file size check - to get a better geany.<br>
The fstab() already includes the file size - so there should be nearly no performance costs.</p>

<blockquote>
<p>What could be sensible though is to check mtime as not equals rather than less than,<br>
the file is different if its moved back in time as well as forward in time.</p>
</blockquote>

<p>I agree - but I didn't wanted change the existing mtime check behavior.</p>

<p>So the technical facts are:<br>
  1.) If the file size changes on disk, the file has changed!<br>
  2.) If the file size changes and the modification time is not updated geany does NOT notify the file change.<br>
  3.) The behind laying fstat() function has the file size included - there will be nearly no performance impacts.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/geany/geany/pull/1175#issuecomment-239604115">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ6hl5E3enksOT_-lePuatZiOB76Hks5qfVqBgaJpZM4JiRmx">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/ABDrJwFsal5Vf0_ln2F8VyoWzij5ByuSks5qfVqBgaJpZM4JiRmx.gif" width="1" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/geany/geany/pull/1175#issuecomment-239604115"></link>
  <meta itemprop="name" content="View Pull Request"></meta>
</div>
<meta itemprop="description" content="View this Pull Request on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/geany/geany","title":"geany/geany","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@StefanOberhumer in #1175: \u003e I don't see it adds much, you have to absolutely know that the newly generated file is a different length.\r\n\r\nWith the current mtime checking you have to absolutly know that the newly generated file has a greater modification time.\r\nA file must have been changed if the file size changes!\r\nChecking both (mtime and file size) is a better file change check for geany than just checking mtime.\r\n\r\n\u003e And generating files and touching their mod time\r\n\r\nTo get deterministic release tar balls, it is necessary for me to touch the files with an explicit time stamp before \"tarring\" them.\r\n\r\n\u003eis going to break much more than just Geany's detection.\r\n\r\nThat's why I added the file size check - to get a better geany.\r\nThe fstab() already includes the file size - so there should be nearly no performance costs.\r\n\r\n\r\n\u003e What could be sensible though is to check mtime as not equals rather than less than,\r\n\u003e the file is different if its moved back in time as well as forward in time.\r\n\r\nI agree - but I didn't wanted change the existing mtime check behavior.\r\n\r\n\r\nSo the technical facts are:\r\n  1.) If the file size changes on disk, the file has changed!\r\n  2.) If the file size changes and the modification time is not updated geany does NOT notify the file change.\r\n  3.) The behind laying fstat() function has the file size included - there will be nearly no performance impacts.\r\n"}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1175#issuecomment-239604115"}}}</script>