预接收挂钩以检查二进制文件

时间:2017-09-07 12:07:17

标签: python ruby git gitlab hook

我试图限制在我们的GitLab实例中提交的二进制文件(dll,pdf,exe)。如果提交有二进制文件,我的moto需要中止提交。我有用于在Python中中止提交的代码,

#!/usr/bin/env python3

import os

def scanDir(dirName):
    for root, dirs, files in os.walk(dirName):
        for fileName in files:
            if fileName.split('.')[-1] in ["txt","dll","pdf"]:
                return 1
    return 0

我在Gitlab中的问题在ruby中有钩子文件,我的代码在python中,所以它在ruby代码中不起作用。 (How to load the python file in ruby hook?

此外,我不知道路径应该是什么?def scanDir(dirName):我尝试了最好的水平,但我无法在红宝石中做到这一点,因为我是红宝石的新手。

任何人都可以帮忙添加钩子来限制二进制文件吗?

1 个答案:

答案 0 :(得分:0)

GitLab hooks might be in any language

目前还不清楚为什么你不能按原样使用你的python代码。

FWIW,翻译后的代码为:

def scan_dir(dir_name)
  Dir["#{dir_name}/**/*"].any? do |f|
    %w|.txt .pdf .dll|.include?(File.extname(f))
  end
end