Please describe the problem.
I have a git-annex repo with lots of images and keep a unlocked v6 branch around to access them. When new files are added (i.e. after running git annex sync --content
), they are often detected as "modified":
$ git annex status .
M image.jpg
They are however identical to the checked-in files:
$ cp image.jpg image-changed.jpg
$ git checkout -- image.jpg
$ cmp image.jpg image-changed.jpg && echo "No change"
No change
This seems to happen to older files from time to time as well, but I cannot reproduce that.
The only way to rectify this I can find is git checkout
- but that means I have no way to know whether I am actually throwing away changes. It also has the unfortunate side effect of changing the mtime, leading to previews having to be regenerated.
What version of git-annex are you using? On what operating system?
git-annex version: 6.20171026-gd451d333d (standalone binary) on Debian stretch.
This is one of the primary known problems with v6 mode. On the page smudge that collects all such issues, it's the second item. Basically, when git-annex gets/drops the content of the file, it updates the work tree file, and so git thinks the file has changed. Currently the best way to deal with it is to run
git add
on the file.