{"action":"created","issue":{"url":"https://api.github.com/repos/frerich/clcache/issues/212","repository_url":"https://api.github.com/repos/frerich/clcache","labels_url":"https://api.github.com/repos/frerich/clcache/issues/212/labels{/name}","comments_url":"https://api.github.com/repos/frerich/clcache/issues/212/comments","events_url":"https://api.github.com/repos/frerich/clcache/issues/212/events","html_url":"https://github.com/frerich/clcache/pull/212","id":172531671,"number":212,"title":"Deal with alternating headers","user":{"login":"webmaster128","id":2603011,"avatar_url":"https://avatars.githubusercontent.com/u/2603011?v=3","gravatar_id":"","url":"https://api.github.com/users/webmaster128","html_url":"https://github.com/webmaster128","followers_url":"https://api.github.com/users/webmaster128/followers","following_url":"https://api.github.com/users/webmaster128/following{/other_user}","gists_url":"https://api.github.com/users/webmaster128/gists{/gist_id}","starred_url":"https://api.github.com/users/webmaster128/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/webmaster128/subscriptions","organizations_url":"https://api.github.com/users/webmaster128/orgs","repos_url":"https://api.github.com/users/webmaster128/repos","events_url":"https://api.github.com/users/webmaster128/events{/privacy}","received_events_url":"https://api.github.com/users/webmaster128/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/frerich/clcache/labels/wip","name":"wip","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2016-08-22T19:16:43Z","updated_at":"2016-08-26T16:13:42Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/frerich/clcache/pulls/212","html_url":"https://github.com/frerich/clcache/pull/212","diff_url":"https://github.com/frerich/clcache/pull/212.diff","patch_url":"https://github.com/frerich/clcache/pull/212.patch"},"body":"As part of #179, alternating headers do not hit anymore. This is because in case of a changed header, a new manifest is created instead of updating the old one.\r\n\r\nA (small) manifest looks like this\r\n\r\n```json\r\n{\r\n  \"includeFiles\": {\r\n    \"c:\\\\program files (x86)\\\\microsoft visual studio 14.0\\\\vc\\\\include\\\\concurrencysal.h\": \"cf7c28041ac710f2f4e8e03184ceb03a\",\r\n    \"c:\\\\program files (x86)\\\\microsoft visual studio 14.0\\\\vc\\\\include\\\\sal.h\": \"25992979c3dc319b2b22111261d8b4ba\",\r\n    \"c:\\\\program files (x86)\\\\microsoft visual studio 14.0\\\\vc\\\\include\\\\vadefs.h\": \"303c50a7bc924cd426baa20c7f16192c\",\r\n    \"c:\\\\program files (x86)\\\\microsoft visual studio 14.0\\\\vc\\\\include\\\\vcruntime.h\": \"70f6d71b7615fc31611118aaa55f403d\",\r\n    \"c:\\\\program files (x86)\\\\windows kits\\\\10\\\\include\\\\10.0.10240.0\\\\ucrt\\\\corecrt.h\": \"c18832d918808d40b4664a51a8824a51\",\r\n    \"c:\\\\program files (x86)\\\\windows kits\\\\10\\\\include\\\\10.0.10240.0\\\\ucrt\\\\corecrt_stdio_config.h\": \"035d8ef27e5026070e7650ea137714a0\",\r\n    \"c:\\\\program files (x86)\\\\windows kits\\\\10\\\\include\\\\10.0.10240.0\\\\ucrt\\\\corecrt_wstdio.h\": \"2443db19dcc585e308f60dafef1d4c4c\",\r\n    \"c:\\\\program files (x86)\\\\windows kits\\\\10\\\\include\\\\10.0.10240.0\\\\ucrt\\\\stdio.h\": \"2d5e699df1bed89fcccccf0dcfc49050\"\r\n  },\r\n  \"includesContentToObjectMap\": {\r\n    \"b9e261c1d8ead6f14fe04c9e287abd1b\": \"20bde61f68b678191e2dff48321984a0\"\r\n  }\r\n}\r\n```\r\n\r\nThis manifest contains hashes of all includes as a map. In order to fix this, multiple file hashes per include must be allowed.\r\n\r\nGiven that there are no sets in JSON, includeFiles will need to become a dictionary from string to lists of strings.\r\n\r\nAs long as the include content equals one of the hashes, everything is fine and the manifest can be used. The actual include content is encoded in the `includesContentToObjectMap` key.\r\n\r\nAs soon as one include hash is not included, it becomes tricky: then we must deal with one manifest having multiple includes lists.\r\n\r\nDealing with multiple includes list per manifest is likely to be very painful. So I'll just start with a failing test."},"comment":{"url":"https://api.github.com/repos/frerich/clcache/issues/comments/242779673","html_url":"https://github.com/frerich/clcache/pull/212#issuecomment-242779673","issue_url":"https://api.github.com/repos/frerich/clcache/issues/212","id":242779673,"user":{"login":"webmaster128","id":2603011,"avatar_url":"https://avatars.githubusercontent.com/u/2603011?v=3","gravatar_id":"","url":"https://api.github.com/users/webmaster128","html_url":"https://github.com/webmaster128","followers_url":"https://api.github.com/users/webmaster128/followers","following_url":"https://api.github.com/users/webmaster128/following{/other_user}","gists_url":"https://api.github.com/users/webmaster128/gists{/gist_id}","starred_url":"https://api.github.com/users/webmaster128/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/webmaster128/subscriptions","organizations_url":"https://api.github.com/users/webmaster128/orgs","repos_url":"https://api.github.com/users/webmaster128/repos","events_url":"https://api.github.com/users/webmaster128/events{/privacy}","received_events_url":"https://api.github.com/users/webmaster128/received_events","type":"User","site_admin":false},"created_at":"2016-08-26T16:13:42Z","updated_at":"2016-08-26T16:13:42Z","body":"Sure, feel free. I did not start working on this yet. However, I don't think it is wise to use the test as long as #155 is not fixed, since it currently fails for the wrong reason. But I did not dig into #222, so you might already have taken this into account."}}
{"actor":{"display_login":"webmaster128"}}