{"action":"opened","issue":{"url":"https://api.github.com/repos/CPAN-API/metacpan-web/issues/1456","labels_url":"https://api.github.com/repos/CPAN-API/metacpan-web/issues/1456/labels{/name}","comments_url":"https://api.github.com/repos/CPAN-API/metacpan-web/issues/1456/comments","events_url":"https://api.github.com/repos/CPAN-API/metacpan-web/issues/1456/events","html_url":"https://github.com/CPAN-API/metacpan-web/issues/1456","id":57468793,"number":1456,"title":"Automatically re-index releases if they change in 02packages.details.txt","user":{"login":"neilbowers","id":478461,"avatar_url":"https://avatars.githubusercontent.com/u/478461?v=3","gravatar_id":"","url":"https://api.github.com/users/neilbowers","html_url":"https://github.com/neilbowers","followers_url":"https://api.github.com/users/neilbowers/followers","following_url":"https://api.github.com/users/neilbowers/following{/other_user}","gists_url":"https://api.github.com/users/neilbowers/gists{/gist_id}","starred_url":"https://api.github.com/users/neilbowers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neilbowers/subscriptions","organizations_url":"https://api.github.com/users/neilbowers/orgs","repos_url":"https://api.github.com/users/neilbowers/repos","events_url":"https://api.github.com/users/neilbowers/events{/privacy}","received_events_url":"https://api.github.com/users/neilbowers/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-02-12T14:45:18Z","updated_at":"2015-02-12T14:45:18Z","closed_at":null,"body":"MetaCPAN could identify when a release needs indexing by comparing that release's details in two different versions of 02packages. Here's a quick outline of how I think it could work.\r\n\r\nWhen importing a new drop of 02packages, iterate over all releases\r\n\r\n * build a list of all [module,version] seen in the release\r\n * sort that list by module name\r\n * create a 'signature' for the release, by concatenating them into a string\r\n * if there was an entry for that release in the previous version of 02packages, compare signatures.\r\n * if the signature has changed, then the release has been re-indexed by PAUSE, so MetaCPAN knows to re-index.\r\n\r\nThis should be called the HAARGOMATIC, since in a discussion in #metacpan, @haarg pointed out that the need for re-indexing could be identified off sequential drops of 02packages.\r\n"}}