Contributing 101

Andres Riancho edited this page Jan 19, 2016 · 34 revisions

Ready to contribute with the w3af project but don't know anything about git or development? This guide will help you contribute.

10 steps to contributing

sudo apt-get install git
git config --global user.name "Your Name Here"
git config --global user.email "your@email.com"
  • Download the source code from your fork and start a new feature branch. Make sure you replace <username> in the first command, <feature_name> in the other:
git clone --recursive git@github.com:<username>/w3af.git
cd w3af
git branch <feature_name> origin/develop
git checkout <feature_name>
  • Modify w3af's source code and test it as much as possible
  • Verify all your changes are shown with status and diff. If new files are missing, add them.
git status
git diff
git add plugins/some/file.py
  • Commit your changes making sure you describe exactly what you've done and how you tested it.
git commit -m "describe the changes here" path/to/changes/
  • Push your changes to Github:
git push origin <feature_name>
  • Replace <username> and <feature_name> in this link and copy+paste it in your browser in order to create a "Pull Request".

    Add title and description for your changes; and change the branch against which you're sending the pull-request to develop. In the following screenshot you'll see that the target branch is master, you need to change that to develop by clicking on "Edit":

    Edit branch

    If all goes well, we'll merge your changes into w3af's main repository.

https://github.com/<username>/w3af/pull/new/<feature_name>

The link above will open the Github pull request page with the references below:

  • Source: The branch <feature_name> coming from your forked repository,
  • Target: The branch develop from the andresriancho/w3af repository.

Advanced contributors

Advanced contributors and w3af developers need to follow all the guidelines explained in the Developer's-Guide document.