Quick start: Creating a patch¶
More information: Setting up your Accounts
Setup ssh key for Gerrit
More information: Setting up Gerrit (ssh)
Log in to Gerrit, click on Settings and upload your ssh key
Setup your git environment
More information: Setting up your Git environment
git clone git://git.typo3.org/Packages/TYPO3.CMS.git .
Setup name and email (same as you used for typo3.org), replace
git config user.name "Your Name" git config user.email "firstname.lastname@example.org"
git config branch.autosetuprebase remote
Setup commit hook:
cp Build/git-hooks/commit-msg .git/hooks/commit-msg
Push to Gerrit (replace
git config url."ssh://<YOUR_TYPO3_USERNAME>@review.typo3.org:29418".pushInsteadOf git://git.typo3.org
Run composer and yarn
More information: composer install
Inside your cloned TYPO3 repository, run composer:
cd Build yarn install yarn build cd ..
Setup your TYPO3 installation
More information: Setting up a working TYPO3 installation
Setup your TYPO3 installation usig the git cloned TYPO3 source (as described above).
Setup your IDE to adhere to the coding guidelines
More information: Setup your IDE
.editorconfigin the TYPO3 core directory to setup your IDE. As
.editorconfigonly contains minimal rules, it is a good idea to additionally setup your IDE to use PSR-1 / PSR-2 for PHP files.
Create an Issue on Forge
More information: Report an issue (Forge)
Every patch must have a matching issue on Forge, so create an issue now or submit a patch for an existing issue.
Create your patch
More information: Create & submit a patch
Commit and push
First, read Commit Message rules for TYPO3 CMS.
Then, commit and push:
git commit -a git push origin HEAD:refs/publish/master
Finally, announce your review on Slack
If someone makes comments on your review in Gerrit, look at the comments and try to improve your patch.
Do not get discouraged if your patch is downvoted, commented on and not merged right away! Find a way to improve it. Ask in the #typo3-cms-coredev channel in Slack, if things are unclear.
Refer to Handle and improve a patch (Gerrit) for information about how to push a new patchset.