Project

General

Profile

HOWTO merge commits from the integration branch » History » Version 6

Loïc Dachary, 04/07/2015 01:50 PM

1 2 Loïc Dachary
After the [[HOWTO run integration and upgrade tests|tests successfully]] run on the [[HOWTO populate the integration branch|integration branch]]:
2
3 6 Loïc Dachary
* List the pull requests that have been merged in the integration branch with something like:
4
<pre>
5
$ git log --oneline --merges ceph/giant..ceph/giant-backports
6
538d012 Merge 4214: osd/osd_types.cc: 456: FAILED assert(m_seed < old_pg_num)
7
</pre>
8 5 Loïc Dachary
* Assign pull requests that have been backported and tested without interaction with the original author to the [[HOWTO#Leads|lead]] because (s)he is the one deciding if the backport is good enough. Although a discussion with the lead could be engaged before testing, it is less work for a busy lead to review a backport that is known to pass integration tests.
9
* Wait for all pull requests to be approved.
10 2 Loïc Dachary
11
The backports from the integration branch can be merged (via github so that the pull requests are properly tagged as being merged) into the release branch. 
12 1 Loïc Dachary
13
* for each pull request merged in the integration branch
14
* go to the github web interface
15
* click on the "Merge button"
16
* add the "Reviewed-by:" field to the input box
17 5 Loïc Dachary
* when all pull requests are merged **git log --no-merges giant-backports ^giant** must be empty (i.e. the integration branch must have nothing left except diverging merges because all cherry-picked commits are now found in the giant branch).
18 1 Loïc Dachary
19
Since the merge is not from the integration branch, the commit that has been tested won't match the SHA which is inconvenient when trying to figure out if a mistake has been done. The content of the integration branch should be merged with a script instead of manually via the github web interface to avoid mistakes.