diff options
author | Joey Hess <joey@kitenet.net> | 2013-10-27 16:58:10 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-10-27 16:58:10 -0400 |
commit | 97e1009eb5d7b062d5cf0b6074b41cac0404bc01 (patch) | |
tree | 6523c9caebd49482d6746360e26950a2b325bc9a /doc | |
parent | be581a2722e78f8a2e59e5ca78a1090efc432307 (diff) |
devblog
Diffstat (limited to 'doc')
-rw-r--r-- | doc/design/assistant/disaster_recovery.mdwn | 2 | ||||
-rw-r--r-- | doc/devblog/day_44__automatic_removable_drive_repair.mdwn | 16 |
2 files changed, 18 insertions, 0 deletions
diff --git a/doc/design/assistant/disaster_recovery.mdwn b/doc/design/assistant/disaster_recovery.mdwn index 269be0fd8..4f72d96c3 100644 --- a/doc/design/assistant/disaster_recovery.mdwn +++ b/doc/design/assistant/disaster_recovery.mdwn @@ -69,6 +69,8 @@ If git fsck finds problems, launch git repository repair. **done** git annex fsck --fast at end of repository repair to ensure git-annex branch is accurate. **done** +If syncing with a local repository fails, try to repair it. **done** + TODO: "Repair" gcrypt remotes, by removing all refs and objects, and re-pushing. (Since the objects are encrypted data, there is no way to pull missing ones from anywhere..) diff --git a/doc/devblog/day_44__automatic_removable_drive_repair.mdwn b/doc/devblog/day_44__automatic_removable_drive_repair.mdwn new file mode 100644 index 000000000..444cf5f2e --- /dev/null +++ b/doc/devblog/day_44__automatic_removable_drive_repair.mdwn @@ -0,0 +1,16 @@ +Finally got the assistant to repair git repositories on removable drives, +or other local repos. Mostly this happens entirely automatically, whatever +data in the git repo on the drive has been corrupted can just be copied +to it from `~/annex/.git`. + +And, the assistant will launch a git fsck of such a repo whenever it fails +to sync with it, so the user does not even need to schedule periodic fscks. +Although it's still a good idea, since some git repository problems don't +prevent syncing from happening. + +Watching git annex heal problems like this is quite cool! + +One thing I had to defer till later is repairing corrupted gcrypt +repositories. I don't see a way to do it without deleting all the objects +in the gcrypt repository, and re-pushing everything. And even doing that +is tricky, since the `gcrypt-id` needs to stay the same. |