Skip to content
Darshit Shah edited this page Feb 13, 2016 · 1 revision

Contributing to GNU Wget

We are glad that you'd like to contribute to GNU Wget. Please read through this document for information on how to go about the process of contributing.

Set Up Local Git Repository

The official GNU Wget repository is maintained by GNU on the Savannah Servers. Create a local clone of the repository using the following command:

$ git clone git://git.savannah.gnu.org/wget.git

You may maintain your own fork of the repository on GitHub for personal uses. Or, you may also fork the GitHub mirrors owned by the maintainers of GNU Wget.

Adding Developer Remotes

As a developer, you may often want to checkout code in some other developer's branches. To do so, you may add additional Git remotes to your local repository and then simply pull from multiple remotes. Use the following commands to add remotes for some active Wget developers' repositories:

$ git remote add darnir https://github.com/darnir/wget.git
$ git remote add tim https://github.com/rockdaboot/wget.git
$ git remote add gscrivano https://github.com/gscrivano/wget.git
$ git pull --all

To list all the local branches, run:

$ git branch --all

GNU Wget Maintainers

Maintainers of GNU Wget should use the SSH access link as their git remote to gain write privileges to the repository. Use the following command to clone the repository from Savannah:

$ git clone ssh://git.sv.gnu.org/srv/git/wget.git

As a maintainer, you should also ensure that the various forks of Wget remain in sync. In particular, you will want to synchronize the following three repositories:

This can be done by creating a new Git remote with multiple push URLs. The following set of commands would allow user Tim to push to all three repositories simultaneously by using the "all" remote.

$ git remote add all darnir@git.sv.gnu.org:/srv/git/wget/wget.git
$ git remote set-url --add --push all git@github.com:darnir/wget.git
$ git remote set-url --add --push all darnir@git.sv.gnu.org:/srv/git/wget/wget.git
$ git remote set-url --add --push all git@github.com:rockdaboot/wget.git

After running these commands, the output of git remote -v looks like this:

all     ssh://git.sv.gnu.org/srv/git/wget.git (fetch)
all     git@github.com:darnir/wget.git (push)
all     ssh://git.sv.gnu.org/srv/git/wget.git (push)
all     git@github.com:rockdaboot/wget.git (push)
origin  ssh://git.sv.gnu.org/srv/git/wget.git (fetch)
origin  ssh://git.sv.gnu.org/srv/git/wget.git (push)

About The Source

Layout

Coding Guidelines

License

The Test Environment

Perl

Python

Travis Tests

Contributing

Creating Patches

Submitting Patches

Copyright Assignment

Contact