|
|
| (4 intermediate revisions by 3 users not shown) |
| Line 1: |
Line 1: |
| [[Category:Developing_Qt::Guidelines]] | | #REDIRECT [[Merge Guidelines]] |
| | |
| [toc align_right="yes" depth="1"]
| |
| | |
| = 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.
| |
| <code>
| |
| git fetch
| |
| git checkout -B dev origin/dev
| |
| git merge origin/stable
| |
| git push gerrit HEAD:refs/for/dev
| |
| </code>
| |
| 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.
| |
| <code>
| |
| cd qt5 # this command needs a full checkout of qt5.git and all submodules
| |
| git qt-merge-mainlines -s -f stable -t dev
| |
| </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.
| |