Track Changes in LaTeX Documents using Subversion

I love LaTeX and use it for most of the documents I produce. However, there is one feature I was missing from Word, which is the ability to track changes when co-authoring documents. I found the solution to this problem in Subversion, a version control system.
The intended audience for this software is programmers who have to work as a team on the source code of a program. Since tex files
are basically source code, Subversion works great with LaTeX.

The basics

Subversion works as a client/server architecture. The server contains repositories and is the keeper of the files. Each client can checkout files to work on and then commit the changes back to the server when he is done. If two or more clients are working at the same time, the last one to commit will have to decide what to do with the differences. The nice thing is that the Subversion server keeps track of all changes made, so you can go back in time to any previous version easily (this is even better than what you can do with word.

What you need

You will need a server and a client. You can install a server on your own computer, but the easiest way is to use a hosted solution.
Beanstalk is a Subversion hosting service that has a free plan for up to 3 users and 100MB, plus their documentation is great to help you get started. For the client, on Windows the best (and free) alternative is TortoiseSVN and it integrates well with Windows Explorer. On Mac OS, I personally use Version which is shareware, but there are also free command line tools available from openCollabNet.

To learn more about Subversion, the book Version Control with Subversion is available for free online.


Version Control with Subversion

C. Michael Pilato. O’Reilly Media 2008, Paperback, 432 pages, $23.38

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • StumbleUpon
  • LinkedIn
  • MySpace
  • Twitter

One Response to “Track Changes in LaTeX Documents using Subversion”

  1. You can use xp-dev.com http://xp-dev.com for hosting your project using subversion as well

Leave a Reply