Contributing Code

How to create a Pull Request

  • https://git-scm.com/book
  • https://try.github.io

Configure Git

Set up your user information with your real name and a working email address:

git config --global user.name "Your Name"
git config --global user.email you@example.com

Create a Fork

Navigate to the Shopware Enterprise Github Repository and click the "Fork"-Button in the upper right hand corner.

This will create a "copy" of the entire Shopware B2B repository into your personal user namespace.

Clone your fork to your local machine

After the "forking action" has completed, clone your fork locally (this will create a b2b directory):

git clone git@github.com:USERNAME/b2b.git

Add the shopware repository as upstream remote:

cd b2b
git remote add upstream https://github.com/shopware/b2b.git

Verify the new remote named upstream:

git remote -v
origin  git@github.com:bcremer/b2b.git (fetch)
origin  git@github.com:bcremer/b2b.git (push)
upstream    https://github.com/shopware/b2b.git (fetch)
upstream    https://github.com/shopware/b2b.git (push)

Now that you have the shopware source code locally on your machine please follow the installation instructions.

Create a new Feature branch

Each time you want to work on a patch, create a feature branch:

git fetch upstream
git checkout -b my-new-feature upstream/master

The first command will fetch the latest updates from the upstream project (b2b). The second will create a new branch named my-new-feature, that is based off the master-branch of the upstream remote.

Submit your pull request

Push your branch to your github fork:

git push origin my-new-feature

Create a pull request on Github

Navigate back to the Shopware Github Repository and click the "Compare & pull request"-Button.

It is important that your pull request is completely unit tested. Without valid tests, your pr will be declined. To execute our test environment you should use a supported development system mentioned here. If you have a working instance you can easily start the test suite with the following command:

./psh.phar unit