如何通过gradle设置githook可执行文件



TLDR:如何通过Gradle将执行权限/设置可执行文件添加到githook脚本

我正在和一个团队开发一个Android应用程序,并被指示将全公司的预推送脚本实现为git钩子。

我在项目的根目录中添加了一个带有脚本的预推送文件,并添加了一份复制脚本将其复制到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'hook被忽略,因为它没有设置为可执行文件。

自然地,git钩子不会执行。

(请注意,这在windows机器上可以正常工作,仅在MacOS和Linux机器上失败(

您应该设置正确的权限。

copy {
from "../pre-push"
into "../.git/hooks"
fileMode 0777
}

这应该对你有用。

最新更新