{"action":"created","comment":{"url":"https://api.github.com/repos/freeipa/freeipa/pulls/comments/108619367","pull_request_review_id":29660464,"id":108619367,"diff_hunk":"@@ -152,6 +152,35 @@ JSLINT_TARGET = jslint\n endif WITH_JSLINT\n lint: acilint apilint $(POLINT_TARGET) $(PYLINT_TARGET) $(JSLINT_TARGET)\n \n+.PHONY: patchcheck\n+patchcheck: all","path":"Makefile.am","position":5,"original_position":5,"commit_id":"8920d7c646468445be6ea15a843bf650b68fe1ed","original_commit_id":"8920d7c646468445be6ea15a843bf650b68fe1ed","user":{"login":"tiran","id":444071,"avatar_url":"https://avatars0.githubusercontent.com/u/444071?v=3","gravatar_id":"","url":"https://api.github.com/users/tiran","html_url":"https://github.com/tiran","followers_url":"https://api.github.com/users/tiran/followers","following_url":"https://api.github.com/users/tiran/following{/other_user}","gists_url":"https://api.github.com/users/tiran/gists{/gist_id}","starred_url":"https://api.github.com/users/tiran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tiran/subscriptions","organizations_url":"https://api.github.com/users/tiran/orgs","repos_url":"https://api.github.com/users/tiran/repos","events_url":"https://api.github.com/users/tiran/events{/privacy}","received_events_url":"https://api.github.com/users/tiran/received_events","type":"User","site_admin":false},"body":"Python uses patchcheck, so I'm used to it. But I don't mind to switch to devcheck, develcheck, commitcheck or similar.\r\n\r\nBy the way, make has tab completion :)\r\n\r\n> Use the tab, Luke!","created_at":"2017-03-29T08:34:04Z","updated_at":"2017-03-29T08:34:04Z","html_url":"https://github.com/freeipa/freeipa/pull/593#discussion_r108619367","pull_request_url":"https://api.github.com/repos/freeipa/freeipa/pulls/593","_links":{"self":{"href":"https://api.github.com/repos/freeipa/freeipa/pulls/comments/108619367"},"html":{"href":"https://github.com/freeipa/freeipa/pull/593#discussion_r108619367"},"pull_request":{"href":"https://api.github.com/repos/freeipa/freeipa/pulls/593"}}},"pull_request":{"url":"https://api.github.com/repos/freeipa/freeipa/pulls/593","id":110786249,"html_url":"https://github.com/freeipa/freeipa/pull/593","diff_url":"https://github.com/freeipa/freeipa/pull/593.diff","patch_url":"https://github.com/freeipa/freeipa/pull/593.patch","issue_url":"https://api.github.com/repos/freeipa/freeipa/issues/593","number":593,"state":"open","locked":false,"title":"Add make patchcheck for developers ","user":{"login":"tiran","id":444071,"avatar_url":"https://avatars0.githubusercontent.com/u/444071?v=3","gravatar_id":"","url":"https://api.github.com/users/tiran","html_url":"https://github.com/tiran","followers_url":"https://api.github.com/users/tiran/followers","following_url":"https://api.github.com/users/tiran/following{/other_user}","gists_url":"https://api.github.com/users/tiran/gists{/gist_id}","starred_url":"https://api.github.com/users/tiran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tiran/subscriptions","organizations_url":"https://api.github.com/users/tiran/orgs","repos_url":"https://api.github.com/users/tiran/repos","events_url":"https://api.github.com/users/tiran/events{/privacy}","received_events_url":"https://api.github.com/users/tiran/received_events","type":"User","site_admin":false},"body":"Ticket 6604 makes pylint and jsl optional dependencies. The change\r\nis controversal, because some developers prefer that pylint and jsl\r\nshould be required unless explicitly disabled.\r\n\r\n`make patchcheck` is my answer to address the concerns. It's a superior\r\nsolution to `make lint` as pre-commit check. It combines several\r\nadditional checks under a single, easy rememberable and convenient make\r\ntarget:\r\n\r\n* build all\r\n* acilint, apiclient, jslint, polint\r\n* make check\r\n* pylint under Python 2 and 3\r\n* subset of unit test suite\r\n\r\nhttps://fedorahosted.org/freeipa/ticket/6604","created_at":"2017-03-15T07:41:55Z","updated_at":"2017-03-29T08:34:04Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c4bc9b64d71dad4ef554e5deda13ce89c5874823","assignee":{"login":"MartinBasti","id":20207783,"avatar_url":"https://avatars3.githubusercontent.com/u/20207783?v=3","gravatar_id":"","url":"https://api.github.com/users/MartinBasti","html_url":"https://github.com/MartinBasti","followers_url":"https://api.github.com/users/MartinBasti/followers","following_url":"https://api.github.com/users/MartinBasti/following{/other_user}","gists_url":"https://api.github.com/users/MartinBasti/gists{/gist_id}","starred_url":"https://api.github.com/users/MartinBasti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MartinBasti/subscriptions","organizations_url":"https://api.github.com/users/MartinBasti/orgs","repos_url":"https://api.github.com/users/MartinBasti/repos","events_url":"https://api.github.com/users/MartinBasti/events{/privacy}","received_events_url":"https://api.github.com/users/MartinBasti/received_events","type":"User","site_admin":false},"assignees":[{"login":"MartinBasti","id":20207783,"avatar_url":"https://avatars3.githubusercontent.com/u/20207783?v=3","gravatar_id":"","url":"https://api.github.com/users/MartinBasti","html_url":"https://github.com/MartinBasti","followers_url":"https://api.github.com/users/MartinBasti/followers","following_url":"https://api.github.com/users/MartinBasti/following{/other_user}","gists_url":"https://api.github.com/users/MartinBasti/gists{/gist_id}","starred_url":"https://api.github.com/users/MartinBasti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MartinBasti/subscriptions","organizations_url":"https://api.github.com/users/MartinBasti/orgs","repos_url":"https://api.github.com/users/MartinBasti/repos","events_url":"https://api.github.com/users/MartinBasti/events{/privacy}","received_events_url":"https://api.github.com/users/MartinBasti/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/freeipa/freeipa/pulls/593/commits","review_comments_url":"https://api.github.com/repos/freeipa/freeipa/pulls/593/comments","review_comment_url":"https://api.github.com/repos/freeipa/freeipa/pulls/comments{/number}","comments_url":"https://api.github.com/repos/freeipa/freeipa/issues/593/comments","statuses_url":"https://api.github.com/repos/freeipa/freeipa/statuses/8920d7c646468445be6ea15a843bf650b68fe1ed","head":{"label":"tiran:patchcheck","ref":"patchcheck","sha":"8920d7c646468445be6ea15a843bf650b68fe1ed","user":{"login":"tiran","id":444071,"avatar_url":"https://avatars0.githubusercontent.com/u/444071?v=3","gravatar_id":"","url":"https://api.github.com/users/tiran","html_url":"https://github.com/tiran","followers_url":"https://api.github.com/users/tiran/followers","following_url":"https://api.github.com/users/tiran/following{/other_user}","gists_url":"https://api.github.com/users/tiran/gists{/gist_id}","starred_url":"https://api.github.com/users/tiran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tiran/subscriptions","organizations_url":"https://api.github.com/users/tiran/orgs","repos_url":"https://api.github.com/users/tiran/repos","events_url":"https://api.github.com/users/tiran/events{/privacy}","received_events_url":"https://api.github.com/users/tiran/received_events","type":"User","site_admin":false},"repo":{"id":35869440,"name":"freeipa","full_name":"tiran/freeipa","owner":{"login":"tiran","id":444071,"avatar_url":"https://avatars0.githubusercontent.com/u/444071?v=3","gravatar_id":"","url":"https://api.github.com/users/tiran","html_url":"https://github.com/tiran","followers_url":"https://api.github.com/users/tiran/followers","following_url":"https://api.github.com/users/tiran/following{/other_user}","gists_url":"https://api.github.com/users/tiran/gists{/gist_id}","starred_url":"https://api.github.com/users/tiran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tiran/subscriptions","organizations_url":"https://api.github.com/users/tiran/orgs","repos_url":"https://api.github.com/users/tiran/repos","events_url":"https://api.github.com/users/tiran/events{/privacy}","received_events_url":"https://api.github.com/users/tiran/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tiran/freeipa","description":"Mirror of FreeIPA, an integrated security information management solution","fork":true,"url":"https://api.github.com/repos/tiran/freeipa","forks_url":"https://api.github.com/repos/tiran/freeipa/forks","keys_url":"https://api.github.com/repos/tiran/freeipa/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tiran/freeipa/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tiran/freeipa/teams","hooks_url":"https://api.github.com/repos/tiran/freeipa/hooks","issue_events_url":"https://api.github.com/repos/tiran/freeipa/issues/events{/number}","events_url":"https://api.github.com/repos/tiran/freeipa/events","assignees_url":"https://api.github.com/repos/tiran/freeipa/assignees{/user}","branches_url":"https://api.github.com/repos/tiran/freeipa/branches{/branch}","tags_url":"https://api.github.com/repos/tiran/freeipa/tags","blobs_url":"https://api.github.com/repos/tiran/freeipa/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tiran/freeipa/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tiran/freeipa/git/refs{/sha}","trees_url":"https://api.github.com/repos/tiran/freeipa/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tiran/freeipa/statuses/{sha}","languages_url":"https://api.github.com/repos/tiran/freeipa/languages","stargazers_url":"https://api.github.com/repos/tiran/freeipa/stargazers","contributors_url":"https://api.github.com/repos/tiran/freeipa/contributors","subscribers_url":"https://api.github.com/repos/tiran/freeipa/subscribers","subscription_url":"https://api.github.com/repos/tiran/freeipa/subscription","commits_url":"https://api.github.com/repos/tiran/freeipa/commits{/sha}","git_commits_url":"https://api.github.com/repos/tiran/freeipa/git/commits{/sha}","comments_url":"https://api.github.com/repos/tiran/freeipa/comments{/number}","issue_comment_url":"https://api.github.com/repos/tiran/freeipa/issues/comments{/number}","contents_url":"https://api.github.com/repos/tiran/freeipa/contents/{+path}","compare_url":"https://api.github.com/repos/tiran/freeipa/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tiran/freeipa/merges","archive_url":"https://api.github.com/repos/tiran/freeipa/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tiran/freeipa/downloads","issues_url":"https://api.github.com/repos/tiran/freeipa/issues{/number}","pulls_url":"https://api.github.com/repos/tiran/freeipa/pulls{/number}","milestones_url":"https://api.github.com/repos/tiran/freeipa/milestones{/number}","notifications_url":"https://api.github.com/repos/tiran/freeipa/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tiran/freeipa/labels{/name}","releases_url":"https://api.github.com/repos/tiran/freeipa/releases{/id}","deployments_url":"https://api.github.com/repos/tiran/freeipa/deployments","created_at":"2015-05-19T08:31:05Z","updated_at":"2016-01-21T14:05:27Z","pushed_at":"2017-03-29T07:57:12Z","git_url":"git://github.com/tiran/freeipa.git","ssh_url":"git@github.com:tiran/freeipa.git","clone_url":"https://github.com/tiran/freeipa.git","svn_url":"https://github.com/tiran/freeipa","homepage":"http://freeipa.org/","size":39333,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"freeipa:master","ref":"master","sha":"8960398a57f69c124ec3105289dc355baa0d5b09","user":{"login":"freeipa","id":10979201,"avatar_url":"https://avatars1.githubusercontent.com/u/10979201?v=3","gravatar_id":"","url":"https://api.github.com/users/freeipa","html_url":"https://github.com/freeipa","followers_url":"https://api.github.com/users/freeipa/followers","following_url":"https://api.github.com/users/freeipa/following{/other_user}","gists_url":"https://api.github.com/users/freeipa/gists{/gist_id}","starred_url":"https://api.github.com/users/freeipa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freeipa/subscriptions","organizations_url":"https://api.github.com/users/freeipa/orgs","repos_url":"https://api.github.com/users/freeipa/repos","events_url":"https://api.github.com/users/freeipa/events{/privacy}","received_events_url":"https://api.github.com/users/freeipa/received_events","type":"Organization","site_admin":false},"repo":{"id":4340318,"name":"freeipa","full_name":"freeipa/freeipa","owner":{"login":"freeipa","id":10979201,"avatar_url":"https://avatars1.githubusercontent.com/u/10979201?v=3","gravatar_id":"","url":"https://api.github.com/users/freeipa","html_url":"https://github.com/freeipa","followers_url":"https://api.github.com/users/freeipa/followers","following_url":"https://api.github.com/users/freeipa/following{/other_user}","gists_url":"https://api.github.com/users/freeipa/gists{/gist_id}","starred_url":"https://api.github.com/users/freeipa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freeipa/subscriptions","organizations_url":"https://api.github.com/users/freeipa/orgs","repos_url":"https://api.github.com/users/freeipa/repos","events_url":"https://api.github.com/users/freeipa/events{/privacy}","received_events_url":"https://api.github.com/users/freeipa/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/freeipa/freeipa","description":"Mirror of FreeIPA, an integrated security information management solution","fork":false,"url":"https://api.github.com/repos/freeipa/freeipa","forks_url":"https://api.github.com/repos/freeipa/freeipa/forks","keys_url":"https://api.github.com/repos/freeipa/freeipa/keys{/key_id}","collaborators_url":"https://api.github.com/repos/freeipa/freeipa/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/freeipa/freeipa/teams","hooks_url":"https://api.github.com/repos/freeipa/freeipa/hooks","issue_events_url":"https://api.github.com/repos/freeipa/freeipa/issues/events{/number}","events_url":"https://api.github.com/repos/freeipa/freeipa/events","assignees_url":"https://api.github.com/repos/freeipa/freeipa/assignees{/user}","branches_url":"https://api.github.com/repos/freeipa/freeipa/branches{/branch}","tags_url":"https://api.github.com/repos/freeipa/freeipa/tags","blobs_url":"https://api.github.com/repos/freeipa/freeipa/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/freeipa/freeipa/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/freeipa/freeipa/git/refs{/sha}","trees_url":"https://api.github.com/repos/freeipa/freeipa/git/trees{/sha}","statuses_url":"https://api.github.com/repos/freeipa/freeipa/statuses/{sha}","languages_url":"https://api.github.com/repos/freeipa/freeipa/languages","stargazers_url":"https://api.github.com/repos/freeipa/freeipa/stargazers","contributors_url":"https://api.github.com/repos/freeipa/freeipa/contributors","subscribers_url":"https://api.github.com/repos/freeipa/freeipa/subscribers","subscription_url":"https://api.github.com/repos/freeipa/freeipa/subscription","commits_url":"https://api.github.com/repos/freeipa/freeipa/commits{/sha}","git_commits_url":"https://api.github.com/repos/freeipa/freeipa/git/commits{/sha}","comments_url":"https://api.github.com/repos/freeipa/freeipa/comments{/number}","issue_comment_url":"https://api.github.com/repos/freeipa/freeipa/issues/comments{/number}","contents_url":"https://api.github.com/repos/freeipa/freeipa/contents/{+path}","compare_url":"https://api.github.com/repos/freeipa/freeipa/compare/{base}...{head}","merges_url":"https://api.github.com/repos/freeipa/freeipa/merges","archive_url":"https://api.github.com/repos/freeipa/freeipa/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/freeipa/freeipa/downloads","issues_url":"https://api.github.com/repos/freeipa/freeipa/issues{/number}","pulls_url":"https://api.github.com/repos/freeipa/freeipa/pulls{/number}","milestones_url":"https://api.github.com/repos/freeipa/freeipa/milestones{/number}","notifications_url":"https://api.github.com/repos/freeipa/freeipa/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/freeipa/freeipa/labels{/name}","releases_url":"https://api.github.com/repos/freeipa/freeipa/releases{/id}","deployments_url":"https://api.github.com/repos/freeipa/freeipa/deployments","created_at":"2012-05-15T20:34:40Z","updated_at":"2017-03-20T22:42:53Z","pushed_at":"2017-03-29T08:30:17Z","git_url":"git://github.com/freeipa/freeipa.git","ssh_url":"git@github.com:freeipa/freeipa.git","clone_url":"https://github.com/freeipa/freeipa.git","svn_url":"https://github.com/freeipa/freeipa","homepage":"http://www.freeipa.org","size":40526,"stargazers_count":66,"watchers_count":66,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":70,"mirror_url":null,"open_issues_count":37,"forks":70,"open_issues":37,"watchers":66,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/freeipa/freeipa/pulls/593"},"html":{"href":"https://github.com/freeipa/freeipa/pull/593"},"issue":{"href":"https://api.github.com/repos/freeipa/freeipa/issues/593"},"comments":{"href":"https://api.github.com/repos/freeipa/freeipa/issues/593/comments"},"review_comments":{"href":"https://api.github.com/repos/freeipa/freeipa/pulls/593/comments"},"review_comment":{"href":"https://api.github.com/repos/freeipa/freeipa/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/freeipa/freeipa/pulls/593/commits"},"statuses":{"href":"https://api.github.com/repos/freeipa/freeipa/statuses/8920d7c646468445be6ea15a843bf650b68fe1ed"}}}}
{"actor":{"display_login":"tiran"}}