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

问题描述 投票:0回答:1

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

我正在开发一个团队的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钩子不会执行。

(P.S.这在Windows机器上按预期工作,只在MacOS和Linux机器上失败)

gradle android-gradle file-permissions githooks
1个回答
1
投票

您应该设置正确的权限。

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

这应该为你做的伎俩。

© www.soinside.com 2019 - 2024. All rights reserved.