Sparse Checkout

Sometimes you only need to check out certain parts of a directory tree. In this case, you can check out the top directory (using theCheck out action from the Repositories view) and then recursively update only the needed directories (using the Update action from the Working Copy view). Each directory then has a depth set to it, with four possible values:

  • Recursive (infinity) - Updates all descendant directories and files recursively.
  • Immediate children (immediates) - Updates the directory, including direct child directories and files, but does not populate the child directories.
  • File children only (files) - Updates the directory, including only child files without the child directories.
  • This folder only (empty) - Updates only the selected directory, without updating any children.

For some operations, you can use as depth the current depth registered on the directories from the working copy (the value Current depth). This is the depth value defined in a previous check out or update operation.

The sparse checked out directories are presented in the Working Copy view with a marker corresponding to each depth value, in the top left corner, as follows:

  • Recursive (infinity) - This is the default value and it is has no mark. The directory has no limiting depth.
  • Immediate children (immediates) - The directory is limited to direct child directories (without contents) and files.
  • File children only (files) - The directory is limited to direct child files only.
  • This folder only (empty) - The directory has empty depth set.

A depth set on a directory means that some operations process only items within the specified depth range. For example, Synchronize on a working copy directory reports the repository modified items within the depth set on the directory and those existing in the working copy outside of this depth.

The depth information is also presented in the SVN Information dialog box and in the tool tip displayed when hovering a directory in the Working Copy view.