
Honor annex.addunlocked configuration when importing a tree from a special remote. Note, in a --no-content import, the object file will not be populated (usually) and so expressions that match on mime type will not match. Tested this and it works ok, the file just ends up locked. Updated docs for the mime expressions to mention that they can't match when the file is present Note that in Command.Sync.pullThirdPartyPopulated, recordImportTree is called without a AddUnlockedMatcher. Since the tree generated here is not exposed to the user and does not contain usual filenames, there is no need of the overhead of checking it.
100 lines
2.6 KiB
Markdown
100 lines
2.6 KiB
Markdown
# NAME
|
|
|
|
git-annex-matching-expression - specifying a set of files
|
|
|
|
# DESCRIPTION
|
|
|
|
The annex.largefiles and annex.addunlocked configurations both use
|
|
expressions that match some files in the working tree.
|
|
|
|
# SYNTAX
|
|
|
|
The format of these expressions is similar to
|
|
[[git-annex-preferred-content]](1) expressions.
|
|
|
|
For example:
|
|
|
|
largerthan=100kb and not (include=*.c or include=*.h)
|
|
|
|
This matches large files, but excludes C source files.
|
|
|
|
The following terms can be used:
|
|
|
|
* `include=glob` / `exclude=glob`
|
|
|
|
Specify files to include or exclude.
|
|
|
|
The glob can contain `*` and `?` to match arbitrary characters.
|
|
|
|
Note that this matches on the whole filename, relative to the top
|
|
of the git directory. So, `include=foo` will include a file `foo`
|
|
in the top, but not `subdir/foo`. To include both, use
|
|
`include=foo or include=*/foo`
|
|
|
|
* `smallerthan=size` / `largerthan=size`
|
|
|
|
Matches only files smaller than, or larger than the specified size.
|
|
|
|
The size can be specified with any commonly used units, for example,
|
|
"0.5 gb" or "100 KiloBytes"
|
|
|
|
* `mimetype=glob`
|
|
|
|
Looks up the MIME type of a file, and checks if the glob matches it.
|
|
|
|
For example, `"mimetype=text/*"` will match many varieties of text files,
|
|
including "text/plain", but also "text/x-shellscript", "text/x-makefile",
|
|
etc.
|
|
|
|
The MIME types are the same that are displayed by running `file --mime-type`
|
|
|
|
This only matches when the content of the file is present in the local
|
|
repository. Usually that is the case, but eg, when importing from a
|
|
special remote with --no-content, the content is usually not present.
|
|
|
|
This is only available to use when git-annex was built with the
|
|
MagicMime build flag.
|
|
|
|
* `mimeencoding=glob`
|
|
|
|
Looks up the MIME encoding of a file, and checks if the glob matches it.
|
|
|
|
For example, `"mimeencoding=binary"` will match many kinds of binary
|
|
files.
|
|
|
|
The MIME encodings are the same that are displayed by running `file --mime-encoding`
|
|
|
|
This only matches when the content of the file is present in the local
|
|
repository. Usually that is the case, but eg, when importing from a
|
|
special remote with --no-content, the content is usually not present.
|
|
|
|
This is only available to use when git-annex was built with the
|
|
MagicMime build flag.
|
|
|
|
* `anything`
|
|
|
|
Matches any file.
|
|
|
|
* `nothing`
|
|
|
|
Matches no files. (Same as "not anything")
|
|
|
|
* `not expression`
|
|
|
|
Inverts what the expression matches.
|
|
|
|
* `and` / `or` / `( expression )`
|
|
|
|
These can be used to build up more complicated expressions.
|
|
|
|
# SEE ALSO
|
|
|
|
[[git-annex]](1)
|
|
|
|
# AUTHOR
|
|
|
|
Joey Hess <id@joeyh.name>
|
|
|
|
<http://git-annex.branchable.com/>
|
|
|
|
Warning: Automatically converted into a man page by mdwn2man. Edit with care.
|