xref: /arm-trusted-firmware/docs/process/faq.rst (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700SchasingluluFrequently-Asked Questions (FAQ)
2*91f16700Schasinglulu================================
3*91f16700Schasinglulu
4*91f16700SchasingluluHow do I update my changes?
5*91f16700Schasinglulu---------------------------
6*91f16700Schasinglulu
7*91f16700SchasingluluOften it is necessary to update your patch set before it is merged. Refer to the
8*91f16700Schasinglulu`Gerrit Upload Patch Set documentation`_ on how to do so.
9*91f16700Schasinglulu
10*91f16700SchasingluluIf you need to modify an existing patch set with multiple commits, refer to the
11*91f16700Schasinglulu`Gerrit Replace Changes documentation`_.
12*91f16700Schasinglulu
13*91f16700SchasingluluHow long will my changes take to merge into ``integration``?
14*91f16700Schasinglulu------------------------------------------------------------
15*91f16700Schasinglulu
16*91f16700SchasingluluThis can vary a lot, depending on:
17*91f16700Schasinglulu
18*91f16700Schasinglulu* How important the patch set is considered by the TF maintainers. Where
19*91f16700Schasinglulu  possible, you should indicate the required timescales for merging the patch
20*91f16700Schasinglulu  set and the impact of any delay. Feel free to add a comment to your patch set
21*91f16700Schasinglulu  to get an estimate of when it will be merged.
22*91f16700Schasinglulu
23*91f16700Schasinglulu* The quality of the patch set. Patches are likely to be merged more quickly if
24*91f16700Schasinglulu  they follow the coding guidelines, have already had some code review, and have
25*91f16700Schasinglulu  been appropriately tested.
26*91f16700Schasinglulu
27*91f16700Schasinglulu* The impact of the patch set. For example, a patch that changes a key generic
28*91f16700Schasinglulu  API is likely to receive much greater scrutiny than a local change to a
29*91f16700Schasinglulu  specific platform port.
30*91f16700Schasinglulu
31*91f16700Schasinglulu* How much opportunity for external review is required. For example, the TF
32*91f16700Schasinglulu  maintainers may not wait for external review comments to merge trivial
33*91f16700Schasinglulu  bug-fixes but may wait up to a week to merge major changes, or ones requiring
34*91f16700Schasinglulu  feedback from specific parties.
35*91f16700Schasinglulu
36*91f16700Schasinglulu* How many other patch sets are waiting to be integrated and the risk of
37*91f16700Schasinglulu  conflict between the topics.
38*91f16700Schasinglulu
39*91f16700Schasinglulu* If there is a code freeze in place in preparation for the release. Please
40*91f16700Schasinglulu  refer the :ref:`Release Processes` document for more details.
41*91f16700Schasinglulu
42*91f16700Schasinglulu* The workload of the TF maintainers.
43*91f16700Schasinglulu
44*91f16700SchasingluluHow long will it take for my changes to go from ``integration`` to ``master``?
45*91f16700Schasinglulu------------------------------------------------------------------------------
46*91f16700Schasinglulu
47*91f16700SchasingluluThis depends on how many concurrent patches are being processed at the same
48*91f16700Schasinglulutime. In simple cases where all potential regressions have already been tested,
49*91f16700Schasingluluthe delay will be less than 1 day. If the TF maintainers are trying to merge
50*91f16700Schasingluluseveral things over the course of a few days, it might take up to a week.
51*91f16700SchasingluluTypically, it will be 1-2 days.
52*91f16700Schasinglulu
53*91f16700SchasingluluThe worst case is if the TF maintainers are trying to make a release while also
54*91f16700Schasinglulureceiving patches that will not be merged into the release. In this case, the
55*91f16700Schasinglulupatches will be merged onto ``integration``, which will temporarily diverge from
56*91f16700Schasingluluthe release branch. The ``integration`` branch will be rebased onto ``master``
57*91f16700Schasingluluafter the release, and then ``master`` will be fast-forwarded to ``integration``
58*91f16700Schasinglulu1-2 days later. This whole process could take up 4 weeks. Please refer to the
59*91f16700Schasinglulu:ref:`Release Processes` document for code freeze dates. The TF maintainers
60*91f16700Schasingluluwill inform the patch owner if this is going to happen.
61*91f16700Schasinglulu
62*91f16700SchasingluluIt is OK to create a patch based on commits that are only available in
63*91f16700Schasinglulu``integration`` or another patch set, rather than ``master``. There is a risk
64*91f16700Schasingluluthat the dependency commits will change (for example due to patch set rework or
65*91f16700Schasingluluintegration problems). If this happens, the dependent patch will need reworking.
66*91f16700Schasinglulu
67*91f16700SchasingluluWhat are these strange comments in my changes?
68*91f16700Schasinglulu----------------------------------------------
69*91f16700Schasinglulu
70*91f16700SchasingluluAll the comments from ``TrustedFirmware Code Review`` user (email:
71*91f16700Schasinglulu``ci@trustedfirmware.org``) are associated with Continuous Integration (CI)
72*91f16700Schasingluluinfrastructure. The links published on the comments redirect to the CI web
73*91f16700Schasingluluinterface at http://ci.trustedfirmware.org, where details of the tests failures,
74*91f16700Schasingluluif any, can be examined.
75*91f16700Schasinglulu
76*91f16700Schasinglulu--------------
77*91f16700Schasinglulu
78*91f16700Schasinglulu*Copyright (c) 2019-2020, Arm Limited. All rights reserved.*
79*91f16700Schasinglulu
80*91f16700Schasinglulu.. _Gerrit Upload Patch Set documentation: https://review.trustedfirmware.org/Documentation/intro-user.html#upload-patch-set
81*91f16700Schasinglulu.. _Gerrit Replace Changes documentation: https://review.trustedfirmware.org/Documentation/user-upload.html#push_replace
82