DOKK / manpages / debian 11 / git-annex / git-annex-examinekey.1.en
git-annex-examinekey(1) General Commands Manual git-annex-examinekey(1)

git-annex-examinekey - prints information from a key

git annex examinekey [key ...]

This plumbing-level command is given a key, and prints information that can be determined purely by looking at the key.

Use custom output formatting.
The value is a format string, in which '${var}' is expanded to the value of a variable. To right-justify a variable with whitespace, use '${var;width}' ; to left-justify a variable, use '${var;-width}'; to escape unusual characters in a variable, use '${escaped_var}'
To generate a path from the top of the repository to the git-annex object for a key, use ${objectpath}. To generate the value of a git-annex pointer file for a key, use ${objectpointer}.
These variables are also available for use in formats: ${key}, ${backend}, ${bytesize}, ${humansize}, ${keyname}, ${hashdirlower}, ${hashdirmixed}, ${mtime} (for the mtime field of a WORM key), ${file} (when a filename is provided to examinekey).
Also, '\n' is a newline, '\000' is a NULL, etc.
Enable JSON output. This is intended to be parsed by programs that use git-annex. Each line of output is a JSON object.
Messages that would normally be output to standard error are included in the json instead.
Attempt to migrate the input key to the new backend specified. If successful, outputs information about the migrated key. Otherwise, outputs information about the input key.
This only does fast migrations; it will not re-hash the content of a key or similar expensive operation.
One way to use it is to add an extension to a key.

git-annex examinekey SHA256--xxx --migrate-to-backend=SHA256E --filename=foo.tar.gz
Or to remove the extension from a key:

git-annex examinekey SHA256E-xxx.tar.gz --migrate-to-backend=SHA256
The name of a file associated with the key, eg a work tree file. It does not need to exist. This is needed when using --migrate-to-backend to add an extension to the key.
Enable batch mode, in which a line containing a key is read from stdin, the information about it is output to stdout, and repeat.
In order to also provide the name of a file associated with the key, the line can be in the format "$key $file"

git-annex(1)

Joey Hess <id@joeyh.name>