Provided by: git-annex_10.20230626-1_amd64 bug

NAME

       git-annex-fsck - find and fix problems

SYNOPSIS

       git annex fsck [path ...]

DESCRIPTION

       This  command  checks annexed files for consistency, and warns about or fixes any problems
       found. This is a good complement to git fsck.

       The default is to check all annexed files in the  current  directory  and  subdirectories.
       With parameters, only the specified files are checked.

       The  problems fsck finds include files that have gotten corrupted, files whose content has
       somehow become lost, files that do not have the configured number of copies yet made,  and
       keys that can be upgraded to a better format.

OPTIONS

       --from=remote

              Check a remote, rather than the local repository.

              Note that by default, files will be copied from the remote to check their contents.
              To avoid this expensive transfer, and only verify that the  remote  still  has  the
              files that are expected to be on it, add the --fast option.

       --fast Avoids  expensive  checksum  calculations  (and  expensive transfers when fscking a
              remote).

       --incremental
              Start a new incremental fsck pass. An incremental fsck can be  interrupted  at  any
              time, with eg ctrl-c.

       --more Resume the last incremental fsck pass, where it left off.

              Resuming  may redundantly check some files that were checked before. Any files that
              fsck found problems with before will be re-checked on resume. Also, checkpoints are
              made  every  1000  files  or every 5 minutes during a fsck, and it resumes from the
              last checkpoint.

       --incremental-schedule=time
              This makes a new incremental fsck be started only a specified time period after the
              last incremental fsck was started.

              The time is in the form "10d" or "300h".

              Maybe you'd like to run a fsck for 5 hours at night, picking up each night where it
              left off. You'd like this to continue until all files have been  fscked.  And  once
              it's  done,  you'd  like  a  new  fsck pass to start, but no more often than once a
              month. Then put this in a nightly cron job:

               git annex fsck --incremental-schedule 30d --time-limit 5h

       --numcopies=N
              Override the normally configured number of copies.

              To verify data integrity only while disregarding required  number  of  copies,  use
              --numcopies=1.

       --all -A
              Normally only the files in the currently checked out branch are fscked. This option
              causes all versions of all files to be fscked.

              This is the default behavior when running git-annex in a bare repository.

       --branch=ref
              Operate on files in the specified branch or treeish.

       --unused
              Operate on files found by last run of git-annex unused.

       --key=keyname
              Use this option to fsck a specified key.

       matching options
              The git-annex-matching-options(1) can be used to control what to fsck.

       --jobs=N -JN
              Runs multiple fsck jobs in parallel. For example: -J4

              Setting this to "cpus" will run one job per CPU core.

       --json Enable JSON output. This is intended to be parsed by programs that  use  git-annex.
              Each line of output is a JSON object.

       --json-error-messages
              Messages  that  would normally be output to standard error are included in the JSON
              instead.

       --quiet
              Like all git-annex commands, this option makes only error and warning  messages  be
              displayed.  This  is particularly useful with fsck, which normally displays all the
              files it's checking even when there is no problem with them.

       Also the git-annex-common-options(1) can be used.

SEE ALSO

       git-annex(1)

       git-annex-repair(1)

       git-annex-expire(1)

AUTHOR

       Joey Hess <id@joeyh.name>

                                                                                git-annex-fsck(1)