-
Notifications
You must be signed in to change notification settings - Fork 76
Contributing guide for GSoC students
This is a quick-start guide for GSoC students. This is not meant to be a git
/Github
tutorial.
You only need to do this once.
-
Tell
git
your name:$ git config --global user.name "<Firstname> <Lastname>"
-
Tell
git
your email address:$ git config --global user.email <[email protected]>
You only need to do this once.
-
Fork the upstream via Github interface
-
Clone your fork:
$ git clone https://github.com/<your username>/wget2.git
-
Add upstream repository:
$ git remote add upstream https://github.com/rockdaboot/wget2.git
-
Build
wget2
as explained in READMESample build:
$ ./bootstrap
$ ./configure --enable-fsanitize-msan --enable-fsanitize-ubsan --enable-manywarnings
$ make check-coverage
You'll do this periodically. :)
-
Pick an issue from Issues or
-
Create new issue if you want to add a new feature
-
For said issue/feature create a new branch:
$ git checkout -b <branch_name>
-
Make your changes using IDE/text editor of your choice. We use the kernel coding style here, and so you should. Please, try to stick to it.
-
git add
andgit commit
your changes:$ git add <modified_files>
$ git commit
-
Push your changes to your fork:
$ git push origin <branch_name>
-
Create a pull request to merge your changes with the upstream
-
Wait for review.
-
Repeat steps 4, 5 & 6 if more changes are requested.
Since you are working on your own repository called 'origin', feel free to make any changes to your branch.
You may delete and change commits like you want and then pushing them to Github with git push -f
. This overwrites the history there as well - and that is what you want. If you already made a Pull Request (PR), Github will automatically update it for you. There is no need to close a PR and open a new one. Even the Continuous Integration (CI) will start again with your changes.
-
Delete the local branch and remote branch once your changes get merged:
$ git branch -d <branch_name>
$ git push origin --delete <branch_name>
-
Go to step 1
You need to do this periodically.
-
Fetch code from upstream:
$ git fetch upstream
-
Switch to
master
branch:$ git checkout master
-
Merge the code fetched from upstream:
$ git merge upstream/master
-
Push the merged code to your fork:
$ git push
-
wget2
- Once you built the project head over to
docs/html/index.html
wget2 --help
- wget2 Github wiki
- Once you built the project head over to
- GnuTLS
- C
-
git
- Github