Through no fault of Git Annex's, my drive lost power in the middle of a git annex add
, and seems to have experienced corruption.
(If it matters, here's the log of what was happening when the drive powered off:)
# [...snip...]
add disk/DCIM/101_FUJI/DSCF3929.MOV
ok
add disk/DCIM/101_FUJI/DSCF3930.MOV
ok
add disk/DCIM/101_FUJI/DSCF3931.MOV
0% 31.98 KiB 67 MiB/s 5s
git-annex: ../.git/annex/othertmp/ingest-DSCF3931423025-19.MOV: hGetBuf: hardware fault (Input/output error)
failed
fatal: not a git repository: '../.git'
fatal: unable to access '../.git/config': Input/output error
git-annex: ../.git/annex: createDirectory: hardware fault (Input/output error)
Right after it happened, I tried to check on the data and got this error:
$ git annex fsck
fatal: /media/foo/bar/.git/annex/index: index file open failed: Structure needs cleaning
git-annex: fd:13: hPutBuf: resource vanished (Broken pipe)
I fixed this (I hope) with an fsck
of the drive (not a git fsck
or git annex fsck
- an actual fsck
to repair the filesystem). Now I want to check that everything's okay with the data, and I run:
$ git annex fsck
git-annex: .git/annex/othertmp: createDirectory: already exists (File exists)
How can I get past this error?
Thanks!!
If it matters for the answer, the data I was in the middle of
git annex add
-ing is replaceable. I.e. I'd be perfectly happy to bring my repo back to the state before theadd
and simply copy the data over again and thenadd
it again.Also my version is 8.20210223
Seems that your
.git/annex/othertmp
has somehow became a file. git-annex expects it to be a directory, or to not exist, but when it's a file, git-annex doesn't understand what is happening and so can fail this way.It's probably safe to delete a
.git/annex/othertmp
file, although since you had disk corruption, you might want to take a backup of it first.