title: "cachedir
—cache directory tag management"
author: The Obnam project
bindings:
- lib/files.yaml
- lib/runcmd.yaml
- subplot.yaml impls: rust:
- subplot.rs ...
1 Introduction
The cachedir
utility manages tags for cache directories. A cache
directory tag is specified in Cache Directory Tagging
Specification, and is a file called CACHEDIR.TAG
, where the first
line consists of:
Signature: 8a477f597d28d172789f06886806bc55
Creating such files by hand is easy enough, but cachedir
makes it a
little easier.
Many backup programs recognize cache directory tags and can exclude such directories.
2 Data files for testing
We will use a dummy tag file for testing: something that is named
CACHEDIR.TAG
, but doesn't have the right contents.
This is not a cache directory tag.
3 Managing cache directories
Requirement: The tool must find cache directories, and add and remove tags as requested.
We should find no cache directories, if there aren't any.
When we create a directory, and a CACHEDIR.TAG
file with the wrong
contents, it's not a cache directory.
When we create an actual tag, the directory is found.
Finally, we should again find no cache directories if we remove that tag.