blob: 7a4ff0ede6e95773c147bae2e17bd2844b98544d [file] [log] [blame]
Paul Beesley236d2462019-03-05 17:19:37 +00001Frequently-Asked Questions (FAQ)
2================================
3
Joel Hutton9e605632019-02-25 15:18:56 +00004How do I update a Pull Request?
5-------------------------------
6
7Often it is necessary to update a Pull Request (PR) before it is merged. When
8you push to the source topic branch of an open PR, the PR is automatically
9updated with the new commits.
10
11If you need to modify existing commits in the PR (for example following review
12comments), then use the ``--force`` option when pushing. Any comments that apply
13to previous versions of the PR are retained in the PR. Sometimes it may be
14confusing whether comments apply to the current or a previous version of the PR,
15especially if there are several rounds of rework. In this case, you may be asked
16to close the PR and create a new one with the latest commits. The new PR should
17have a version appended to the name (e.g. "My topic v2") and you should create a
18link to the old PR so that reviewers can easily find previous versions.
19
20When the PR is finally merged, you will be given the option of deleting your
21topic branch. It is recommended you delete this (and any previous topic branch
22versions) to avoid polluting your fork with obsolete branches.
23
24How long will my Pull Request take to merge?
25--------------------------------------------
26
27This 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
56Feel free to add a comment to your PR to get an estimate of when it will
57be merged.
58
59How long will it take for my merged Pull Request to go from ``integration`` to ``master``?
60------------------------------------------------------------------------------------------
61
62This depends on how many concurrent Pull Requests (PRs) are being processed at
63the same time. In simple cases where all potential regressions have already been
64tested, the delay will be less than 1 day. If the TF maintainers are trying to
65merge several things over the course of a few days, it might take up to a week.
66Typically, it will be 1-2 days.
67
68The worst case is if the TF maintainers are trying to make a release while also
69receiving PRs that will not be merged into the release. In this case, the PRs
70will be merged onto ``integration``, which will temporarily diverge from the
71release branch. The ``integration`` branch will be rebased onto ``master`` after
72the release, and then ``master`` will be fast-forwarded to ``integration`` 1-2
73days later. This whole process could take up 4 weeks. Please refer the `release
74information`_ for code freeze dates. The TF maintainers will inform the PR owner
75if this is going to happen.
76
77It 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
79dependency commits will change (for example due to PR rework or integration
80problems). If this happens, the dependent PR will need reworking.
81
82What are these strange comments in my Pull Request?
83---------------------------------------------------
84
85For example, comments like "Can one of the admins verify this patch?" or "test
86this please". These are associated with Arm's Continuous Integration
87infrastructure and can be safely ignored. Those who are curious can see the
88documentation for `this Jenkins plugin`_ for more details.
89
Joel Hutton0f79fb12019-02-26 16:23:54 +000090.. _release information: release-information.rst
Joel Hutton9e605632019-02-25 15:18:56 +000091.. _this Jenkins plugin: https://wiki.jenkins-ci.org/display/JENKINS/GitHub+pull+request+builder+plugin