git‐annex‐fsck − find and fix problems

git annex fsck [path ...]

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.


     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

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

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

     Resume the last incremental fsck pass, where it left

     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

     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.

     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.

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




Joey Hess <>