Chapter 10. Depot Management

Table of Contents

What is the depot?
Multiple depots
The default depot
Named depots
Why use multiple depots?
Why not use multiple depots?
General depot manipulation
Listing depots
Detaching depots
Relocating depots
Advanced depot administration

This chapter goes into greater depth about the depot. It explains what depots are, and how you manage them and how you can best make use of them.

The primary focus of this chapter is the depotmap command, and is best read with reference to svk depotmap.

What is the depot?

As you will already know, a depot is SVK's primary storage area. It is the place from which all of your code is checked out, and to where you commit your changes and mirror other repositories. Up to this point this book has intentionally kept the inner workings of the depot away from the reader, as they are not essential to using SVK for most tasks, and would undoubtedly confuse the new user unnecessarily.

However, knowing more about how depots work and how to manage them can be of use to all users of SVK in terms of flexibility, and can help the reader gain a deeper understanding of SVK; beyond the basics.

As was explained in the section called “The Depot” depot is simply a Subversion repository, which can be located anywhere in the filesystem. The Subversion file system used for this repository is defined by the $SVNFSTYPE environment variable. If $SVNFSTYPE is not set, the file system is determined by the version of the Subversion client installed (fsfs for version 1.1 and newer, bdb for older versions of Subversion).

Outside of this Subversion repository, SVK also keeps higher-level information about the depot in the $SVKROOT/config file. The two key pieces of information stored about a depot are:

DEPOTNAME

The DEPOTNAME is a symbolic name give to the depot which makes up a part of the DEPOTPATHs that you pass to SVK commands.

REPOPATH

The REPOPATH is the full absolute path to the Subversion repository itself.