summaryrefslogtreecommitdiff
path: root/doc/tips/recover_data_from_lost+found.mdwn
blob: 48ef2a1d73cef5584ec4ab80e4ece0c4ef23c250 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Suppose something goes wrong, and fsck puts all the files in lost+found.
It's actually very easy to recover from this disaster.

First, check out the git repository again. Then, in the new checkout:

	$ mkdir recovered-content
	$ sudo mv ../lost+found/* recovered-content
	$ sudo chown you:you recovered-content
	$ chmod -R u+w recovered-content
	$ git annex add recovered-content
	$ git rm recovered-content
	$ git commit -m "recovered some content"
	$ git annex fsck

The way that works is that when git-annex adds the same content that was in
the repository before, all the old links to that content start working
again. This works particularly well if the SHA* backends are used, but even
with the default backend it will work pretty well, as long as fsck
preserved the modification time of the files.