Recheck

Rechecking in Xvc corresponds to checking out a file in cache to the repository. It might also be called checkout.

We use the term recheck to avoid confusion with the checkout command in git. In git, checkout is used to switch between branches, and to restore files from the repository to the workspace. In Xvc, recheck is used to restore files from the cache to the repository.

You may want to recheck a file for various purposes. It may be for data files that will mostly be read, or output files that will mostly be written. Correspondingly a recheck can be in various types: copy makes a copy of the cached file in the repository, symlink creates a read-only symbolic link, hardlink makes a read-only hardlink, and on supporting file systems, reflink creates a writable copy-on-write copy that shares data blocks with the cached file until it is modified.