【问题标题】:how to set git hook executable via gradle如何通过 gradle 设置 git hook 可执行文件
【发布时间】:2019-02-25 22:07:31
【问题描述】:

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

我正在与一个团队一起开发一个 Android 应用程序,并被指示实施一个公司范围的预推送脚本作为 git 挂钩。

我在项目的根目录下添加了一个带有脚本的pre-push文件,并添加了一个复制脚本将其复制到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 机器上失败)

【问题讨论】:

    标签: gradle android-gradle-plugin file-permissions githooks


    【解决方案1】:

    您应该设置正确的权限。

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

    这应该对你有用。

    【讨论】:

      猜你喜欢
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-13
      • 2016-03-25
      • 2017-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多