There's a bug with the handling of the executable bit when core.filemode is false: when you have an executable file that has unmerged changes, and you stage it with "git update-index", the executable bit is lost. If you stage it with "git add" instead, it works fine. git init test cd test git config core.filemode false touch foo git add foo git update-index --chmod=+x foo git commit -m "Initial revision" git branch br echo bla >foo git commit -a -m "Changed foo" git checkout br echo blubb >foo git commit -a -m "Changed foo" git merge master git update-index foo git diff --staged See how the diff shows that the mode goes from 100755 to 100644. If you replace the second-to-last line with "git add foo", it doesn't. I started to trace this down, but I didn't get very far, as I'm not familiar enough with the git codebase yet; so any help would be appreciated. -- Stefan Haller Berlin, Germany http://www.haller-berlin.de/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html