0e4fc0f399
I got bitten several times in the past by the fact that local preferred content expressions are not violated (even temporarily) in order to satisfy numcopies or other remotes' preferred content expressions. Mostly in the form of the local repo not allowing arbitrary files in (e.g. because it's set to only want `present` files). This note I add here explains how to get out of this situation with `approxlackingcopies=1`. It might be too specific for this manpage, but I didn't find a better place to put it.
79 lines
2.4 KiB
Markdown
79 lines
2.4 KiB
Markdown
# NAME
|
|
|
|
git-annex satisfy - transfer and drop content as configured
|
|
|
|
# SYNOPSIS
|
|
|
|
git annex satisfy `[remote ...]`
|
|
|
|
# DESCRIPTION
|
|
|
|
This transfers and drops content of annexed files to work toward satisfying
|
|
the preferred content settings of the local repository and remotes.
|
|
|
|
It does the same thing as `git-annex sync --content` without the pulling
|
|
and pushing of git repositories, and without changing the trees that are
|
|
imported to or exported from special remotes.
|
|
|
|
Note that it (like [[git-annex-sync]] or [[git-annex-assist]]) does not work
|
|
specifically towards satisfying the [[git-annex-numcopies]] setting and it will
|
|
not violate the local preferred content expression in order to move files
|
|
between remotes that are not present locally. To allow for files to be present
|
|
locally for such a movement between remotes, consider adding `or
|
|
approxlackingcopies=1` to your local [[preferred_content]] expression (and
|
|
maybe increasing [[git-annex-numcopies]] accordingly) so that files may pass
|
|
through your local repo temporarily. Otherwise, `git annex satisfy` does not
|
|
see a pathway for files to pass between other remotes.
|
|
|
|
# OPTIONS
|
|
|
|
* `[remote]`
|
|
|
|
By default this command operates on all remotes, except for remotes
|
|
that have `remote.<name>.annex-sync` set to false.
|
|
|
|
By specifying the names of remotes (or remote groups), you can control
|
|
which ones to operate on.
|
|
|
|
* `--content-of=path` `-C path`
|
|
|
|
Operate on only files in the specified path. The default is to operate on
|
|
all files in the working tree.
|
|
|
|
This option can be repeated multiple times with different paths.
|
|
|
|
Note that this option is ignored when syncing with "exporttree=yes"
|
|
remotes.
|
|
|
|
* `--jobs=N` `-JN`
|
|
|
|
Enables parallel processing with up to the specified number of jobs
|
|
running at once. For example: `-J10`
|
|
|
|
Setting this to "cpus" will run one job per CPU core.
|
|
|
|
* `--all` `-A`
|
|
|
|
Usually this command operates on annexed files in the current branch.
|
|
This option makes it operate on all available versions of all annexed files
|
|
(when preferred content settings allow).
|
|
|
|
Note that preferred content settings that use `include=` or `exclude=`
|
|
will only match the version of files currently in the work tree, but not
|
|
past versions of files.
|
|
|
|
* Also the [[git-annex-common-options]](1) can be used.
|
|
|
|
# SEE ALSO
|
|
|
|
[[git-annex]](1)
|
|
|
|
[[git-annex-sync]](1)
|
|
|
|
[[git-annex-preferred-content]](1)
|
|
|
|
# AUTHOR
|
|
|
|
Joey Hess <id@joeyh.name>
|
|
|
|
Warning: Automatically converted into a man page by mdwn2man. Edit with care.
|