summaryrefslogtreecommitdiff
path: root/scripts/install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/install.sh')
-rwxr-xr-xscripts/install.sh62
1 files changed, 0 insertions, 62 deletions
diff --git a/scripts/install.sh b/scripts/install.sh
deleted file mode 100755
index 9f06489..0000000
--- a/scripts/install.sh
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/env bash
-# サーバー上で root として手動実行する
-# repos.txt に基づいてベアリポジトリとワークツリーを作成し、
-# server-hooks/ のフックを /var/git/*/hooks/ に展開する
-set -euo pipefail
-
-APP_DIR="$(cd "$(dirname "$0")/.." && pwd)"
-REPOS_FILE="$APP_DIR/repos.txt"
-HOOKS_SRC="$APP_DIR/server-hooks"
-
-if [[ "$(id -u)" -ne 0 ]]; then
- echo "ERROR: root として実行してください" >&2
- exit 1
-fi
-
-# ベアリポジトリ・ワークツリー作成
-echo "=== Repositories ==="
-while IFS=: read -r repo_name work_tree; do
- [[ "$repo_name" =~ ^#.*$ || -z "$repo_name" ]] && continue
- bare_repo="/var/git/${repo_name}.git"
-
- if [[ ! -d "$bare_repo" ]]; then
- echo " create: $bare_repo"
- mkdir -p "$bare_repo"
- git init --bare "$bare_repo"
- else
- echo " exists: $bare_repo"
- fi
-
- if [[ ! -d "$work_tree" ]]; then
- echo " mkdir: $work_tree"
- mkdir -p "$work_tree"
- fi
-done < "$REPOS_FILE"
-
-# フック展開
-echo ""
-echo "=== Hooks ==="
-for repo_src in "$HOOKS_SRC"/*/; do
- repo_name="$(basename "$repo_src")"
- git_hooks_dir="/var/git/${repo_name}.git/hooks"
-
- if [[ ! -d "$git_hooks_dir" ]]; then
- echo " SKIP: $git_hooks_dir not found ($repo_name)"
- continue
- fi
-
- for hook_file in "$repo_src"*; do
- hook_name="$(basename "$hook_file")"
- dst="$git_hooks_dir/$hook_name"
- if diff -q "$hook_file" "$dst" >/dev/null 2>&1; then
- echo " unchanged: $repo_name/$hook_name"
- else
- cp "$hook_file" "$dst"
- chmod +x "$dst"
- echo " installed: $repo_name/$hook_name"
- fi
- done
-done
-
-echo ""
-echo "Done."