{"action":"created","issue":{"url":"https://api.github.com/repos/apache/cloudstack/issues/721","labels_url":"https://api.github.com/repos/apache/cloudstack/issues/721/labels{/name}","comments_url":"https://api.github.com/repos/apache/cloudstack/issues/721/comments","events_url":"https://api.github.com/repos/apache/cloudstack/issues/721/events","html_url":"https://github.com/apache/cloudstack/pull/721","id":101919296,"number":721,"title":"Add scripts to merge PRs and release fixes forward","user":{"login":"miguelaferreira","id":4670993,"avatar_url":"https://avatars.githubusercontent.com/u/4670993?v=3","gravatar_id":"","url":"https://api.github.com/users/miguelaferreira","html_url":"https://github.com/miguelaferreira","followers_url":"https://api.github.com/users/miguelaferreira/followers","following_url":"https://api.github.com/users/miguelaferreira/following{/other_user}","gists_url":"https://api.github.com/users/miguelaferreira/gists{/gist_id}","starred_url":"https://api.github.com/users/miguelaferreira/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miguelaferreira/subscriptions","organizations_url":"https://api.github.com/users/miguelaferreira/orgs","repos_url":"https://api.github.com/users/miguelaferreira/repos","events_url":"https://api.github.com/users/miguelaferreira/events{/privacy}","received_events_url":"https://api.github.com/users/miguelaferreira/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-08-19T15:24:51Z","updated_at":"2015-08-20T04:00:43Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apache/cloudstack/pulls/721","html_url":"https://github.com/apache/cloudstack/pull/721","diff_url":"https://github.com/apache/cloudstack/pull/721.diff","patch_url":"https://github.com/apache/cloudstack/pull/721.patch"},"body":"As it is now, additions to CloudStack need to go through a GitHub PR and, if accepted, merged to the Apache remote (not in GitHub). This means that merging a PR for CloudStack is a bit more involved than merging a normal GitHub PR. In addition to that, a PR that fixes something in an older release needs to be merged against a release branch, and then forward merged up to master (if applicable).\r\n\r\nTo help with these two kinds of merges, @remibergsma, @karuturi, @DaanHoogland and myself, have created two scripts (contributed in this PR).\r\n\r\nOne script (**git-pr**) helps in merging a PR from GitHub to the Apache remote. The script will read the PR info using GitHub's API and will create a merge commit that contains the same commit message a normal GitHub PR merge commit, plus, as extra info, a list of commits that are being merged.\r\n\r\nThe other script (**git-fwd-merge**) will create a specific merge commit message that indicates a forward merge, and lists the commits being merged.\r\n\r\nThis Apache wiki [page](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=61311655) describes how to use these two scripts, and points to an even more detailed [page](https://github.com/schubergphilis/cloudstack-git-tree-manipulation/wiki) that explains the merge scenarios step-by-step.\r\n\r\nBy the way, beacause both scripts follow the naming convention for git tools, as long as they are in your \"path\" you can execute them as simply as \"git pr\" and \"git fwd-merge\". But be aware that, in order to use these scripts, you should make sure to remove any aliases that can cause a name clash.\r\n"},"comment":{"url":"https://api.github.com/repos/apache/cloudstack/issues/comments/132877083","html_url":"https://github.com/apache/cloudstack/pull/721#issuecomment-132877083","issue_url":"https://api.github.com/repos/apache/cloudstack/issues/721","id":132877083,"user":{"login":"karuturi","id":186833,"avatar_url":"https://avatars.githubusercontent.com/u/186833?v=3","gravatar_id":"","url":"https://api.github.com/users/karuturi","html_url":"https://github.com/karuturi","followers_url":"https://api.github.com/users/karuturi/followers","following_url":"https://api.github.com/users/karuturi/following{/other_user}","gists_url":"https://api.github.com/users/karuturi/gists{/gist_id}","starred_url":"https://api.github.com/users/karuturi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karuturi/subscriptions","organizations_url":"https://api.github.com/users/karuturi/orgs","repos_url":"https://api.github.com/users/karuturi/repos","events_url":"https://api.github.com/users/karuturi/events{/privacy}","received_events_url":"https://api.github.com/users/karuturi/received_events","type":"User","site_admin":false},"created_at":"2015-08-20T04:00:43Z","updated_at":"2015-08-20T04:00:43Z","body":"Thanks for the scripts @miguelaferreira and @remibergsma. It makes merging( and closing) PRs very easy. I also used this script to merge doc prs at [apache/cloudstack-docs-rn](https://github.com/apache/cloudstack-docs-rn) etc. :).  Once 4.6 is out, fwd-merge will also be very useful. \r\n:+1: "}}