summaryrefslogtreecommitdiff
path: root/doc/walkthrough/fsck__58___verifying_your_data.mdwn
blob: 2400146108207346e8cbefecb96d0a8b2f1033fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
You can use the fsck subcommand to check for problems in your data. What
can be checked depends on the key-value [[backend|backends]] you've used
for the data. For example, when you use the SHA1 backend, fsck will verify
that the checksums of your files are good. Fsck also checks that the
[[numcopies|copies]] setting is satisfied for all files.

	# git annex fsck
	fsck some_file (checksum...) ok
	fsck my_cool_big_file (checksum...) ok
	...

You can also specify the files to check.  This is particularly useful if 
you're using sha1 and don't want to spend a long time checksumming everything.

	# git annex fsck my_cool_big_file
	fsck my_cool_big_file (checksum...) ok

If you have a large repo, you may want to check it in smaller steps. You may
start and continue an aborted or time-limited check.

	# git annex fsck -S <optional-directory> --time-limit=1m
	fsck some_file (checksum...) ok
	fsck my_cool_big_file (checksum...) ok
	
	  Time limit (1m) reached!

	# git annex fsck -m <optional-directory>
	fsck my_other_big_file (checksum...) ok
	...

Use `-S` or `--incremental` to start the incremental check. Use `-m` 
or `--more` to continue the started check and continue where it left 
off. Note that saving the progress of `fsck` is performed after every 
1000 files or 5 minutes or when `--time-limit` occours. There may be 
files that will be checked again when `git-annex` exists abnormally 
eg. Ctrl+C and the check is restarted.