-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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.
- 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:
- Git in 5 minutes
- Git cheat-sheet
- Install and configure git, make sure you enter the correct values for
git config
:
sudo apt-get install git
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. Make sure you replace
<username>
in the first command,<feature_name>
in the other:
git clone --recursive [email protected]:<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":
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 theandresriancho/w3af
repository.
Advanced contributors and w3af developers need to follow all the guidelines explained in the Developer's-Guide document.