<blockquote>
<p>The code already checks if the hash table contains the element before inserting it, so it should be OK no matter which version is used.</p>
</blockquote>
<p>Except that it will always fail to find it due to the bug, so it gets added anyway.</p>
<blockquote>
<p>If really the inode thing was useful, it should be used as the key directly rather than a bad convoluted hash that's guaranteed to have a worse stat() call count anyway.</p>
</blockquote>
<p>Well, as I said above, everything gets added because a hash collision won't stop different paths being added, and due to the bug all paths are seen as different at the moment anyway, so duplicates so far havn't caused any "trouble" (the word from the original de-dup comment).  <a class="user-mention" data-hovercard-type="user" data-hovercard-url="/hovercards?user_id=793526" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/b4n">@b4n</a> do you know what "trouble" they might cause?</p>
<p>So clearly the inode stuff is not useful, and we should simply use <code>g_str_hash()</code> or totally forget de-duping since so far the fact that its failing hasn't caused problems (except perhaps some tags files are silently bigger than they need to be, but nobody has noticed and complained).</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/1989#issuecomment-436798263">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/ABDrJ-gb4LBpSRkHG2f7h6BHyGjL8-90ks5us1v_gaJpZM4YQS08">mute the thread</a>.<img src="https://github.com/notifications/beacon/ABDrJx520eEIShroomIs8BZDksGlGOlOks5us1v_gaJpZM4YQS08.gif" height="1" width="1" alt="" /></p>
<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://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/geany/geany"}},"updates":{"snippets":[{"icon":"PERSON","message":"@elextr in #1989: \u003e The code already checks if the hash table contains the element before inserting it, so it should be OK no matter which version is used.\r\n\r\nExcept that it will always fail to find it due to the bug, so it gets added anyway.\r\n\r\n\u003e If really the inode thing was useful, it should be used as the key directly rather than a bad convoluted hash that's guaranteed to have a worse stat() call count anyway.\r\n\r\nWell, as I said above, everything gets added because a hash collision won't stop different paths being added, and due to the bug all paths are seen as different at the moment anyway, so duplicates so far havn't caused any \"trouble\" (the word from the original de-dup comment).  @b4n do you know what \"trouble\" they might cause? \r\n\r\nSo clearly the inode stuff is not useful, and we should simply use `g_str_hash()` or totally forget de-duping since so far the fact that its failing hasn't caused problems (except perhaps some tags files are silently bigger than they need to be, but nobody has noticed and complained)."}],"action":{"name":"View Pull Request","url":"https://github.com/geany/geany/pull/1989#issuecomment-436798263"}}}</script>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/geany/geany/pull/1989#issuecomment-436798263",
"url": "https://github.com/geany/geany/pull/1989#issuecomment-436798263",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Re: [geany/geany] Make geany -g tags output reproducible (#1989)",
"sections": [
{
"text": "",
"activityTitle": "**elextr**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@elextr",
"facts": [

]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"geany/geany\",\n\"issueId\": 1989,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"name": "Close pull request",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"PullRequestClose\",\n\"repositoryFullName\": \"geany/geany\",\n\"pullRequestId\": 1989\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/geany/geany/pull/1989#issuecomment-436798263"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 406924604\n}"
}
],
"themeColor": "26292E"
}
]</script>