Provided by: git-annex_10.20250416-2ubuntu1_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, clearing records of all files that were checked in the previous
              incremental fsck pass.

       --more Skip files that were checked since the last incremental fsck pass was started.

              Note that before --incremental is used to start an incremental fsck pass, files that  are  checked
              are still recorded, and using this option will skip checking those files again.

              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, so if an incremental fsck
              is interrupted using eg ctrl-c, it will recheck files that didn't get into 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)