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. |