git-annex/doc/git-annex-common-options.mdwn
Joey Hess 3ce2e95a5f
balanced preferred content and --rebalance
This all works fine. But it doesn't check repository sizes yet, and
without repository size checking, once a repository gets full, there
will be no other repository that will want its files.

Use of sha2 seems unncessary, probably alder2 or md5 or crc would have
been enough. Possibly just summing up the bytes of the key mod the number
of repositories would have sufficed. But sha2 is there, and probably
hardware accellerated. I doubt very much there is any security benefit
to using it though. If someone wants to construct a key that will be
balanced onto a given repository, sha2 is certianly not going to stop
them.
2024-08-09 14:16:09 -04:00

161 lines
4.8 KiB
Markdown

# NAME
git-annex-common-options - options supported by many git-annex commands
# DESCRIPTION
These common options are accepted by many git-annex commands, and
may not be explicitly listed on their individual man pages.
Most of these options are accepted by all git-annex commands.
(Many commands also accept the [[git-annex-matching-options]](1).)
# OPTIONS
* `--force`
Force unsafe actions, such as dropping a file's content when no other
source of it can be verified to still exist, or adding ignored files.
Use with care.
* `--fast`
Avoid some expensive operations normally performed by a command.
What is avoided depends on the command, see individual command's man
pages for details.
* `--quiet`
Avoid the default verbose display of what is done; only show errors.
* `--verbose`
Enable verbose display. On by default but can be disabled by --quiet.
* `--explain`
Display explanations of what git-annex takes into account when deciding
what to do. The explanations will be inside square brackets.
For example, "[foo is not present here]"
This includes explanations of why preferred content expressions and
other similar expressions like annex.largefiles match or fail to match.
In these explanations, the expression is displayed, with each term
followed by "[TRUE]" or "[FALSE]" to indicate the value.
Irrelevant terms will be ommitted from the explanation, for example
`"exclude=* and copies=1"` will be displayed as `"exclude=*[FALSE]"`
* `--debug`
Display debug messages to standard error.
* `--no-debug`
Disable display of debug messages.
* `--debugfilter=name[,name..]`
When debug message display has been enabled by `--debug`, this filters
the debug messages that are displayed to ones coming from modules with
the specified names.
To find the names of modules, see the full debug output, which includes
the module name, eg "(Utility.Process)"
The full module name does not need to be
specified when using this, a substring of the name will do.
For example, `--debugfilter=Process,External` will display debugging
output when git-annex runs processes, and when it communicates with
external special remotes.
* `--numcopies=n`
Overrides the numcopies setting.
* `--mincopies=n`
Overrides the mincopies setting.
* `--rebalance`
Changes the behavior of the "balanced" preferred content expression
to be the same as "fullbalanced". When that expression is used,
this can cause a lot of work to be done to rebalance repositories.
* `--time-limit=time`
Limits how long a git-annex command runs. The time can be something
like "5h", or "30m" or even "45s" or "10d".
Note that git-annex may continue running for some time past the specified
time limit, in order to finish processing files it started before the
time limit was reached. That and a cleaner shutdown are the differences
between using this option and a command like `timeout(1)`.
When the time limit prevents git-annex from doing all it
was asked to, it will exit with a special code, 101.
* `--size-limit=size`
Limits the total size of annexed files that a git-annex command
can process.
The size can be specified with any commonly used units, for example,
"50gb".
In some cases, an annexed file's size is not known. This option will
prevent git-annex from processing such files.
When the size limit prevents git-annex from acting on any files,
it will exit with a special code, 101.
* `--semitrust=repository`
* `--untrust=repository`
Overrides trust settings for a repository. May be specified more than once.
The repository should be specified using the name of a configured remote,
or the UUID or description of a repository.
* `--trust=repository`
This used to override trust settings for a repository, but now will
not do so, because trusting a repository can lead to data loss,
and data loss is now only enabled when using the `--force` option.
* `--trust-glacier`
This used to override trust settings for Glacier special remotes,
but now will not do so, because it could lead to data loss,
and data loss is now only enabled when using the `--force` option.
* `--user-agent=value`
Overrides the User-Agent to use when downloading files from the web.
* `--notify-finish`
Caused a desktop notification to be displayed after each successful
file download and upload.
(Only supported on some platforms, e.g. Linux with dbus. A no-op when
not supported.)
* `--notify-start`
Caused a desktop notification to be displayed when a file upload
or download has started, or when a file is dropped.
* `-c name=value`
Overrides git configuration settings. May be specified multiple times.
# SEE ALSO
[[git-annex]](1)
# AUTHOR
Joey Hess <id@joeyh.name>
Warning: Automatically converted into a man page by mdwn2man. Edit with care.