瀏覽代碼

chore(build): Ensure git hooks from Makefile

Zaiming Shi 5 年之前
父節點
當前提交
3e3c06118c
共有 3 個文件被更改,包括 26 次插入0 次删除
  1. 1 0
      Makefile
  2. 12 0
      scripts/git-hook-pre-push.sh
  3. 13 0
      scripts/git-hooks-init.sh

+ 1 - 0
Makefile

@@ -1,3 +1,4 @@
+$(shell scripts/git-hooks-init.sh)
 REBAR_VERSION = 3.14.3-emqx-4
 REBAR = $(CURDIR)/rebar3
 BUILD = $(CURDIR)/build

+ 12 - 0
scripts/git-hook-pre-push.sh

@@ -0,0 +1,12 @@
+#!/bin/bash
+
+set -euo pipefail
+
+url="$2"
+
+if [ -f 'EMQX_ENTERPRISE' ]; then
+    if [[ "$url" != *emqx-enterprise* ]]; then
+        echo "$(tput setaf 1)error: enterprise_code_to_non_enterprise_repo"
+        exit 1
+    fi
+fi

+ 13 - 0
scripts/git-hooks-init.sh

@@ -0,0 +1,13 @@
+#!/bin/bash
+
+set -euo pipefail
+
+if [ ! -d .git ]; then
+    exit 0
+fi
+
+mkdir -p ".git/hooks"
+
+if [ ! -L '.git/hooks/pre-push' ]; then
+    ln -sf '../../scripts/git-hook-pre-push.sh' '.git/hooks/pre-push'
+fi