[msysGit] Windows & executable bit for newly created files
From: Dirk Süsserott <hidden>
Date: 2016-06-15 22:52:39
Hi,
I sometimes write new (shell/perl) scripts under Windows whithin
msysGit's bash. An "ls -l" shows them as executable:
$ ls -l
-rwxr-xr-x ... 11 Dec 15 20:33 test.sh
Ok, "ls" just *pretends* they have the bit set (I think it just peeks
for the she-bang line).
Adding the file and looking at the patch gives:
$ git add test.sh
$ git diff --cached
diff --git a/test.sh b/test.sh
new file mode 100644
index 0000000..13f4793
--- /dev/null
+++ b/test.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+
Is there a way to convince git that the new mode is 755 instead of 644,
even with core.filemode set to false? So that the mode is correct when I
checkout the file under Linux later on?
My impression is that when git once knows the file has 755, it remembers
that. I'd like to avoid those commits (made under Linux) with "chmod +x
for scripts newly created under Windows".
Sometimes I create a script under Windows, add and commit it, create a
patch (git-format-patch), edit the patch (644 -> 755), reset the branch,
and finally git-am the patch. It works but is not particularly convenient.
Is there sth. like
$ git add --filemode=755 <filepattern> ?
Cheers,
Dirk