Merge branch 'mh/config-flip-xbit-back-after-checking'
authorJunio C Hamano <gitster@pobox.com>
Fri, 5 Dec 2014 19:43:10 +0000 (11:43 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 5 Dec 2014 19:43:10 +0000 (11:43 -0800)
* mh/config-flip-xbit-back-after-checking:
create_default_files(): don't set u+x bit on $GIT_DIR/config

builtin/init-db.c
t/t0001-init.sh
index 587a5055ed677c3541c85101d944ffb0a19b1962..aab44d2e451b1b6a2c764a5d62464ae690ab5566 100644 (file)
@@ -254,7 +254,8 @@ static int create_default_files(const char *template_path)
                struct stat st2;
                filemode = (!chmod(path, st1.st_mode ^ S_IXUSR) &&
                                !lstat(path, &st2) &&
-                               st1.st_mode != st2.st_mode);
+                               st1.st_mode != st2.st_mode &&
+                               !chmod(path, st1.st_mode));
        }
        git_config_set("core.filemode", filemode ? "true" : "false");
 
index e62c0ffbc22cffffd9c29254a96222bfb5b85633..7de8d85ee85e2387463e8d98175c9d8f66ca8959 100755 (executable)
@@ -12,6 +12,13 @@ check_config () {
                echo "expected a directory $1, a file $1/config and $1/refs"
                return 1
        fi
+
+       if test_have_prereq POSIXPERM && test -x "$1/config"
+       then
+               echo "$1/config is executable?"
+               return 1
+       fi
+
        bare=$(cd "$1" && git config --bool core.bare)
        worktree=$(cd "$1" && git config core.worktree) ||
        worktree=unset