How to Access the Wget Source Code Repository

If you would like to help with development of GNU Wget, be sure you have subscribed to the GNU Wget MailingList. It's generally best to use the latest source code from the Mercurial repository as a base for your development, rather than the latest stable release version: things may have changed drastically since the last release.

Current Wget development is hosted at the Mercurial repositories. Previously, Subversion was being used.

At this time, only the current development trunk has been migrated to Mercurial; tags and branches for bugs and previous Wget releases remain in the Subversion repository only. Note that the idiom for Mercurial development is usually to clone repositories for work on new features or bugfixes, and then merge the forked repository back with the main trunk repository; whereas in Subversion this would typically be done as a branch within the same repository. For this reason, you should not expect to see "bug branches" and the like in Mercurial: for larger changes to the code, you will instead see separate repositories hosted under http://hg.addictivecode.org/.

If you just want to browse the source code repositories, here are the links:

See NavigatingTheSource for tips on how to find your way around the Wget source code.

Getting the source

If all you want is the latest bleeding edge source code, and don't actually want to hack on it or keep it synced, you can download it http://hg.addictivecode.org/wget/mainline/archive/tip.tar.bz2. (Browse the repo to see other options, such as zipped or gzipped.) Note that these are still not "packaged" sources: the advice given in the "Compiling From Repository Sources" section below, still applies.

The best way to obtain the source, though, is with Mercurial. To do that, first you'll need to obtain a copy of Mercurial.

The next step would be to clone the repository. To get a copy of the mainline development repository, use:

$ hg clone http://hg.addictivecode.org/wget/mainline wget

For other repositories besides mainline, see the list at http://hg.addictivecode.org. For information on how to prepare a patch, see PatchGuidelines and UsingMercurial.

Repo Organization

The wget/mainline repository is where active development takes place. This codebase is what will eventually become Wget version 1.12.

The wget/1.11 repository is where development takes place for the 1.11.x line. Current development on this repository is primarily just for crucial bugfixes and regressions. The source for the 1.11 and 1.11.1 releases are tagged in this repository.

If you've cloned the wget/1.11 repository to work with it locally, you can change the sources of your current working copy to match the ones for the 1.11 or 1.11.1 releases by executing the command:

$ hg up 1.11.1

Deprecated Subversion Repository

Prior to Mercurial, we were using Subversion to host our sources. While the Subversion trunk was migrated to Mercurial, preexisting tags and branches were not. Thus, while the Subversion repositories are no longer being used for active development, they remain useful for accessing older versions of Wget through a versioning system.

The Subversion repositories stopped being updated after the release of Wget 1.11. However, the official source for Wget 1.11 would be the Mercurial "wget/1.11" repository.

To get a copy of the Wget 1.11 development branch, use:

$  svn co svn://addictivecode.org/wget/branches/1.11 wget

To checkout the 1.10.x bugfix branch, use:

$  svn co svn://addictivecode.org/wget/branches/1.10/ wget-1.10

And to check out the entire source code repository (including all the tags and branches), use:

$  svn co svn://addictivecode.org/wget/

Note: you will almost never want to do this, as the repository will be growing quite large. If you need access to the top level of the repository, but don't need its entire contents, you should use:

$  svn co -N svn://addictivecode.org/wget/

(note the -N), and then use svn ls, svn update -N, and svn update, to get the parts you really want.

Compiling From Repository Sources

See CompilingRepoSources for how to build sources obtained from the repositories; the repository sources lack some of the files that are present in the officially released source packages, which must be generated using tools that would not be required for a user building Wget from the released sources.

RepositoryAccess (last edited 2009-09-21 18:31:50 by MicahCowan)