{"action":"created","comment":{"url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls/comments/29219304","id":29219304,"diff_hunk":"@@ -77,6 +79,9 @@ def __init__(self, buildout, name, options):\n         # CSS Lint\n         self.options.setdefault('csslint', 'False')\n         self.options.setdefault('csslint-bin', 'csslint')\n+        # check-manifest\n+        self.options.setdefault('check-manifest', 'True')","path":"plone/recipe/codeanalysis/__init__.py","position":21,"original_position":21,"commit_id":"6e7857d9dd25d8a073f333aee494bc46fbe5587c","original_commit_id":"6e7857d9dd25d8a073f333aee494bc46fbe5587c","user":{"login":"saily","id":506283,"avatar_url":"https://avatars.githubusercontent.com/u/506283?v=3","gravatar_id":"","url":"https://api.github.com/users/saily","html_url":"https://github.com/saily","followers_url":"https://api.github.com/users/saily/followers","following_url":"https://api.github.com/users/saily/following{/other_user}","gists_url":"https://api.github.com/users/saily/gists{/gist_id}","starred_url":"https://api.github.com/users/saily/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saily/subscriptions","organizations_url":"https://api.github.com/users/saily/orgs","repos_url":"https://api.github.com/users/saily/repos","events_url":"https://api.github.com/users/saily/events{/privacy}","received_events_url":"https://api.github.com/users/saily/received_events","type":"User","site_admin":false},"body":"check-manifest takes ~10 seconds for `plone.recipe.codeanalysis` package on my machine, it's the longest running check, so from my point of view we should be able to disable it. And i'm thinking about writing a cache file which detect if a file was added/removed so check-manifest could be rerun, otherwise it's just annoying to have it as pre-commit hook, because it takes too much time.","created_at":"2015-04-28T07:23:37Z","updated_at":"2015-04-28T07:23:37Z","html_url":"https://github.com/plone/plone.recipe.codeanalysis/pull/113#discussion_r29219304","pull_request_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls/113","_links":{"self":{"href":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls/comments/29219304"},"html":{"href":"https://github.com/plone/plone.recipe.codeanalysis/pull/113#discussion_r29219304"},"pull_request":{"href":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls/113"}}},"pull_request":{"url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls/113","id":34217035,"html_url":"https://github.com/plone/plone.recipe.codeanalysis/pull/113","diff_url":"https://github.com/plone/plone.recipe.codeanalysis/pull/113.diff","patch_url":"https://github.com/plone/plone.recipe.codeanalysis/pull/113.patch","issue_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/issues/113","number":113,"state":"open","locked":false,"title":"[WIP] Add basic manifest check.","user":{"login":"saily","id":506283,"avatar_url":"https://avatars.githubusercontent.com/u/506283?v=3","gravatar_id":"","url":"https://api.github.com/users/saily","html_url":"https://github.com/saily","followers_url":"https://api.github.com/users/saily/followers","following_url":"https://api.github.com/users/saily/following{/other_user}","gists_url":"https://api.github.com/users/saily/gists{/gist_id}","starred_url":"https://api.github.com/users/saily/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saily/subscriptions","organizations_url":"https://api.github.com/users/saily/orgs","repos_url":"https://api.github.com/users/saily/repos","events_url":"https://api.github.com/users/saily/events{/privacy}","received_events_url":"https://api.github.com/users/saily/received_events","type":"User","site_admin":false},"body":"This fixes #69, if i look into the code, the discussion was pretty long, but the code fragment is really compact. A test is missing, so i marked this PR as [WIP], but just to let you know i'm working on it.","created_at":"2015-04-27T22:27:23Z","updated_at":"2015-04-28T07:23:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0d5bbfeda8626e08f407872405991acd7c6ef044","assignee":{"login":"saily","id":506283,"avatar_url":"https://avatars.githubusercontent.com/u/506283?v=3","gravatar_id":"","url":"https://api.github.com/users/saily","html_url":"https://github.com/saily","followers_url":"https://api.github.com/users/saily/followers","following_url":"https://api.github.com/users/saily/following{/other_user}","gists_url":"https://api.github.com/users/saily/gists{/gist_id}","starred_url":"https://api.github.com/users/saily/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saily/subscriptions","organizations_url":"https://api.github.com/users/saily/orgs","repos_url":"https://api.github.com/users/saily/repos","events_url":"https://api.github.com/users/saily/events{/privacy}","received_events_url":"https://api.github.com/users/saily/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/milestones/1","html_url":"https://github.com/plone/plone.recipe.codeanalysis/milestones/2.0","labels_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/milestones/1/labels","id":1083944,"number":1,"title":"2.0","description":"- OO design\r\n- multiprocessing support\r\n- more linters\r\n- several bugfixes\r\n","creator":{"login":"saily","id":506283,"avatar_url":"https://avatars.githubusercontent.com/u/506283?v=3","gravatar_id":"","url":"https://api.github.com/users/saily","html_url":"https://github.com/saily","followers_url":"https://api.github.com/users/saily/followers","following_url":"https://api.github.com/users/saily/following{/other_user}","gists_url":"https://api.github.com/users/saily/gists{/gist_id}","starred_url":"https://api.github.com/users/saily/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/saily/subscriptions","organizations_url":"https://api.github.com/users/saily/orgs","repos_url":"https://api.github.com/users/saily/repos","events_url":"https://api.github.com/users/saily/events{/privacy}","received_events_url":"https://api.github.com/users/saily/received_events","type":"User","site_admin":false},"open_issues":5,"closed_issues":7,"state":"open","created_at":"2015-04-26T13:45:39Z","updated_at":"2015-04-27T22:27:23Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls/113/commits","review_comments_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls/113/comments","review_comment_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls/comments{/number}","comments_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/issues/113/comments","statuses_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/statuses/6e7857d9dd25d8a073f333aee494bc46fbe5587c","head":{"label":"plone:check-manifest","ref":"check-manifest","sha":"6e7857d9dd25d8a073f333aee494bc46fbe5587c","user":{"login":"plone","id":72034,"avatar_url":"https://avatars.githubusercontent.com/u/72034?v=3","gravatar_id":"","url":"https://api.github.com/users/plone","html_url":"https://github.com/plone","followers_url":"https://api.github.com/users/plone/followers","following_url":"https://api.github.com/users/plone/following{/other_user}","gists_url":"https://api.github.com/users/plone/gists{/gist_id}","starred_url":"https://api.github.com/users/plone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plone/subscriptions","organizations_url":"https://api.github.com/users/plone/orgs","repos_url":"https://api.github.com/users/plone/repos","events_url":"https://api.github.com/users/plone/events{/privacy}","received_events_url":"https://api.github.com/users/plone/received_events","type":"Organization","site_admin":false},"repo":{"id":11405954,"name":"plone.recipe.codeanalysis","full_name":"plone/plone.recipe.codeanalysis","owner":{"login":"plone","id":72034,"avatar_url":"https://avatars.githubusercontent.com/u/72034?v=3","gravatar_id":"","url":"https://api.github.com/users/plone","html_url":"https://github.com/plone","followers_url":"https://api.github.com/users/plone/followers","following_url":"https://api.github.com/users/plone/following{/other_user}","gists_url":"https://api.github.com/users/plone/gists{/gist_id}","starred_url":"https://api.github.com/users/plone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plone/subscriptions","organizations_url":"https://api.github.com/users/plone/orgs","repos_url":"https://api.github.com/users/plone/repos","events_url":"https://api.github.com/users/plone/events{/privacy}","received_events_url":"https://api.github.com/users/plone/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/plone/plone.recipe.codeanalysis","description":"provides static code analysis for Buildout-based Python projects, including flake8, JSHint, CSS Lint, and other code checks","fork":false,"url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis","forks_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/forks","keys_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/keys{/key_id}","collaborators_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/teams","hooks_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/hooks","issue_events_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/issues/events{/number}","events_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/events","assignees_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/assignees{/user}","branches_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/branches{/branch}","tags_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/tags","blobs_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/git/refs{/sha}","trees_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/git/trees{/sha}","statuses_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/statuses/{sha}","languages_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/languages","stargazers_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/stargazers","contributors_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/contributors","subscribers_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/subscribers","subscription_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/subscription","commits_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/commits{/sha}","git_commits_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/git/commits{/sha}","comments_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/comments{/number}","issue_comment_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/issues/comments{/number}","contents_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/contents/{+path}","compare_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/compare/{base}...{head}","merges_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/merges","archive_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/downloads","issues_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/issues{/number}","pulls_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls{/number}","milestones_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/milestones{/number}","notifications_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/labels{/name}","releases_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/releases{/id}","created_at":"2013-07-14T16:49:40Z","updated_at":"2015-04-27T22:07:55Z","pushed_at":"2015-04-27T22:28:42Z","git_url":"git://github.com/plone/plone.recipe.codeanalysis.git","ssh_url":"git@github.com:plone/plone.recipe.codeanalysis.git","clone_url":"https://github.com/plone/plone.recipe.codeanalysis.git","svn_url":"https://github.com/plone/plone.recipe.codeanalysis","homepage":"https://pypi.python.org/pypi/plone.recipe.codeanalysis","size":2009,"stargazers_count":11,"watchers_count":11,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":29,"forks":6,"open_issues":29,"watchers":11,"default_branch":"master"}},"base":{"label":"plone:master","ref":"master","sha":"fcb4be01887b2fa6763785e768a77da7384f4503","user":{"login":"plone","id":72034,"avatar_url":"https://avatars.githubusercontent.com/u/72034?v=3","gravatar_id":"","url":"https://api.github.com/users/plone","html_url":"https://github.com/plone","followers_url":"https://api.github.com/users/plone/followers","following_url":"https://api.github.com/users/plone/following{/other_user}","gists_url":"https://api.github.com/users/plone/gists{/gist_id}","starred_url":"https://api.github.com/users/plone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plone/subscriptions","organizations_url":"https://api.github.com/users/plone/orgs","repos_url":"https://api.github.com/users/plone/repos","events_url":"https://api.github.com/users/plone/events{/privacy}","received_events_url":"https://api.github.com/users/plone/received_events","type":"Organization","site_admin":false},"repo":{"id":11405954,"name":"plone.recipe.codeanalysis","full_name":"plone/plone.recipe.codeanalysis","owner":{"login":"plone","id":72034,"avatar_url":"https://avatars.githubusercontent.com/u/72034?v=3","gravatar_id":"","url":"https://api.github.com/users/plone","html_url":"https://github.com/plone","followers_url":"https://api.github.com/users/plone/followers","following_url":"https://api.github.com/users/plone/following{/other_user}","gists_url":"https://api.github.com/users/plone/gists{/gist_id}","starred_url":"https://api.github.com/users/plone/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plone/subscriptions","organizations_url":"https://api.github.com/users/plone/orgs","repos_url":"https://api.github.com/users/plone/repos","events_url":"https://api.github.com/users/plone/events{/privacy}","received_events_url":"https://api.github.com/users/plone/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/plone/plone.recipe.codeanalysis","description":"provides static code analysis for Buildout-based Python projects, including flake8, JSHint, CSS Lint, and other code checks","fork":false,"url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis","forks_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/forks","keys_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/keys{/key_id}","collaborators_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/teams","hooks_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/hooks","issue_events_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/issues/events{/number}","events_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/events","assignees_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/assignees{/user}","branches_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/branches{/branch}","tags_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/tags","blobs_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/git/refs{/sha}","trees_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/git/trees{/sha}","statuses_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/statuses/{sha}","languages_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/languages","stargazers_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/stargazers","contributors_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/contributors","subscribers_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/subscribers","subscription_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/subscription","commits_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/commits{/sha}","git_commits_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/git/commits{/sha}","comments_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/comments{/number}","issue_comment_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/issues/comments{/number}","contents_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/contents/{+path}","compare_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/compare/{base}...{head}","merges_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/merges","archive_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/downloads","issues_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/issues{/number}","pulls_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls{/number}","milestones_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/milestones{/number}","notifications_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/labels{/name}","releases_url":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/releases{/id}","created_at":"2013-07-14T16:49:40Z","updated_at":"2015-04-27T22:07:55Z","pushed_at":"2015-04-27T22:28:42Z","git_url":"git://github.com/plone/plone.recipe.codeanalysis.git","ssh_url":"git@github.com:plone/plone.recipe.codeanalysis.git","clone_url":"https://github.com/plone/plone.recipe.codeanalysis.git","svn_url":"https://github.com/plone/plone.recipe.codeanalysis","homepage":"https://pypi.python.org/pypi/plone.recipe.codeanalysis","size":2009,"stargazers_count":11,"watchers_count":11,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":29,"forks":6,"open_issues":29,"watchers":11,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls/113"},"html":{"href":"https://github.com/plone/plone.recipe.codeanalysis/pull/113"},"issue":{"href":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/issues/113"},"comments":{"href":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/issues/113/comments"},"review_comments":{"href":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls/113/comments"},"review_comment":{"href":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/pulls/113/commits"},"statuses":{"href":"https://api.github.com/repos/plone/plone.recipe.codeanalysis/statuses/6e7857d9dd25d8a073f333aee494bc46fbe5587c"}}}}