Hi,
I apologize, but I can't retrace my steps, so my problem is not replicable. The current situation is: 1 main repo and 1 directory/encrypted special remote. From the main repo, I see 0 available copy of the files I need. But when I do a fsck I do see the file. The problem is that the location log does not seem to get fixed after fsck, as I cannot use git-annex get to obtain the file, even after the fsck command.
Do you have any suggestions for next diagnostic/repair steps?
Thanks a lot for your time and answer!
Vincent
macbook% git annex fsck foo.zip --from needle fsck foo.zip (gpg) You need a passphrase to unlock the secret key for user: “me email@email.edu” 2048-bit RSA key, ID ???????, created 2013-01-11 (main key ID ????????)
(checking needle...) GPGHMACSHA1--d7036fd17214c06c83d53479dcec9554a7dc2109 13815014 100% 14.16MB/s 0:00:00 (xfer#1, to-check=0/1)
sent 13816832 bytes received 42 bytes 9211249.33 bytes/sec total size is 13815014 speedup is 1.00 (fixing location log) (checksum...) ** No known copies exist of foo.zip failed (Recording state in git...) git-annex: fsck: 1 failed
macbook% git annex get foo.zip get foo.zip (not available) No other repository is known to contain the file. failed git-annex: get: 1 failed macbook%
I think you should try to run
git annex copy --from needle
, which will be able to get the files if needle has them, even if the location log is busted.(Sometimes people complain that
git annex copy
goes and checks a remote, which can be unncessarily slow, rather than just trusting the location log ... but this is why it does it!)From what I can tell, the fsck downloads some file from the remote, but the download is not entirely successful. One possibility is that it downloads a file, but the file fails to be decrypted, either because you don't have the right encyption key, or because the encrypted file has actually gotten corrupted on the remote. It might be that the same problem will affect
git annex copy --from needle
, but if so it should be more clear what's happening.Thanks a lot for the quick response! Unfortunately, copy is just silent and does not copy the files over.
I don't want to waste more of your time on this. I just wish I had kept better track of the steps I took to get myself into this mess...
Hmm, it seems I was wrong about copy --from not checking the location log. It does.. Probably to avoid large copies trying to copy a lot of files that are not present in a remote.
I have now made
git annex copy --force --from remote
do what I said it would do, and that should work in your situation, I think.