fsck --from

Fscking a remote is now supported. It's done by retrieving
the contents of the specified files from the remote, and checking them,
so can be an expensive operation.

(Several optimisations are possible, to speed it up, of course.. This is
the slow and stupid remote fsck to start with.)

Still, if the remote is a special remote, or a git repository that you
cannot run fsck in locally, it's nice to have the ability to fsck it.

If you have any directory special remotes, now would be a good time to
fsck them, in case you were hit by the data loss bug fixed in the
previous release!
This commit is contained in:
Joey Hess 2012-01-19 15:24:05 -04:00
parent d36525e974
commit 90319afa41
8 changed files with 131 additions and 44 deletions

View file

@ -15,6 +15,7 @@ import Annex.Content
import qualified Remote
import Annex.UUID
import qualified Option
import Logs.Presence
def :: [Command]
def = [withOptions options $ command "move" paramPaths seek
@ -97,7 +98,7 @@ toPerform dest move key = moveLock move key $ do
Right True -> finish
where
finish = do
Remote.logStatus dest key True
Remote.logStatus dest key InfoPresent
if move
then do
whenM (inAnnex key) $ removeAnnex key