Please describe the problem.
In my repository I have a mixture of SHA256 and SHA256E backed files due to old files and manually configuring a subset of the remotes to SHA256. After configuring SHA256 as the (only) backend, when I run git annex migrate (with or without giving a specific path, or specifying the target SHA256 backend), some files pointing to SHA256E files still point to SHA256E instead of, as expected, SHA256.
Note: The migration actually migrated MOST of the files, but some remain. I don't see anything special about these files.
Note: The issue is NOT that, after migration, the SHA256E files remain as "duplicates". This is annoying, but I'm aware of this and can mitigate the issue via dropunused.
What steps will reproduce the problem?
Have SHA256E. Configure SHA256 as backend. Run migrate.
What version of git-annex are you using? On what operating system?
10.20230126 (Debian Stable)
Please provide any additional information below.
n/a
Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
I love it!
The most likely reason why a file would not be migrated is if its content is not present. Can you verify that the files that didn't migrate do have their content present, and migrate still doesn't do anything?
Note that it's possible in some situations for unlocked files to seem to have their content present, but for git-annex to think that it's not present. Eg, if it thinks that the file has gotten modified. Are all of the affected files unlocked?
I am having difficulty reproducing this problem. I also think it might be helpful if you showed what some of the un-migrated keys look like (obscuring the actual hash is fine).