-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Contributing 101
righettod edited this page Apr 20, 2013
·
34 revisions
Ready to contribute with the w3af project but don't know anything about git or development? This guide will help you contribute.
- Create a Github user and add your SSH key
- Fork the w3af repository by browsing w3af's project page and clicking on the "Fork" button that's on the top-right part of the page
- Learn about Git by reading through these documents:
- Install and configure git, make sure you enter the correct values for
git config
:
sudo apt-get install git git-flow
git config --global user.name "Your Name Here"
git config --global user.email "[email protected]"
- Download the source code from your fork and start a new feature branch with
git-flow
. Make sure you replace<username>
in the first command,<feature_name>
in the last:
git clone --recursive [email protected]:<username>/w3af.git
cd w3af
git branch <feature_name> origin/master
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 modification here" path/to/changes/
- Push your changes to Github:
git push origin <feature_name>
- Replace
<username>
in this link and copy+paste it in your browser in order to create a "Pull Request". Complete the required parameters in order for us to understand your changes. 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> from your Fork repository,
- Target : The branch master from the W3AF repository.
Advanced contributors and w3af developers need to follow all the guidelines explained in the Developer's-Guide document.