{"action":"created","issue":{"url":"https://api.github.com/repos/danmar/cppcheck/issues/1005","repository_url":"https://api.github.com/repos/danmar/cppcheck","labels_url":"https://api.github.com/repos/danmar/cppcheck/issues/1005/labels{/name}","comments_url":"https://api.github.com/repos/danmar/cppcheck/issues/1005/comments","events_url":"https://api.github.com/repos/danmar/cppcheck/issues/1005/events","html_url":"https://github.com/danmar/cppcheck/pull/1005","id":276323828,"number":1005,"title":"use checksum for filecache name instead of lookup file","user":{"login":"rsBNT","id":29731541,"avatar_url":"https://avatars1.githubusercontent.com/u/29731541?v=4","gravatar_id":"","url":"https://api.github.com/users/rsBNT","html_url":"https://github.com/rsBNT","followers_url":"https://api.github.com/users/rsBNT/followers","following_url":"https://api.github.com/users/rsBNT/following{/other_user}","gists_url":"https://api.github.com/users/rsBNT/gists{/gist_id}","starred_url":"https://api.github.com/users/rsBNT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsBNT/subscriptions","organizations_url":"https://api.github.com/users/rsBNT/orgs","repos_url":"https://api.github.com/users/rsBNT/repos","events_url":"https://api.github.com/users/rsBNT/events{/privacy}","received_events_url":"https://api.github.com/users/rsBNT/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2017-11-23T10:22:43Z","updated_at":"2017-11-25T09:42:38Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/danmar/cppcheck/pulls/1005","html_url":"https://github.com/danmar/cppcheck/pull/1005","diff_url":"https://github.com/danmar/cppcheck/pull/1005.diff","patch_url":"https://github.com/danmar/cppcheck/pull/1005.patch"},"body":"The old situation was that all found/accepted filenames were written to a lookup `files.txt` which mapped between absolute filename, configuration (if available from e.g. vcxproj) and the cached buildresult filename.\r\nThis file was always generated upfront (before analysis/tokenizing) and if filenames occured multiple times, a counter was incremented (e.g. `main.a0`, `main.a1`, etc.).\r\n\r\nSo if a solution was scanned via `--project` that contained a subset of projects/files of a previously scanned solution, the order of the found/accepted filenames might have been different. In this situation, the hashes did not match the files anymore, and files were rescanned. The same could have been triggered by filesystem sorting changes, file renaming, etc.\r\n\r\nThe suggested changes make the lookup unnecessary (many file operations to `files.txt` are gone) by taking the checksum as filename. This should be unique enough and is computed at this point anyways.\r\n\r\nThis way, the order of filenames (and actually the filenames themselves) is not important anymore but only the file contents which is the true intention after this feature (used for differential/incremental scans).\r\n\r\nThere is one problem though: build-dir clutter. When relying on the file contents instead of filenames, it is hard to track which temporary build file is stale/outdated. Because when file contents change, the old hashfile will reside in the build dir. I suggest this is ok if mentioned and users should clean the build dir regularly (e.g. when forcing a complete rescan) or on filetime base (hashfile hasnt changed in ages). After all, the same origin fileversion might be rechecked at some point and then the scan is greatly accelerated (think `git bisect` and you check each version with `cppcheck`)."},"comment":{"url":"https://api.github.com/repos/danmar/cppcheck/issues/comments/346930057","html_url":"https://github.com/danmar/cppcheck/pull/1005#issuecomment-346930057","issue_url":"https://api.github.com/repos/danmar/cppcheck/issues/1005","id":346930057,"user":{"login":"rsBNT","id":29731541,"avatar_url":"https://avatars1.githubusercontent.com/u/29731541?v=4","gravatar_id":"","url":"https://api.github.com/users/rsBNT","html_url":"https://github.com/rsBNT","followers_url":"https://api.github.com/users/rsBNT/followers","following_url":"https://api.github.com/users/rsBNT/following{/other_user}","gists_url":"https://api.github.com/users/rsBNT/gists{/gist_id}","starred_url":"https://api.github.com/users/rsBNT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rsBNT/subscriptions","organizations_url":"https://api.github.com/users/rsBNT/orgs","repos_url":"https://api.github.com/users/rsBNT/repos","events_url":"https://api.github.com/users/rsBNT/events{/privacy}","received_events_url":"https://api.github.com/users/rsBNT/received_events","type":"User","site_admin":false},"created_at":"2017-11-25T09:42:38Z","updated_at":"2017-11-25T09:42:38Z","author_association":"CONTRIBUTOR","body":"@matthiaskrgr now what? can you help me identify the problem in the logfile? i dont see the error :/"}}
{"actor":{"display_login":"rsBNT"}}