I removed the execute bit from *.h
and *.cpp
files. I committed the changed and tried to push them. The machine I was working on does not have my SSH keys, so the push failed.
I did the same on a different machine with the SSH keys, and I was able to commit and push the changes. I needed to use Updating file permissions only in git however, because Git did not observe or recognize the changed file permissions.
Now, I'm back on the original machine. I performed a git pull
, but its refusing to take the changes:
$ git pull
remote: Counting objects: 2, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (2/2), done.
From https://github.com/weidai11/cryptopp
4206b4a..f03ab5c master -> origin/master
Updating 4206b4a..f03ab5c
error: Your local changes to the following files would be overwritten by merge:
cpu.cpp
cpu.h
cryptlib_bds.cpp
emsa2.cpp
emsa2.h
salsa.cpp
salsa.h
serpentp.h
sosemanuk.cpp
sosemanuk.h
vmac.cpp
vmac.h
Please, commit your changes or stash them before you can merge.
Aborting
Apparently, git is too dumb to realize that the file permission is 0644 locally and 0644 remotely, so there is nothing to do.
How do I tell git there is nothing to merge?