{"action":"created","issue":{"url":"https://api.github.com/repos/dokku/dokku/issues/1884","labels_url":"https://api.github.com/repos/dokku/dokku/issues/1884/labels{/name}","comments_url":"https://api.github.com/repos/dokku/dokku/issues/1884/comments","events_url":"https://api.github.com/repos/dokku/dokku/issues/1884/events","html_url":"https://github.com/dokku/dokku/issues/1884","id":128916509,"number":1884,"title":"RFC: Development Release Branches","user":{"login":"u2mejc","id":11339468,"avatar_url":"https://avatars.githubusercontent.com/u/11339468?v=3","gravatar_id":"","url":"https://api.github.com/users/u2mejc","html_url":"https://github.com/u2mejc","followers_url":"https://api.github.com/users/u2mejc/followers","following_url":"https://api.github.com/users/u2mejc/following{/other_user}","gists_url":"https://api.github.com/users/u2mejc/gists{/gist_id}","starred_url":"https://api.github.com/users/u2mejc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/u2mejc/subscriptions","organizations_url":"https://api.github.com/users/u2mejc/orgs","repos_url":"https://api.github.com/users/u2mejc/repos","events_url":"https://api.github.com/users/u2mejc/events{/privacy}","received_events_url":"https://api.github.com/users/u2mejc/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/dokku/dokku/labels/rfc","name":"rfc","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-01-26T19:21:27Z","updated_at":"2016-01-26T20:13:56Z","closed_at":null,"body":"I'd like to propose we start using release branches that will allow us to merge future release PRs, similar how docker (or even plugn) use a release branch.\r\n\r\nWhen a release is has gone GM, it's merged back into master and a new branch for the next version is created off master. The release branches are rebased from master when committing new changes to keep older commits insync and eliminate the issue of having to rebase PR through 50+ commits in the future.\r\n\r\n```\r\n--master-----------merged release-v0.5-------------------merged release-0.6------ etc...\r\n    \\- release-v0.5-/             \\-release-0.6-----\\rebase--------/\r\n```\r\nRebasing also helps keep a congruent timeline for master, while the minimal release branches allow us to merge PRs right away and prevent them from becoming stagnant and failing to rebase down the road.\r\n\r\nWork flow:\r\n* Fork repo\r\n```\r\ngit clone git@github.com:<user>/dokku.git & cd  dokku\r\ngit checkout release-0.5\r\ngit commit -am \"my sweet commit\"\r\ngit fetch origin\r\ngit rebase master\r\ngit push origin release-0.5\r\n```\r\n* Create Pull Request, on left side, select dokku/release-0.5 instead of master.\r\n\r\n@josegonzalez Thoughts?"},"comment":{"url":"https://api.github.com/repos/dokku/dokku/issues/comments/175206481","html_url":"https://github.com/dokku/dokku/issues/1884#issuecomment-175206481","issue_url":"https://api.github.com/repos/dokku/dokku/issues/1884","id":175206481,"user":{"login":"michaelshobbs","id":4491438,"avatar_url":"https://avatars.githubusercontent.com/u/4491438?v=3","gravatar_id":"","url":"https://api.github.com/users/michaelshobbs","html_url":"https://github.com/michaelshobbs","followers_url":"https://api.github.com/users/michaelshobbs/followers","following_url":"https://api.github.com/users/michaelshobbs/following{/other_user}","gists_url":"https://api.github.com/users/michaelshobbs/gists{/gist_id}","starred_url":"https://api.github.com/users/michaelshobbs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaelshobbs/subscriptions","organizations_url":"https://api.github.com/users/michaelshobbs/orgs","repos_url":"https://api.github.com/users/michaelshobbs/repos","events_url":"https://api.github.com/users/michaelshobbs/events{/privacy}","received_events_url":"https://api.github.com/users/michaelshobbs/received_events","type":"User","site_admin":false},"created_at":"2016-01-26T20:13:56Z","updated_at":"2016-01-26T20:13:56Z","body":"For the record, I think is a convoluted way to manage open source software and will potentially increase the difficulty for the maintainers to manage this project. The current, more standard, method we use now decentralizes the responsibility of maintaining open PRs to those individuals that want to contribute to the project."}}