This page provides some information to help contributors using the new Gerrit review system for TF-A patches submission. It is not meant to be an exhaustive user guide but instead just illustrates the new TF-A Contribution Guidelines.
On Github, contributions used to be submitted using pull requests. On www.trustedfirmware.org, we are using the Gerrit review tool.
Note: The screenshots below are quite old and show the old Gerrit UI. Things will not look exactly the same with the current UI but hopefully they will still prove useful to the reader.
First of all, you should clone the repository from Gerrit as documented on this page (we recommend the "Clone with commit-msg hook" method). When you are ready to post a patch (or a series of patches) for review, you should use a git command similar to the following one:
$ git push origin HEAD:refs/for/integration%topic=my-topic-name Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (5/5), done. Writing objects: 100% (5/5), 559 bytes | 0 bytes/s, done. Total 5 (delta 3), reused 0 (delta 0) remote: Resolving deltas: 100% (3/3) remote: Processing changes: refs: 1, new: 1, done remote: remote: SUCCESS remote: remote: New Changes: remote: https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/800 Fix a comment in SP_MIN Makefile To ssh://firstname.lastname@example.org:29418/TF-A/trusted-firmware-a * [new branch] HEAD -> refs/for/integration/my-topic-name
The refs/for/integration%topic=my-topic-name is a "magic" refspec recognized by Gerrit. It means that the patch should target the integration branch and belongs to the my-topic-name set of changes.
This command should make your patch(es) appear on the TF-A Gerrit review dashboard in the On-going reviews section:
Your patch(es) will need to go through code review, IP review and automated testing. If it does not have all approvals, it cannot be merged. The status of the patch is indicated at the top, near the change number. In this example, Needs IP-Review label.
Once your patch has received all necessary approvals, its status will change to Ready to submit:
It is then ready to be merged into the integration branch by a maintainer.