Merge-Guidelines: Difference between revisions
Jump to navigation
Jump to search
(Removed cleanup notice) |
m (Added language indicator to code-tags) |
||
Line 12: | Line 12: | ||
There are several ways to go about the merges, for individual merges of one repository use the normal git merge command. | There are several ways to go about the merges, for individual merges of one repository use the normal git merge command. | ||
<code> | <code lang="bash"> | ||
git fetch | git fetch | ||
git checkout -B dev origin/dev | git checkout -B dev origin/dev | ||
Line 22: | Line 22: | ||
Since it's not feasible to do so many commands manually for each repository, there is a script in qtrepotools/bin. | Since it's not feasible to do so many commands manually for each repository, there is a script in qtrepotools/bin. | ||
Make sure to have python and qtrepotools/bin in your path. | Make sure to have python and qtrepotools/bin in your path. | ||
<code> | <code lang="bash"> | ||
cd qt5 # this command needs a full checkout of qt5.git and all submodules | cd qt5 # this command needs a full checkout of qt5.git and all submodules | ||
git qt-merge-mainlines -s -f stable -t dev | git qt-merge-mainlines -s -f stable -t dev | ||
</code> | </code> | ||
Shows the status. Pass it -d to do the merges. -f is the source branch and -t is the branch that the merge ends up in. | Shows the status. Pass it -d to do the merges. -f is the source branch and -t is the branch that the merge ends up in. |
Revision as of 10:57, 30 June 2015
Merge process in Qt
During the development cycle merges are done from the release to stable and stable to dev branches. See for example http://wiki.qt.io/Branch-Guidelines .
The merge in the other direction happens in coordination with the release team.
Merge instructions
There are several ways to go about the merges, for individual merges of one repository use the normal git merge command.
git fetch
git checkout -B dev origin/dev
git merge origin/stable
git push gerrit HEAD:refs/for/dev
Note that you need special permissions to push merges and gerrit will refuse your push otherwise.
Since it's not feasible to do so many commands manually for each repository, there is a script in qtrepotools/bin. Make sure to have python and qtrepotools/bin in your path.
cd qt5 # this command needs a full checkout of qt5.git and all submodules
git qt-merge-mainlines -s -f stable -t dev
Shows the status. Pass it -d to do the merges. -f is the source branch and -t is the branch that the merge ends up in.