cachedir

Crates.iocachedir
lib.rscachedir
version0.3.1
sourcesrc
created_at2017-03-12 20:38:34.839792
updated_at2023-12-01 02:29:03.898886
descriptionA library to help interacting with cache directories and CACHEDIR.TAG files.
homepage
repositoryhttps://github.com/jstasiak/cachedir
max_upload_size
id8951
size25,183
Jakub Stasiak (jstasiak)

documentation

README

cachedir

crates.io CI codecov

A Rust library and a CLI tool to help interacting with cache directories and CACHEDIR.TAG files as defined in Cache Directory Tagging Specification.

You can find the library documentation on docs.rs.

To install the CLI tool run cargo install cachedir. To see what options are available run cachedir --help. Only one subcommand, is-tagged, is implemented right now. It allows checking if a directory is tagged with CACHEDIR.TAG (prints the relevant information to stderr and sets an appropriate exit-code: 0 for true, 1 for false, 2 for an error):

~/projects/cachedir% ls -lah target 
total 16
drwxr-xr-x@  6 user  staff   192B Dec 10 17:02 ./
drwxr-xr-x  10 user  staff   320B Dec 10 17:16 ../
-rw-r--r--   1 user  staff   1.4K Dec 12 21:52 .rustc_info.json
-rw-r--r--   1 user  staff   177B Dec 10 15:52 CACHEDIR.TAG
drwxr-xr-x  13 user  staff   416B Dec 12 21:47 debug/
drwxr-xr-x@  5 user  staff   160B Dec 10 17:02 rls/

~/projects/cachedir% cat target/CACHEDIR.TAG 
Signature: 8a477f597d28d172789f06886806bc55
# This file is a cache directory tag created by cargo.
# For information about cache directory tags see https://bford.info/cachedir/


~/projects/cachedir% cachedir is-tagged does-not-exist
No such file or directory (os error 2)
% echo $?
2

~/projects/cachedir% cachedir is-tagged .             
. is not tagged with CACHEDIR.TAG
~/projects/cachedir% echo $?                                 
1

~/projects/cachedir% cachedir is-tagged target
target is tagged with CACHEDIR.TAG
~/projects/cachedir% echo $?
0

Versions 0.1.0 and 0.1.1 of this crate on crates.io are actually distributions of a different, abandonded project by Lilian Anatolie Moraru. Credits to Lilian for transferring the name to me.

Commit count: 29

cargo fmt