Inside the Working Copy Administration Area

As we mentioned earlier, each directory of a Subversion working copy contains a special subdirectory called .svn that houses administrative data about that working copy directory. Subversion uses the information in .svn to keep track of things such as:

  • Which repository location(s) are represented by the files and subdirectories in the working copy directory

  • Which revision of each of those files and directories is currently present in the working copy

  • Any user-defined properties that might be attached to those files and directories

  • Pristine (unedited) copies of the working copy files

The Subversion working copy administration area’s layout and contents are considered implementation details not really intended for human consumption. Developers are encouraged to use Subversion’s public APIs, or the tools that Subversion provides, to access and manipulate the working copy data, instead of directly reading or modifying those files. The file formats employed by the working copy library for its administrative data do change from time to time—a fact that the public APIs do a great job of hiding from the average user. In this section, we expose some of these implementation details sheerly to appease your overwhelming curiosity.

The Entries File

Perhaps the single most important file in the .svn directory is the entries file. It contains the bulk of the administrative information about the versioned items in a working copy directory. This one file tracks ...

Get Version Control with Subversion, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.