git-annex/doc/git-annex-examinekey.mdwn
Joey Hess 4d6c918eff
avoid quoting spaces in git-annex find output to terminal
That's too much quoting, the user expects the filename to be copy and
pasteable. It would be ok to slash-escape space ('\ ')
which is what gnu find does, but it doesn't seem necessary either.

${escaped_file} has always quoted spaces though, so keep on doing it
there.

Sponsored-by: Nicholas Golder-Manning on Patreon
2023-04-26 00:18:30 -04:00

91 lines
2.7 KiB
Markdown

# NAME
git-annex examinekey - prints information from a key
# SYNOPSIS
git annex examinekey `[key ...]`
# DESCRIPTION
This plumbing-level command is given a key, and prints information
that can be determined purely by looking at the key.
# OPTIONS
* `--format=value`
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 (including control 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.
The default output format is the same as `--format='${escapedkey}\\n'`
except when outputting to a terminal, control characters will be escaped.
* `--json`
Enable JSON output. This is intended to be parsed by programs that use
git-annex. Each line of output is a JSON object.
* `--json-error-messages`
Messages that would normally be output to standard error are included in
the JSON instead.
* `--migrate-to-backend=backend`
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
* `--filename=name`
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.
* `--batch`
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"
* Also the [[git-annex-common-options]](1) can be used.
# SEE ALSO
[[git-annex]](1)
# AUTHOR
Joey Hess <id@joeyh.name>
Warning: Automatically converted into a man page by mdwn2man. Edit with care.