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 thee 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. 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/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://sandrine-bailleux-arm@review.trustedfirmware.org:29418/TF-A/trusted-firmware-a
* [new branch] HEAD -> refs/for/integration/my-topic-name
```
Thise `refs/for/integration/my-topic-name` is a "magic" refpsec 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 [[https://review.trustedfirmware.org/#/projects/TF-A/trusted-firmware-a,dashboards/site:main | TF-A Gerrit review dashboard]] in the `Open Published Patches` section:
{F29817, size=full}}
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`.
{F29819, size=full}
Once your patch has received all necessary approvals, its status shouldwill change to `Ready to submit`:
{F29821, size=full}
At this stage, a maintainer should shortlyIt is then ready to be merge itd into the integration branch by a maintainer.