Provided by: git-annex_8.20200226-1_amd64 bug


       git-annex-fsck - find and fix problems


       git annex fsck [path ...]


       With  no  parameters, this command checks the whole annex for consistency, and warns about
       or fixes any problems found. This is a good complement to git fsck.

       With parameters, only the specified files are checked.



              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

              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.

              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

              Override the normally configured number of copies.

              To  verify  data  integrity  only while disregarding required number of copies, use

       --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.

              Operate on files in the specified branch or treeish.

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

              Use this option to fsck a specified key.

       file matching options
              The git-annex-matching-options(1) can be used to specify files 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.

              Messages that would normally be output to standard error are included in  the  json






       Joey Hess <>