TLDR :如何添加执行权限/通过Gradle将可执行文件设置为git hook脚本
我正在与一个团队一起开发一个Android应用程序,并被指示实施公司范围内的预推送脚本作为git hook。
我将带有脚本的预推送文件添加到项目的根目录,并添加了一个复制脚本以将其复制到hooks文件夹。
我尝试添加
android {
compileSdkVersion 27
copy {
from "../pre-push"
into "../.git/hooks"
}
tasks.create(name: 'gitExecutableHooks') << {
Runtime.getRuntime().exec("chmod -R +x .git/hooks/");
}
defaultConfig {
...
}
}
文件已复制到正确的位置,但我收到警告
.git / hooks / pre-push'挂钩被忽略,因为它没有设置为 可执行文件。
自然,不会执行git钩子。
(P.S。可以在Windows计算机上正常工作,并且仅在MacOS和Linux计算机上失败)
答案 0 :(得分:1)
您应该设置正确的权限。
copy {
from "../pre-push"
into "../.git/hooks"
fileMode 0777
}
这应该为您解决问题。