{"action":"created","comment":{"url":"https://api.github.com/repos/google/ggrc-core/pulls/comments/51998072","id":51998072,"diff_hunk":"@@ -1,51 +1,314 @@\n-## Simple helper/guide for reviewing pull requests\n+<a name=\"top\"></a>\n+# A simple helper/guide for reviewing pull requests\n \n-_Note: some steps may be ommited depending on your setup, if you're not sure, just run it all._\n \n-1. make sure you're up to date\n+## Table of contents\n \n-```\n-cd to/your/ggrc/clone \n-git stash\n-git checkout develop \n-git fetch origin \n-git rebase origin/develop \n-```\n+* [Quickstart](#quickstart)\n+* [Using GitHub labels](#using-github-labels)\n+* [Reviewing and merging pull requests](#reviewing-and-merging-pull-requests)\n+* [Setting up (and tearing down) the environment - step by step guide](\n+  #setting-up-and-tearing-down-the-environment---step-by-step-guide)\n \n-2.  test should be done on the merged branch.\n-_Note: if the merge is not a fast-forward, it could break a few things._\n \n-```\n-git checkout -b temp_branch \n-git merge origin/feature/CORE-1195 \n-```\n+## Quickstart\n \n-3. Start your dev env. No need if you already have it running\n-```\n-vagrant up\n+_NOTE: Before doing anything else, if you are reviewing a bugfix pull request,\n+you must first reproduce the issue on the main development branch as mentioned\n+in the [relevant section](#reviewing-a-bugfix-pr)._\n \n-# run this if there were any changes in the provision/ foder\n-vagrant provision \n+Add the following git alias to your `.gitconfig` file (e.g. the one located in\n+your home directory):\n \n-vagrant ssh\n+```ini\n+[alias]\n+    pr = \"!f() { \\\n+        git fetch -fu ${2:-<remote_main>} refs/pull/$1/head:pr/$1 && \\\n+        git checkout pr/$1; \\","path":"doc/pull_request_reviews.md","position":49,"original_position":49,"commit_id":"3488e48f112bf44189e947b4a2548b82a0084d49","original_commit_id":"3488e48f112bf44189e947b4a2548b82a0084d49","user":{"login":"Smotko","id":513444,"avatar_url":"https://avatars.githubusercontent.com/u/513444?v=3","gravatar_id":"","url":"https://api.github.com/users/Smotko","html_url":"https://github.com/Smotko","followers_url":"https://api.github.com/users/Smotko/followers","following_url":"https://api.github.com/users/Smotko/following{/other_user}","gists_url":"https://api.github.com/users/Smotko/gists{/gist_id}","starred_url":"https://api.github.com/users/Smotko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Smotko/subscriptions","organizations_url":"https://api.github.com/users/Smotko/orgs","repos_url":"https://api.github.com/users/Smotko/repos","events_url":"https://api.github.com/users/Smotko/events{/privacy}","received_events_url":"https://api.github.com/users/Smotko/received_events","type":"User","site_admin":false},"body":"I don't think the pr command should merge, because what if the PR is not meant to be merged into develop, but into a release branch or some other branch. Also what if the PR has a merge conflict, but you still want to check it out. \r\n\r\nDoing the merge manually is IMHO better, but I'm not the target audience of this doc so you decide what's best for new people. ","created_at":"2016-02-05T10:18:29Z","updated_at":"2016-02-05T10:18:29Z","html_url":"https://github.com/google/ggrc-core/pull/3455#discussion_r51998072","pull_request_url":"https://api.github.com/repos/google/ggrc-core/pulls/3455","_links":{"self":{"href":"https://api.github.com/repos/google/ggrc-core/pulls/comments/51998072"},"html":{"href":"https://github.com/google/ggrc-core/pull/3455#discussion_r51998072"},"pull_request":{"href":"https://api.github.com/repos/google/ggrc-core/pulls/3455"}}},"pull_request":{"url":"https://api.github.com/repos/google/ggrc-core/pulls/3455","id":55234204,"html_url":"https://github.com/google/ggrc-core/pull/3455","diff_url":"https://github.com/google/ggrc-core/pull/3455.diff","patch_url":"https://github.com/google/ggrc-core/pull/3455.patch","issue_url":"https://api.github.com/repos/google/ggrc-core/issues/3455","number":3455,"state":"open","locked":false,"title":"QUICK-FIX Update the PR review guide","user":{"login":"plamut","id":1235663,"avatar_url":"https://avatars.githubusercontent.com/u/1235663?v=3","gravatar_id":"","url":"https://api.github.com/users/plamut","html_url":"https://github.com/plamut","followers_url":"https://api.github.com/users/plamut/followers","following_url":"https://api.github.com/users/plamut/following{/other_user}","gists_url":"https://api.github.com/users/plamut/gists{/gist_id}","starred_url":"https://api.github.com/users/plamut/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plamut/subscriptions","organizations_url":"https://api.github.com/users/plamut/orgs","repos_url":"https://api.github.com/users/plamut/repos","events_url":"https://api.github.com/users/plamut/events{/privacy}","received_events_url":"https://api.github.com/users/plamut/received_events","type":"User","site_admin":false},"body":"**NOTE:** There are still two pieces missing - the section on Docker and on reviewing the PRs containing DB migration scripts. Both are marked with a TODO comment. I need help on this, as I have almost no experience with either. Please send any pull request to my `fix-pr-guide` branch, thanks!\r\n\r\n----\r\n\r\nFor convenience, here's the link to the rendered version of the new file - https://github.com/plamut/ggrc-core/blob/fix-pr-guide/doc/pull_request_reviews.md\r\n\r\nThe existing file - https://github.com/google/ggrc-core/blob/develop/doc/pull_request_reviews.md","created_at":"2016-01-06T16:43:41Z","updated_at":"2016-02-05T10:18:29Z","closed_at":null,"merged_at":null,"merge_commit_sha":"da09c7c3e46ca4f4b329e03c86133f3c8a501b14","assignee":null,"milestone":{"url":"https://api.github.com/repos/google/ggrc-core/milestones/16","html_url":"https://github.com/google/ggrc-core/milestones/0.9.6-Plum%20Jelly","labels_url":"https://api.github.com/repos/google/ggrc-core/milestones/16/labels","id":1058061,"number":16,"title":"0.9.6-Plum Jelly","description":"","creator":{"login":"Smotko","id":513444,"avatar_url":"https://avatars.githubusercontent.com/u/513444?v=3","gravatar_id":"","url":"https://api.github.com/users/Smotko","html_url":"https://github.com/Smotko","followers_url":"https://api.github.com/users/Smotko/followers","following_url":"https://api.github.com/users/Smotko/following{/other_user}","gists_url":"https://api.github.com/users/Smotko/gists{/gist_id}","starred_url":"https://api.github.com/users/Smotko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Smotko/subscriptions","organizations_url":"https://api.github.com/users/Smotko/orgs","repos_url":"https://api.github.com/users/Smotko/repos","events_url":"https://api.github.com/users/Smotko/events{/privacy}","received_events_url":"https://api.github.com/users/Smotko/received_events","type":"User","site_admin":false},"open_issues":15,"closed_issues":100,"state":"open","created_at":"2015-04-08T11:38:13Z","updated_at":"2016-02-05T08:46:20Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/google/ggrc-core/pulls/3455/commits","review_comments_url":"https://api.github.com/repos/google/ggrc-core/pulls/3455/comments","review_comment_url":"https://api.github.com/repos/google/ggrc-core/pulls/comments{/number}","comments_url":"https://api.github.com/repos/google/ggrc-core/issues/3455/comments","statuses_url":"https://api.github.com/repos/google/ggrc-core/statuses/3488e48f112bf44189e947b4a2548b82a0084d49","head":{"label":"plamut:fix-pr-guide","ref":"fix-pr-guide","sha":"3488e48f112bf44189e947b4a2548b82a0084d49","user":{"login":"plamut","id":1235663,"avatar_url":"https://avatars.githubusercontent.com/u/1235663?v=3","gravatar_id":"","url":"https://api.github.com/users/plamut","html_url":"https://github.com/plamut","followers_url":"https://api.github.com/users/plamut/followers","following_url":"https://api.github.com/users/plamut/following{/other_user}","gists_url":"https://api.github.com/users/plamut/gists{/gist_id}","starred_url":"https://api.github.com/users/plamut/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plamut/subscriptions","organizations_url":"https://api.github.com/users/plamut/orgs","repos_url":"https://api.github.com/users/plamut/repos","events_url":"https://api.github.com/users/plamut/events{/privacy}","received_events_url":"https://api.github.com/users/plamut/received_events","type":"User","site_admin":false},"repo":{"id":46784845,"name":"ggrc-core","full_name":"plamut/ggrc-core","owner":{"login":"plamut","id":1235663,"avatar_url":"https://avatars.githubusercontent.com/u/1235663?v=3","gravatar_id":"","url":"https://api.github.com/users/plamut","html_url":"https://github.com/plamut","followers_url":"https://api.github.com/users/plamut/followers","following_url":"https://api.github.com/users/plamut/following{/other_user}","gists_url":"https://api.github.com/users/plamut/gists{/gist_id}","starred_url":"https://api.github.com/users/plamut/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/plamut/subscriptions","organizations_url":"https://api.github.com/users/plamut/orgs","repos_url":"https://api.github.com/users/plamut/repos","events_url":"https://api.github.com/users/plamut/events{/privacy}","received_events_url":"https://api.github.com/users/plamut/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/plamut/ggrc-core","description":"GGRC Core","fork":true,"url":"https://api.github.com/repos/plamut/ggrc-core","forks_url":"https://api.github.com/repos/plamut/ggrc-core/forks","keys_url":"https://api.github.com/repos/plamut/ggrc-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/plamut/ggrc-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/plamut/ggrc-core/teams","hooks_url":"https://api.github.com/repos/plamut/ggrc-core/hooks","issue_events_url":"https://api.github.com/repos/plamut/ggrc-core/issues/events{/number}","events_url":"https://api.github.com/repos/plamut/ggrc-core/events","assignees_url":"https://api.github.com/repos/plamut/ggrc-core/assignees{/user}","branches_url":"https://api.github.com/repos/plamut/ggrc-core/branches{/branch}","tags_url":"https://api.github.com/repos/plamut/ggrc-core/tags","blobs_url":"https://api.github.com/repos/plamut/ggrc-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/plamut/ggrc-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/plamut/ggrc-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/plamut/ggrc-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/plamut/ggrc-core/statuses/{sha}","languages_url":"https://api.github.com/repos/plamut/ggrc-core/languages","stargazers_url":"https://api.github.com/repos/plamut/ggrc-core/stargazers","contributors_url":"https://api.github.com/repos/plamut/ggrc-core/contributors","subscribers_url":"https://api.github.com/repos/plamut/ggrc-core/subscribers","subscription_url":"https://api.github.com/repos/plamut/ggrc-core/subscription","commits_url":"https://api.github.com/repos/plamut/ggrc-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/plamut/ggrc-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/plamut/ggrc-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/plamut/ggrc-core/issues/comments{/number}","contents_url":"https://api.github.com/repos/plamut/ggrc-core/contents/{+path}","compare_url":"https://api.github.com/repos/plamut/ggrc-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/plamut/ggrc-core/merges","archive_url":"https://api.github.com/repos/plamut/ggrc-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/plamut/ggrc-core/downloads","issues_url":"https://api.github.com/repos/plamut/ggrc-core/issues{/number}","pulls_url":"https://api.github.com/repos/plamut/ggrc-core/pulls{/number}","milestones_url":"https://api.github.com/repos/plamut/ggrc-core/milestones{/number}","notifications_url":"https://api.github.com/repos/plamut/ggrc-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/plamut/ggrc-core/labels{/name}","releases_url":"https://api.github.com/repos/plamut/ggrc-core/releases{/id}","deployments_url":"https://api.github.com/repos/plamut/ggrc-core/deployments","created_at":"2015-11-24T10:37:33Z","updated_at":"2016-01-11T09:19:52Z","pushed_at":"2016-02-05T08:56:50Z","git_url":"git://github.com/plamut/ggrc-core.git","ssh_url":"git@github.com:plamut/ggrc-core.git","clone_url":"https://github.com/plamut/ggrc-core.git","svn_url":"https://github.com/plamut/ggrc-core","homepage":null,"size":49045,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"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":"develop"}},"base":{"label":"google:develop","ref":"develop","sha":"e1901a8932b9c9fc67f3f9138a3156eb28d30371","user":{"login":"google","id":1342004,"avatar_url":"https://avatars.githubusercontent.com/u/1342004?v=3","gravatar_id":"","url":"https://api.github.com/users/google","html_url":"https://github.com/google","followers_url":"https://api.github.com/users/google/followers","following_url":"https://api.github.com/users/google/following{/other_user}","gists_url":"https://api.github.com/users/google/gists{/gist_id}","starred_url":"https://api.github.com/users/google/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/google/subscriptions","organizations_url":"https://api.github.com/users/google/orgs","repos_url":"https://api.github.com/users/google/repos","events_url":"https://api.github.com/users/google/events{/privacy}","received_events_url":"https://api.github.com/users/google/received_events","type":"Organization","site_admin":false},"repo":{"id":9304637,"name":"ggrc-core","full_name":"google/ggrc-core","owner":{"login":"google","id":1342004,"avatar_url":"https://avatars.githubusercontent.com/u/1342004?v=3","gravatar_id":"","url":"https://api.github.com/users/google","html_url":"https://github.com/google","followers_url":"https://api.github.com/users/google/followers","following_url":"https://api.github.com/users/google/following{/other_user}","gists_url":"https://api.github.com/users/google/gists{/gist_id}","starred_url":"https://api.github.com/users/google/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/google/subscriptions","organizations_url":"https://api.github.com/users/google/orgs","repos_url":"https://api.github.com/users/google/repos","events_url":"https://api.github.com/users/google/events{/privacy}","received_events_url":"https://api.github.com/users/google/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/google/ggrc-core","description":"GGRC Core","fork":false,"url":"https://api.github.com/repos/google/ggrc-core","forks_url":"https://api.github.com/repos/google/ggrc-core/forks","keys_url":"https://api.github.com/repos/google/ggrc-core/keys{/key_id}","collaborators_url":"https://api.github.com/repos/google/ggrc-core/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/google/ggrc-core/teams","hooks_url":"https://api.github.com/repos/google/ggrc-core/hooks","issue_events_url":"https://api.github.com/repos/google/ggrc-core/issues/events{/number}","events_url":"https://api.github.com/repos/google/ggrc-core/events","assignees_url":"https://api.github.com/repos/google/ggrc-core/assignees{/user}","branches_url":"https://api.github.com/repos/google/ggrc-core/branches{/branch}","tags_url":"https://api.github.com/repos/google/ggrc-core/tags","blobs_url":"https://api.github.com/repos/google/ggrc-core/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/google/ggrc-core/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/google/ggrc-core/git/refs{/sha}","trees_url":"https://api.github.com/repos/google/ggrc-core/git/trees{/sha}","statuses_url":"https://api.github.com/repos/google/ggrc-core/statuses/{sha}","languages_url":"https://api.github.com/repos/google/ggrc-core/languages","stargazers_url":"https://api.github.com/repos/google/ggrc-core/stargazers","contributors_url":"https://api.github.com/repos/google/ggrc-core/contributors","subscribers_url":"https://api.github.com/repos/google/ggrc-core/subscribers","subscription_url":"https://api.github.com/repos/google/ggrc-core/subscription","commits_url":"https://api.github.com/repos/google/ggrc-core/commits{/sha}","git_commits_url":"https://api.github.com/repos/google/ggrc-core/git/commits{/sha}","comments_url":"https://api.github.com/repos/google/ggrc-core/comments{/number}","issue_comment_url":"https://api.github.com/repos/google/ggrc-core/issues/comments{/number}","contents_url":"https://api.github.com/repos/google/ggrc-core/contents/{+path}","compare_url":"https://api.github.com/repos/google/ggrc-core/compare/{base}...{head}","merges_url":"https://api.github.com/repos/google/ggrc-core/merges","archive_url":"https://api.github.com/repos/google/ggrc-core/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/google/ggrc-core/downloads","issues_url":"https://api.github.com/repos/google/ggrc-core/issues{/number}","pulls_url":"https://api.github.com/repos/google/ggrc-core/pulls{/number}","milestones_url":"https://api.github.com/repos/google/ggrc-core/milestones{/number}","notifications_url":"https://api.github.com/repos/google/ggrc-core/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/google/ggrc-core/labels{/name}","releases_url":"https://api.github.com/repos/google/ggrc-core/releases{/id}","deployments_url":"https://api.github.com/repos/google/ggrc-core/deployments","created_at":"2013-04-08T19:16:28Z","updated_at":"2016-01-28T04:43:18Z","pushed_at":"2016-02-05T10:16:53Z","git_url":"git://github.com/google/ggrc-core.git","ssh_url":"git@github.com:google/ggrc-core.git","clone_url":"https://github.com/google/ggrc-core.git","svn_url":"https://github.com/google/ggrc-core","homepage":null,"size":55844,"stargazers_count":64,"watchers_count":64,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":43,"mirror_url":null,"open_issues_count":16,"forks":43,"open_issues":16,"watchers":64,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/google/ggrc-core/pulls/3455"},"html":{"href":"https://github.com/google/ggrc-core/pull/3455"},"issue":{"href":"https://api.github.com/repos/google/ggrc-core/issues/3455"},"comments":{"href":"https://api.github.com/repos/google/ggrc-core/issues/3455/comments"},"review_comments":{"href":"https://api.github.com/repos/google/ggrc-core/pulls/3455/comments"},"review_comment":{"href":"https://api.github.com/repos/google/ggrc-core/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/google/ggrc-core/pulls/3455/commits"},"statuses":{"href":"https://api.github.com/repos/google/ggrc-core/statuses/3488e48f112bf44189e947b4a2548b82a0084d49"}}}}