Merge-Guidelines: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Add "cleanup" tag)
(Remove non-functioning "toc" command)
Line 3: Line 3:
[[Category:Developing_Qt::Guidelines]]
[[Category:Developing_Qt::Guidelines]]


[toc align_right="yes" depth="1"]


= Merge process in Qt =
= Merge process in Qt =

Revision as of 12:25, 17 April 2015

This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.


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.