Paul Beesley | 0c6be93 | 2019-03-05 17:19:37 +0000 | [diff] [blame] | 1 | Frequently-Asked Questions (FAQ) |
| 2 | ================================ |
| 3 | |
Joel Hutton | 4fe9123 | 2019-02-25 15:18:56 +0000 | [diff] [blame] | 4 | How do I update a Pull Request? |
| 5 | ------------------------------- |
| 6 | |
| 7 | Often it is necessary to update a Pull Request (PR) before it is merged. When |
| 8 | you push to the source topic branch of an open PR, the PR is automatically |
| 9 | updated with the new commits. |
| 10 | |
| 11 | If you need to modify existing commits in the PR (for example following review |
| 12 | comments), then use the ``--force`` option when pushing. Any comments that apply |
| 13 | to previous versions of the PR are retained in the PR. Sometimes it may be |
| 14 | confusing whether comments apply to the current or a previous version of the PR, |
| 15 | especially if there are several rounds of rework. In this case, you may be asked |
| 16 | to close the PR and create a new one with the latest commits. The new PR should |
| 17 | have a version appended to the name (e.g. "My topic v2") and you should create a |
| 18 | link to the old PR so that reviewers can easily find previous versions. |
| 19 | |
| 20 | When the PR is finally merged, you will be given the option of deleting your |
| 21 | topic branch. It is recommended you delete this (and any previous topic branch |
| 22 | versions) to avoid polluting your fork with obsolete branches. |
| 23 | |
| 24 | How long will my Pull Request take to merge? |
| 25 | -------------------------------------------- |
| 26 | |
| 27 | This can vary a lot, depending on: |
| 28 | |
| 29 | * How important the Pull Request (PR) is considered by the TF maintainers. Where |
| 30 | possible, you should indicate the required timescales for merging the PR and |
| 31 | the impact of any delay. |
| 32 | |
| 33 | * The quality of the PR. PRs are likely to be merged quicker if they follow the |
| 34 | coding guidelines, have already had some code review, and have been |
| 35 | appropriately tested. Note that PRs from Arm engineers go through an internal |
| 36 | review process before appearing on GitHub, therefore may appear to be merged |
| 37 | more quickly. |
| 38 | |
| 39 | * The impact of the PR. For example, a PR that changes a key generic API is |
| 40 | likely to receive much greater scrutiny than a local change to a specific |
| 41 | platform port. |
| 42 | |
| 43 | * How much opportunity for external review is required. For example, the TF |
| 44 | maintainers may not wait for external review comments to merge trivial |
| 45 | bug-fixes but may wait up to a week to merge major changes, or ones requiring |
| 46 | feedback from specific parties. |
| 47 | |
| 48 | * How many other topics need to be integrated and the risk of conflict between |
| 49 | the topics. |
| 50 | |
| 51 | * Is there a code freeze in place in preparation for the release. Please refer |
| 52 | the `release information`_ for more details. |
| 53 | |
| 54 | * The workload of the TF maintainers. |
| 55 | |
| 56 | Feel free to add a comment to your PR to get an estimate of when it will |
| 57 | be merged. |
| 58 | |
| 59 | How long will it take for my merged Pull Request to go from ``integration`` to ``master``? |
| 60 | ------------------------------------------------------------------------------------------ |
| 61 | |
| 62 | This depends on how many concurrent Pull Requests (PRs) are being processed at |
| 63 | the same time. In simple cases where all potential regressions have already been |
| 64 | tested, the delay will be less than 1 day. If the TF maintainers are trying to |
| 65 | merge several things over the course of a few days, it might take up to a week. |
| 66 | Typically, it will be 1-2 days. |
| 67 | |
| 68 | The worst case is if the TF maintainers are trying to make a release while also |
| 69 | receiving PRs that will not be merged into the release. In this case, the PRs |
| 70 | will be merged onto ``integration``, which will temporarily diverge from the |
| 71 | release branch. The ``integration`` branch will be rebased onto ``master`` after |
| 72 | the release, and then ``master`` will be fast-forwarded to ``integration`` 1-2 |
| 73 | days later. This whole process could take up 4 weeks. Please refer the `release |
| 74 | information`_ for code freeze dates. The TF maintainers will inform the PR owner |
| 75 | if this is going to happen. |
| 76 | |
| 77 | It is OK to create a PR based on commits that are only available in |
| 78 | ``integration`` or another PR, rather than ``master``. There is a risk that the |
| 79 | dependency commits will change (for example due to PR rework or integration |
| 80 | problems). If this happens, the dependent PR will need reworking. |
| 81 | |
| 82 | What are these strange comments in my Pull Request? |
| 83 | --------------------------------------------------- |
| 84 | |
| 85 | For example, comments like "Can one of the admins verify this patch?" or "test |
| 86 | this please". These are associated with Arm's Continuous Integration |
| 87 | infrastructure and can be safely ignored. Those who are curious can see the |
| 88 | documentation for `this Jenkins plugin`_ for more details. |
| 89 | |
Joel Hutton | d0f9809 | 2019-02-26 16:23:54 +0000 | [diff] [blame] | 90 | .. _release information: release-information.rst |
Joel Hutton | 4fe9123 | 2019-02-25 15:18:56 +0000 | [diff] [blame] | 91 | .. _this Jenkins plugin: https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin |