Since Pd development is a large and decentralized process, there are a number of source code repositories for getting source code. The main one is the pure-data SVN as well as pure-data git and pd-extended.git. There are a few ways that you can get the source code of Pd. The majority of the source code is hosted in Subversion (SVN) on SourceForge, while the latest core of 'pd vanilla' and the core of pd-extended are in Git. These repositories are publically available. rsync is used by the auto-build servers to get all this source code, and this is also publically accessible. Using the rsync method below is the easy way to get the whole collection of source code to build Pd-extended. See also WorkingWithPdExtendedSources for ways to put the different repositories together into a coherent development tree.
Pd vanilla (aka pure-data git)
Starting with version 0.43, both Pd-vanilla (pure-data) is hosted in the SourceForge git. You can browse the source, or get the sources with git:
git clone git://pure-data.git.sourceforge.net/gitroot/pure-data/pure-data
Pd Subversion community repository
The pure-data SourceForge project and its SVN repository are a place for the community to gather source code. This SVN repository contains most externals, documentation, development projects. Old pd core and devel versions are hosted here, as well as official tags and branches. To learn more about the layout of the source code, see: RepositoryLayout and Directory Layout.
svn checkout https://pure-data.svn.sourceforge.net/svnroot/pure-data/trunk pure-data
As of 0.43, the core of Pd-extended is also hosted on the SourceForge git, while everything else remains in the pure-data SVN. The pd-extended.git has a more complicated set of branches than the pure-data repository (master, pure-data, and patch_series). As is normal master is the main development branch. If you want to make patches for Pd-extended, you should work against the master branch. The other two branches are meant for a reference. The pure-data branch is the version of the pure-data repository that Pd-extended is currently based on. The patch_series branch shows all the modifications that Pd-extended includes as a series of patches on top of pure-data.
git clone git://pure-data.git.sourceforge.net/gitroot/pure-data/pd-extended.git
Pd-extended release branches
Pd-extended also includes lots of libraries from the pure-data SVN. When it is nearing a time for the next release of Pd-extended, there is a new branch created in the pure-data SVN named for the major/minor version (i.e. 0.42). The pd/ part of the source tree is then imported from pd-extended git. If you want to get the entire source code for Pd-extended, then check out one of these branches.
svn checkout https://pure-data.svn.sourceforge.net/svnroot/pure-data/branches/pd-extended/0.43
nightly source tarball
An easy way to get the whole source is to download the nightly source tarball: http://autobuild.puredata.info/auto-build/latest/
libpd is a collection of wrapping code to Pd-vanilla for making Pd into an embeddable library. It can be embedded into C++, Java, OpenFrameworks, Android, iPhoneOS, and more. There are a number of different git repositories for different platforms: https://github.com/libpd
git clone git://pd-gem.git.sourceforge.net/gitroot/pd-gem/Gem
Matju maintains gridflow in his own repository:
svn checkout http://gridflow.ca/svn/trunk
svn checkout https://svn.grrrr.org/ext/trunk
git clone git://pd-anywhere.git.sourceforge.net/gitroot/pd-anywhere/pd-anywhere