git-annex matchexpression - checks if an expression matches


git annex matchexpression expression [data]


This plumbing-level command is given a preferred content expression, and some data, and checks if the expression matches the data. It exits 0 if it matches, and 1 if not. If not enough data was provided, it displays an error and exits with special code 42.

For example, this will exit 0:

git annex matchexpression "include=*.png and largerthan=1mb" --file=foo.png --size=10mb


  • --file=

    Provide the filename to match against. Note that the file does not have to actually exist on disk.

  • --size=

    Tell what the size of the file is. The size can be specified with any commonly used units, for example, "0.5 gb" or "100 KiloBytes".

  • --key=

    Tell what key is being matched against. This is needed for matching expressions like "copies=N" and "metadata=tag=foo" and "present", which all need to look up the information on file for a key.

    Many keys have a known size, and so --size is not needed when specifying such a key.

  • --largefiles

    Parse the expression as an annex.largefiles expression, rather than a preferred content expression.

  • --mimetype=

    Tell what the mime type of the file is. Only needed when using --largefiles with a mimetype= expression.

  • --mimeencoding=

    Tell what the mime encoding of the file is. Only needed when using --largefiles with a mimeencoding= expression.





Joey Hess

Warning: Automatically converted into a man page by mdwn2man. Edit with care.