Braden, you're right. I've now done some local playing around in git, and have an updated proposal that uses merges instead of deleting branches. PTAL:
Cordova repositories have three main branches: 1. stable 2. next 3. dev Topic branches also exist for collaborating on features, or for code-review purposes. There is *no* master branch, so that community-driven pull requests will be forced to think about which branch to request against. 1. The "stable" branch. - Sits at the latest stable release of cordova - This changes only when doing fast-forward merges from "next" 2. The "next" branch. - This branch is used only when in the process of doing a release. - All tags (both stable and RC) are done on this branch. - All release-candidate bug-fixes are done on this branch. 3. The "dev" branch. - This is where non-release-candidate commits are done - This is where topic-branches are merged into. Cutting a release: 1. git checkout next && git merge --ff-only dev 2. Test test test! 3. Fix bugs by committing them directly to "next" and then doing a non-ff merge of next into dev 4. Tag release candidate 5. Repeat steps 2-4 as necessary 6. Tag the release 7. Create distribution .zip file 8. Test one last time using the dist files 9. git checkout stable && git merge --ff-only next On Tue, Jan 22, 2013 at 1:59 PM, Braden Shepherdson <bra...@chromium.org>wrote: > I think deleting and recreating branches with the same name can cause > badness in git[1] because of remotes. It's not really the same branch in > terms of commits, and git thinks that your old stable and the new stable > differ by all of each of their commits. Tags can be moved arbitrarily, so I > think stable makes sense as a tag. I'm not sure about how best to handle > next. > > [1] > http://stackoverflow.com/questions/11844581/git-delete-and-recreate-branch > > > On Tue, Jan 22, 2013 at 11:31 AM, Andrew Grieve <agri...@chromium.org > >wrote: > > > Michal's attending hackathons for the week, and I'm not sure we need to > do > > a hang-out for this, as I think we really are quite close to resolving > > this. I'd really like to resolve this ASAP so that we don't need to have > a > > code-freeze for this release. > > > > Here's a proposal: > > > > Cordova repositories have three main branches: > > 1. stable > > 2. next > > 3. dev > > > > Topic branches also exist for collaborating on features, or for > code-review > > purposes. > > > > There is *no* master branch, so that community-driven pull requests will > be > > forced to think about which branch to request against. > > > > 1. The "stable" branch. > > - Sits at the latest stable release of cordova > > - No one ever commits to the "stable" branch. It exists only as a > > short-cut for checking out the latest stable tag. > > > > 2. The "next" branch. > > - This branch exists only when in the process of doing a release. > > - All tags (both stable and RC) are done on this branch. > > - When a stable tag is done: > > - The existing "stable" branch is deleted > > - A new "stable" branch is created from "next". > > - The "next" branch is deleted. > > > > 3. The "dev" branch. > > - This is where all commits are done > > - This is where topic-branches are merged into. > > > > Cutting a release: > > 1. Create "next" from the HEAD of "dev" > > 2. Test test test! > > 3. Fix bugs by committing them to "dev" and then cherry-picking them into > > "next" > > 4. Tag release candidate > > 5. Repeat steps 2-4 as necessary > > 6. Tag the release > > 7. Create distribution .zip file > > 8. Test one last time using the dist files > > 9. Delete "stable" > > 10. Create a new "stable" by branching from the HEAD of "next" > > 11. Delete the "next" branch > > > > > > > > On Wed, Jan 16, 2013 at 10:34 AM, Michal Mocny <mmo...@chromium.org> > > wrote: > > > > > Just going to throw out one of my personal requirements for whatever > > > proposal we come up with, so it doesn't get lost: > > > > > > * Feature branches are great for feature work and/or large sweeping > > > changes, as are JIRA bugs for tracking them, but cordova has many many > > > trivial issues that could be fixed with "drive-by" patches that require > > as > > > little friction to commit as possible. > > > > > > > > > On Tue, Jan 15, 2013 at 3:05 PM, Marcel Kinard <cmarc...@gmail.com> > > wrote: > > > > > > > How about if there is a specific straw man proposal at the beginning > of > > > > the face-time? Then the folks that are in agreement won't need to say > > > > anything ;-) > > > > > > > > Seriously, making adjustments to something tangible is easier than > > > > instantiating it from scratch. A volunteer for a very simple writeup > on > > > the > > > > wiki? > > > > > > > > -- Marcel Kinard > > > > > > > > > > > > On 1/14/2013 10:06 PM, Michal Mocny wrote: > > > > > > > >> Okay gentlemen, I think there have been countless good points made > > from > > > >> all > > > >> parties, but also some bike-shedding. > > > >> > > > >> Perhaps it is time to schedule some face-time to better articulate > > some > > > of > > > >> the finer points, and to help come to some consensus? > > > >> > > > >> -Michal > > > >> > > > >> > > > > > > > > > >