You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by Apache Wiki <wi...@apache.org> on 2013/04/04 05:16:50 UTC
[Cordova Wiki] Update of "CommitterWorkflow" by AndrewGrieve
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Cordova Wiki" for change notification.
The "CommitterWorkflow" page has been changed by AndrewGrieve:
http://wiki.apache.org/cordova/CommitterWorkflow?action=diff&rev1=16&rev2=17
== Step 5: Merge your change ==
* Once your topic branch is tested & working, it's time to merge it.
+ * Rebase & commit it to master. If it fixes a regression, then also cherry-pick it into the appropriate release branch.
+ * Here is an example workflow for committing a change:
- * Use the following logic to determine which branch to merge into:
- {{{
- if (inReleaseMode && commitFixesRegression) {
- commitToBranch('next');
- mergeBranch('next').into('master');
- } else {
- commitToBranch('master');
- }
- }}}
-
- * Here is an example workflow for fixing a regression by merging in a local topic-branch:
- * if the 'git checkout next' command fails because 'next' is not a branch in your local repo yet, then do 'git fetch apache' first and try again.
-
- {{{
- git checkout next
- git pull apache
- git checkout topic_branch
- git rebase next -i
- git checkout next
- git merge --ff-only topic_branch
- git push apache next
- git branch -d topic_branch
- git checkout master
- git merge next
- git push apache master
- }}}
-
- * Here is an example workflow for a non-regression commit where the top_branch is a remote branch:
{{{
git checkout master
git pull apache
git checkout topic_branch
- git checkout -b to_be_merged
git rebase master -i
- ...
git checkout master
- git merge --ff-only to_be_merged
+ git merge --ff-only topic_branch
git push apache master
- git branch -d to_be_merged
- git branch -D topic_branch
+ git branch -d topic_branch
- git push apache :topic_branch
+ # Cherry-pick:
+ git checkout 2.6.x
+ git cherry-pick COMMIT_HASH
+ git push apache 2.6.x
}}}
The rebase -i step is your chance to clean up the commit messages and to combine small commits when appropriate. For example: