ca-store/doc/man/ca-store.1.scd
hylodon d2016d1863 Add user documentation
Add a manpage for ca-store. Additionally, modify the 'file verify'
command to behave exactly as the manpage mentions. This commit
required me to break a cycle caused by having CAStore.Type.Text
imported by CAStore.Type.
2025-09-22 15:18:36 +01:00

73 lines
2.4 KiB
Markdown

ca-store(1)
# NAME
ca-store - A simple content-addressable store with tagging support
# SYNOPSIS
*ca-store* [opts] store [command..]
# OPTIONS
## File commands
*file* *add* [file..]
Adds the given files to the store and returns the ids of these files,
one per line. The ids will be returned in the same order that the files
are given on the command line. This command is idempotent.
*file* *remove* [id..]
Remove the files from the store. This command is permanent, so it is
recommended to make a backup of the file. Also consider making a copy
of its tags as well with the *tag* *show* command.
*file* *verify* [id..]
Recalculate the ids of every id given to ensure they still match. Any
corrupted file will have its id printed to standard output.
## Tag commands
*tag* *add* id tag [tag..]
Add all of the given tags to the file referenced by 'id'.
*tag* *remove* id tag [tag..]
Remove all the given tags from the file referenced by 'id'. No error
will be raised if you attempt to remove a non-existent tag.
*tag* *show* id
Show all tags assigned to the file referenced by 'id'. No error will
be raised if you attempt to reference a non-existent file.
*tag* *super* *add* supertag [subtag..]
Declare the first tag to be a supertag to all other given tags. A
supertag is a tag that is automatically implied by any of its subtags.
A supertag cannot be a subtag of any of its subtags. *ca-store* will
silently ignore any attempt to make an infinite cycle of tags.
*tag* *super* *remove* supertag [subtag..]
Remove the supertag relationship between the supertag and its subtags.
If you wish for certain files to keep their supertags and not others,
manually add the supertag with the *tag* *add* command before running
*tag* *super* *remove*.
*tag* *super* *show* supertag
Show all subtags of the given supertag. If the given tag isn't a
supertag then nothing will be displayed.
*tag* *sub* *add* subtag [supertag..]
Declare the first tag to be a subtag to all other given tags. A subtag
is a tag that automatically implies any supertags.
A subtag cannot be a supertag of any of its supertags. *ca-store* will
silently ignore any attempt to make an infinite cycle of tags.
*tag* *sub* *remove* subtag [supertag..]
Remove the subtag relationship between the subtag and its supertags.
*tag* *sub* *show* subtag
Show all supertags of the given subtag. If the given tag isn't a
subtag then nothing will be displayed.