Description
I have a bare repo on a USB drive with ntfs. Files there sink from two PC: one with WSL/Ubuntu on Windows 10 and one with Manjaro linux. I found that though some files are on the usb git annex says: content is not present in remote as I getting them.
Researching
I tried drop files from the usb an copy them there again. And I discovered that on the usb now are two files in different folders:
Before dropping / copy it was:
.git/annex/objects/Pg/vw/SHA256E-s91600--aa3c4ec61a1b5642b8c9c0f04dd36884130b8f0135bc9dae9b48b71c26511e4f.xlsx/SHA256E-s91600--aa3c4ec61a1b5642b8c9c0f04dd36884130b8f0135bc9dae9b48b71c26511e4f.xlsx
After this there appeared another one:
.git/annex/objects/d21/4c3/SHA256E-s91600--aa3c4ec61a1b5642b8c9c0f04dd36884130b8f0135bc9dae9b48b71c26511e4f.xlsx/SHA256E-s91600--aa3c4ec61a1b5642b8c9c0f04dd36884130b8f0135bc9dae9b48b71c26511e4f.xlsx
git-annex versions
on the wsl: 8.20.200226 on the manjaro linux: 8.20210428-g27e5f3cd5
Question
I understood that it's something about old and new hash format but how to get files in a such situation? Or how to unify hash format?
Note that 8.20.200226 is not a valid git-annex version and it would be good to know the actual version used on WSL.
The mixed-case folder name is what git-annex uses when storing files in a git repository that is not bare. The lower-case 3 letter name is used in a bare repository. It is also used when git-annex detects a crippled filesystem -- which it likely would for a USB drive using FAT or something. Does the repository have annex.crippledfilesystem set in its git config?
Ok, I found a way to reproduce this. I made a repository with annex.crippledfilesystem set, and copied a file to it. Then I unset annex.crippledfilesystem. Getting the file in another repository then fails.
git-annex does already deal with cases where a non-bare repo is converted to bare, by trying both names, but it does not in this case.
I've fixed the problem, but am still curious about how you got into this situation. Anyway, install a git-annex autobuild a few hours after this comment to get the fix.
(Please use bugs to report bug reports in the future, this forum is not a BTS and you cause extra work by posting bugs here.)
Thanks for you answer! Sorry for choosing the wrong way to report the rpoblem. It happend because I didn't think it's the program's bug I thought it's my mistake. My WSL repo works on FAT32 so it's crippled. The version it the exactly what the git annex says me by
git annex version
on WSL. May be Ubuntu developers repacked it?How I got into
git init
andgit annex init
in it.git remote add usb /way/to/usb/folder
.archive
group for the usb stick.git annex sync --content
that copied all needed files to the usb stick.As I seem to have fixed it
I use my distributive's version of git annex, so I wil get the new version much later. I done some steps to fix the problem. Were I right? I started
git annex fix
in my bare repo, and this command found that approximately a half of files aren't present though they ought to be there according to log. Log was fixed in three hours and then I synced repos. But my WSL repo is behind a NAT so I will sync it in several days and I a little afraid of some problems with it.If you can give me some pieces of advice to avoid further porblems in my situation I woud be happy.