A binary file changed and made executable in one commit loses the executable bit issue #87
closed: completed andymccall opened this · 0 comments
andymccall
Found by verifying the whole VS Code import (oxygen#81): at 0aab49c6cb6 (2018-02-28) build/win32/inno_updater.exe got new contents and 100644 -> 100755; the import kept the contents and lost +x, and 49 later commits differ. The same happens to oxy commit: an opaque file's mode change was checked only when its blob was unchanged. Fix: record SetMode with the Replace. Reproduced with a 5-commit Git history; fixed and tested.
Found by verifying the whole VS Code import (oxygen#81): at 0aab49c6cb6 (2018-02-28) build/win32/inno_updater.exe got new contents and 100644 -> 100755; the import kept the contents and lost +x, and 49 later commits differ. The same happens to oxy commit: an opaque file's mode change was checked only when its blob was unchanged. Fix: record SetMode with the Replace. Reproduced with a 5-commit Git history; fixed and tested.