diff options
Diffstat (limited to 'scripts/install.sh')
| -rwxr-xr-x | scripts/install.sh | 62 |
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." |
