CONTRIBUTING
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.
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.
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
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:
- Official Repository: Wget on Savannah Servers
- Integration Repository: darnir's mirror on GitHub
- Your own Repository
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)