git-annex-common-options(1)

๐Ÿ“ฆ
version 10.20261026 ยท 3 versions
, in alpine 3.24, arch rolling, debian trixie, epel 10, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

๐Ÿ’– git-annex-common-options ๐Ÿ’–

okay bestie, welcome to the git-annex-common-options(1) page from the git-annex general commands manual โœจ this is the lore drop for all the flags that a whole bunch of git-annex commands just quietly accept, no cap ๐Ÿซถ


๐ŸŒธ NAME ๐ŸŒธ

git-annex-common-options โ€” options supported by many git-annex commands ๐Ÿ‘‘


โœจ DESCRIPTION โœจ

so like, these common options are accepted by many git-annex commands, and they might not even be listed on those commands' own individual man pages. sneaky? a little. iconic? absolutely. ๐Ÿ’…

Most of these options are accepted by all git-annex commands. and psst โ€” many commands also accept the git-annex-matching-options(1) too, so go read that one next, iykyk ๐Ÿฆ‹


๐ŸŽ€ OPTIONS ๐ŸŽ€

  • --force โ€” forces unsafe actions through, like dropping a file's content when no other source of it can be verified to still exist, or adding ignored files. use with care, fr fr ๐Ÿ˜ญ
bestie this one is literally the "danger" button. respect it. ๐Ÿ™ˆ
  • --fast โ€” skips some expensive operations that a command would normally do. exactly which stuff gets skipped depends on the command, so check that command's own man page for the deets. โšก
  • --quiet โ€” skips the default verbose display of what's being done, and only shows errors. minimalism era. ๐Ÿคซ
  • --verbose โ€” turns on the verbose display. it's on by default, but --quiet can turn it off. ๐Ÿ—ฃ๏ธ
  • --explain โ€” shows you the explanations of what git-annex is taking into account when it decides what to do. the explanations show up inside square brackets, like this: "[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 those explanations, the expression gets displayed with each term followed by [TRUE] or [FALSE] to show the value. irrelevant terms get omitted from the explanation โ€” for example, "exclude=* and copies=1" will be displayed as "exclude=*[FALSE]". the receipts!! ๐Ÿงพโœจ

  • --debug โ€” displays debug messages to standard error. ๐Ÿ›
  • --no-debug โ€” disables the display of debug messages. ๐Ÿšซ๐Ÿ›
  • --debugfilter=name[,name..] โ€” once debug message display has been enabled with --debug, this filters the debug messages down to the ones coming from modules with the names you specify. ๐ŸŽฏ

to find the names of modules, look at the full debug output โ€” it includes the module name, eg "(Utility.Process)".

you don't need to type the full module name when using this, a substring of the name will do. so chill.

for example, --debugfilter=Process,External will display debugging output when git-annex runs processes, and when it communicates with external special remotes. obsessed with the precision tbh ๐Ÿ’…

  • --numcopies=n โ€” overrides the numcopies setting. ๐Ÿ”ข
  • --mincopies=n โ€” overrides the mincopies setting. ๐Ÿ”ข
  • --rebalance โ€” changes the behavior of the "balanced" preferred content expression so it's the same as "fullbalanced", and the "sizebalanced" expression so it's the same as "fullsizebalanced". when those expressions get used, this can cause a lot of work to be done to rebalance repositories. like, a LOT lot. ๐Ÿ˜ฎโ€๐Ÿ’จ
  • --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 keep running for some time past the specified time limit, in order to finish processing files it started before the time limit was reached. that, plus 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 โ€” and the next one share a description, scroll down bestie ๐Ÿ‘‡
  • --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 it 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. so yeah, this one's a glow-down, sorry babe ๐Ÿ’€
  • --trust-glacier โ€” this used to override trust settings for Glacier special remotes, but now it will not do so, because it could lead to data loss, and data loss is now only enabled when using the --force option. same energy as above, the plot twist nobody asked for ๐Ÿ˜ญ
  • --user-agent=value โ€” overrides the User-Agent to use when downloading files from the web, or otherwise accessing web services. ๐Ÿ•ธ๏ธ
  • --notify-finish โ€” causes 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. so if nothing pops up, it's not you, it's the platform ๐Ÿ’…)

  • --notify-start โ€” causes 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>


okay that's the whole thing, bestie, you ate that ๐Ÿ“๐Ÿ’œ and for the cute lil sign-off: this was the git-annex-common-options(1) page from the git-annex general commands manual, footer and all โ€” go forth and flag responsibly, mwah ๐ŸŽ€โœจ๐Ÿฆ‹