TeX Live and Subversion
(This page is about accessing the development sources for TeX Live.
Sources for each
release are available separately,as large tar files.)
TeX Live uses the Subversion system for source
control, to support development by many people simultaneously.
Subversion must be used to commit changes, but is not needed (or
recommended) simply for read-only access to the development sources.
So, for TL developers (wanting to commit changes):
For public (read-only) access:
- You can browse the repository via the
web; this always reflects the current state of the repository.
(Footnote: the ls-R and texlive.tlpdb files are
excluded from browsing, since they are updated at least daily and
generating their history for robots, etc., is a big load on the server.
Use rsync or svn to view these files.)
- You can retrieve the entire development source tree via rsync:
rsync -a --delete --exclude=.svn tug.org::tldevsrc .
This command will copy the repository contents to the current directory;
the . can be replaced with any directory, as usual. If you
leave off the ., it will list the (many) files that would be
copied. Once you have the files, another rsync with the same arguments
will keep you updated. The master tree is updated hourly.
- If you only want to retrieve the compilable sources, as opposed
to all the support files as well, replace tldevsrc in the above
with tldevsrc/Build/source, and see the separate TeX Live build page.
- You can retrieve the actual Subversion database files via rsync:
rsync -a --delete tug.org::tldevrepo .
Naturally, this requires much more disk space than the previous option
(~5gb and counting), but it is the most efficient way of getting all the
- Anonymous Subversion access is supported:
svn co svn://tug.org/texlive/trunk
Replace co with list to test the connection. Notice
that's an svn: url, not http:.
Final tip: if you want to use Subversion checkouts but want to
exclude some directories, such as Master/bin/arch for
the architectures you don't use, you can avoid ever doing an update or
checkout from the bin, Master, or top-level
directories, or use the Subversion 1.5 sparse
$Date: 2013/10/27 22:41:39 $;