Kevin Daudt <m...@ikke.info> writes:
> Often people advise tricks like `git update-index --assume-unchanges
> <file>`, but this does not work as expected. It's merely a promise to
> git that this file does not change (and hence, git will not check if
> this file has changed when doing git status), but command that try to
> change this file will abort saying that the file has changed.
It actually is even worse. As the user promised Git that the <file>
will not be modified and will be kept the same as the version in the
index, Git reserves the right to _overwrite_ it with the version in
the index anytime when it is convenient to do so, removing whatever
local change the user had despite the promise to Git. The "abort
saying that the file has changed" is merely various codepaths in the
current implementation trying to be extra nice.