TeX Live and Subversion (and Git)
This page is about accessing the development sources for TeX Live.
Sources (as large tar files) for each release are available in the historic archive, under systems/texlive.
TeX Live uses the Subversion system for source
control. Subversion must be used to commit changes, but is not needed
(or recommended) simply for read-only access to the development sources.
For developers
For TL developers (wanting to commit changes):
For anonymous read access
For public (read-only, anonymous) access, there are a variety of
methods:
- 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 compilable sources (only) via the rsync command:
rsync -a --delete --exclude=.svn tug.org::tldevsrc/Build/source .
This command will copy the repository contents to the current directory;
the destination . can be replaced with any directory, as usual.
If you leave off the ., it will list the (very 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 every 20
minutes; you can see the last revision updated.
- If you want to retrieve the entire development tree, both source
and runtime (12+gb), as opposed to only the sources (<2gb), replace
tldevsrc/Build/source in the above with just tldevsrc.
- You can also retrieve the underlying Subversion database files via
rsync:
rsync -a --delete tug.org::tldevrepo .
Naturally, this requires much more disk space than the previous option
(35+gb and counting), but it is the most efficient way of getting all the
history.
- Anonymous Subversion access is also supported:
svn co svn://tug.org/texlive/trunk/Build/source
Replace co with list to test the connection. Notice
that's an svn: url, not http(s):.
In this case, you must set the Subversion
configuration value use-commit-times=yes. Otherwise, you
will induce many unwanted dependencies (makeinfo, bison/flex, autotools,
...). All such generated files are up-to-date in the repository; for
instance, if your build tries to remake tlbuild.info (in
source/doc), it is almost certainly because you did not have
use-commit-times set.
To get the sources from a branch, e.g.:
svn co svn://tug.org/texlive/branches/branch2018/Build/source
- Summary build instructions are
available, intended especially for those building the binaries
distributed with TL. The tlbuild
manual has full details about the source organization, how to
build, etc. README files throughout the sources have
additional information.
Final tip: to use Subversion checkouts but still exclude
some directories, such as Master/bin/arch for the
architectures you don't use, you can merely avoid doing an update or
checkout from the bin, Master, or top level, or use
Subversion's sparse
checkout feature.
TeX Live via Git
You can also use a full git mirror on texlive.info, or the github mirror of just
sources.
However, the master is the Subversion repository on tug, so don't
try to push changes via git.
$Date: 2022/06/17 16:08:27 $;
TeX Live;
TUG home page;
join TUG/renew membership;
webmaster;
facebook;
x;
mastodon.