This documentation was written to describe Subversion 1.1. If you are running a newer version of Subversion, we strongly suggest that you visit http://www.svnbook.com/ and consult the version of this book appropriate for your version of Subversion.

New in Subversion 1.1

This edition of the book has been updated to cover new features and behavioral changes in Subversion 1.1. Here's a brief list of pointers to major 1.1 changes.

Non-database repositories

It's now possible to create repositories that don't use a BerkeleyDB database. Instead, these new repositories store data in the ordinary filesystem using a custom file format. These repositories aren't susceptible to “wedging”, but also aren't as well-tested as Berkeley DB repositories. See the section called “Repository Data-Stores”.

Symbolic link versioning

Unix users can now create symbolic links and place them under version control with the svn add command. See svn add and the section called “svn:special”.

Client follows copies and renames

Branches (copies) of files and directories maintain historical connections to their source, but in Subversion 1.0 only svn log ever followed that copy/rename history, not other commands like svn diff, svn merge, svn list, or svn cat. In Subversion 1.1, all client subcommands now transparently trace backwards through copies and renames when examining older versions of files and directories.

Client auto-escaping of URIs and IRIs

In the 1.0 command-line client, users had to escape URLs manually. The client only accepted “legally correct” URLs, such as http://host/path%20with%20space/project/espa%F1a. The 1.1 command-line client now knows how to do what web-browsers have been doing for long time: it auto-escapes characters like spaces and accented letters, as long as the user places the URL in quotes to protect characters from the shell: "http://host/path with space/project/españa"

Localized user messages

Subversion 1.1 is now using gettext() to display translated error, informational, and help messages to the user. There are currently translations for German, Spanish, Polish, Swedish, Traditional Chinese, Japanese, Brazilian Portuguese and Norwegian Bokmal. To localize your Subversion client, just set your shell's LANG environment variable to a supported locale value (for example, de_DE).

Shareable working copies

There have been historical problems with permissions when multiple users share a working copy, which are believed to be fixed now.

store-passwords run-time variable

This is a new runtime variable which only disables password caching, so that server certificates can still be cached. See the section called “Config”.

Optimizations and bug fixes

The svn checkout, svn update, svn status, and svn blame commands are faster. More than fifty small bugs have been fixed, all described in the Subversion project's CHANGES file (at http://svn.collab.net/repos/svn/trunk/CHANGES ).

New command switches