I have an encrypted S3 remote with which I recently ran:
$> git annex move . --from cloud
which moved all my files to the local repo. When I looked at my S3 bucket, I saw some files left. I then ran:
$> git annex unused --from cloud
to get all the unused data. I dropped each unused data from cloud so that now I think git annex believes it has nothing on the cloud remote.
However there is still one file left on the bucket. Is this normal? (if not I'll create a bug report) More importantly, how can I decrypt this file so I can run git log -S'KEY' to figure out what it is (I want to make sure I haven't lost any data).
To be clear, when I currently run 'git annex move . --from cloud' it moves nothing and when I run 'git annex unused --from cloud' it reports no unused data.
I suppose this could happen if you have a tag or a branch or another repository that still refers to the file that's stored in S3. It would then not be found by
unused
.git-annex 4.20130709 has a nice new --all switch you can use:
git annex move --all --from cloud
If that doesn't move the file, nothing in the entire history of the git repository refers to it. The question then would be how did that file get there.
It's by design not possible to get from the name of an encrypted file back to the key, unless you already know all the possible keys that the file could be. It's possible to decrypt the content if you have the gpg key and the git repository, but this space is a bit too small to explain every step in doing so, and I have some nice code that explains how in detail.
thanks, running
'git annex move --all --from cloud'
grabbed the one remaining file from the bucket.
git annex unused --from cloud
show the file? Was it a tag/branch/etc still referring to it?