Subversion usage for TeX Live

This page explains normal usage of Subversion. Before being able to run the commands here, you must install and configure Subversion, and do the initial checkout of TeX Live. After that, normal usage goes as follows ($ represents the prompt).

  1. Get the current version of everything.
    $ cd /your/checkout
    $ svn update
    U       foo.tex       [normal - got new version from repository]
    
  2. Modify your files as needed. (They should all be read/write to you). You can use any editor or program, run TeX, etc. Take as long as you want, your changes do not affect others at this point. No Subversion commands need be run.

  3. If you need to add files (or whole directories), use svn add, like this (this still does not affect others):
    $ cd /your/checkout
    [create new files and/or directories]
    $ svn add newfile1 newfile2 newdir
    
  4. When you are ready to commit your changes, so others can get them, first do another update, to make sure that no one else modified them at the same time.
    $ cd /your/checkout
    $ svn update
    U       foo.tex       [normal - got new version from repository]
    
  5. If all is well (as it most likely will be; if you get a C for conflict, read the docs or ask for help), review your changes to be sure you're committing what you intend:
    $ cd /your/checkout
    $ svn status  # "status" lists files modified/added
    M       bar.tex       [normal - modified by you, not yet checked in]
    A       baz.tex       [normal - new file you've added, not checked in]
    
    [... and/or ...]
    
    $ svn diff    # "diff" shows actual differences in contents
    
  6. If all is still well, commit the changes:
    $ cd /your/checkout
    $ svn commit -m"log message describing changes"
    
  7. Committed changes to the hierarchy are automatically propagated to the current sources, which you can browse at tug.org/svn/texlive. Updates are made hourly.

As you might guess, the above is just a primer for getting started with Subversion. The Subversion web site and users mailing list have much more. Also, the complete Subversion reference manual is available online (or you can buy a printed copy, if you like to read on paper). Much of the GCC Svn Wiki may be helpful.

One extra note: you can check out the tree as of a certain date with a command like this:

$ svn update --revision {2006-08-01}
(You can also give precise times, or use revision numbers rather than dates, etc. The Subversion documentation explains in detail.)

A brief explanation of how TeX Live and its components are built and staged is available separately.

P.S. Subversion creates a .svn subdirectory in each directory of your checkout. It has a copy of the original files from the repository. Don't delete .svn or touch anything in it - nothing will work if it is tampered with.


$Date: 2009/02/05 23:53:13 $; TeX Live;
TUG home page; contact webmaster; (via DuckDuckGo)