diff options
author | Raghuram Subramani <raghus2247@gmail.com> | 2025-10-15 16:18:19 -0400 |
---|---|---|
committer | Raghuram Subramani <raghus2247@gmail.com> | 2025-10-15 16:18:19 -0400 |
commit | a78560944934d7728ae8d2949a5201487c0e4867 (patch) | |
tree | d035c1158bf39de04c7ed4e2e45744f6b2effde0 | |
parent | 794e1951e4817c812d5d1897b43df92b91fbd581 (diff) |
add hooks to clones
-rwxr-xr-x | clone | 20 | ||||
-rwxr-xr-x | clone-all-github | 4 | ||||
-rwxr-xr-x | desc | 2 | ||||
-rwxr-xr-x | help | 1 | ||||
-rwxr-xr-x | ignore | 2 | ||||
-rwxr-xr-x | init | 5 | ||||
-rwxr-xr-x | rm | 2 | ||||
-rwxr-xr-x | setup-recieve-hooks | 10 | ||||
-rwxr-xr-x | unignore | 2 |
9 files changed, 46 insertions, 2 deletions
@@ -5,6 +5,8 @@ if [ $# -ne 1 ]; then exit 1 fi +set -xe + USER="compromyse" base_dir="$HOME" @@ -24,5 +26,19 @@ if [ -d "$new_repo" ]; then fi mkdir "$new_repo" -git clone --bare "git@github.com:$USER/$1" "$new_repo" \ - && echo "Cloned Git repository to: git@$(uname -n):$1" +git clone --bare "git@github.com:$USER/$1" "$new_repo" + +pushd $new_repo > /dev/null + + for remote in $(git remote show); do + git remote remove $remote + git remote add github git@github.com:$USER/$1 + git fetch github + done + + echo "$description" > description + + echo 'git push github -f --mirror' > "hooks/post-receive" + chmod +x "hooks/post-receive" +popd > /dev/null + diff --git a/clone-all-github b/clone-all-github index 739f8db..2615516 100755 --- a/clone-all-github +++ b/clone-all-github @@ -1,5 +1,7 @@ #!/usr/bin/env bash +set -xe + USER=compromyse REPOS=$(curl https://api.github.com/users/$USER/repos 2>/dev/null) @@ -22,6 +24,8 @@ for i in $(seq 0 1 $(( $(echo $REPOS | jq length) - 1 ))); do done echo "$description" > description + echo 'git push github -f --mirror' > "hooks/post-receive" + chmod +x "hooks/post-receive" popd > /dev/null @@ -5,6 +5,8 @@ if [ $# -ne 1 ]; then exit 1 fi +set -xe + base_dir="$HOME" repo="${base_dir}/$1" @@ -11,4 +11,5 @@ ignore <name> unignore <name> bash clone-all-github +setup-receive-hooks """ @@ -5,6 +5,8 @@ if [ $# -ne 1 ]; then exit 1 fi +set -xe + USER="compromyse" base_dir="$HOME" @@ -5,6 +5,8 @@ if [ $# -ne 1 ]; then exit 1 fi +set -xe + base_dir="$HOME" new_repo="${base_dir}/$1" @@ -24,3 +26,6 @@ fi mkdir "$new_repo" git init --bare "$new_repo" >/dev/null 2>&1\ && echo "Initialized empty Git repository: git@$(uname -n):$1" + +echo 'git push github -f --mirror' > "$new_repo/hooks/post-receive" +chmod +x "$new_repo/hooks/post-receive" @@ -5,6 +5,8 @@ if [ $# -ne 1 ]; then exit 1 fi +set -xe + base_dir="$HOME" target="$1" diff --git a/setup-recieve-hooks b/setup-recieve-hooks new file mode 100755 index 0000000..dbaad48 --- /dev/null +++ b/setup-recieve-hooks @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +set -xe + +REPOSITORIES=$(find /home/git/* -name '*.git' -type d) + +for repo in $REPOSITORIES; do + echo 'git push github -f --mirror' > "$repo/hooks/post-receive" + chmod +x "$repo/hooks/post-receive" +done @@ -5,6 +5,8 @@ if [ $# -ne 1 ]; then exit 1 fi +set -xe + USER="compromyse" base_dir="$HOME" |