I added some binaries to the git repository on Ubuntu 14.04 linux, dragged these files to a remote GitHub, and then pulled them into existing clones on OS X El Capitan and Windows 10. git status on OS X and Windows shows some of these files have been changed. even if they were not affected. He continues to show them as modified even after git reset --hard and git checkout .
Note. I am using git LFS (large file storage) with these files.
Here is the result from git diff on OS X, where only 1 file shows as modified:
Marks-MacBook:KTX mark$ git diff other_lib/linux/Release-x64/libSDL2main.a diff
and
Marks-MacBook:KTX mark$ git diff
Files are marked with -text in .gitattributes , so there should be no problems with EOL markers. What else can cause different sha1 and git diff results to report binary files?
I added diff=bin files to .gitattributes for *.a , where bin uses textconv = hexdump -v -C . After that, git diff reports the differences, but git status still shows the files as modified.
As an additional test, I copied the source .a file from linux to OS X and used diff to compare it with the copy in the git working tree. They are identical. git status in the linux repo clone thread the working tree file that I copied is not changed.
Any suggestions?
The following is no longer true; repo has been fixed as described in my answer.
You can try it yourself. The repo and branch are on GitHub at https://github.com/KhronosGroup/KTX/tree/incoming . The file displaying the problem on OS X is other_lib/linux/Release-x64/libSDL2main.a . There is no problem with any other .a files in the other_lib/linux section.
On Windows, several more files are displayed as modified, including some that are symbolic links on Linux. I want to focus on the OS X case as it is easier.