summaryrefslogtreecommitdiff
path: root/clone-all-github
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2025-10-14 16:57:48 -0400
committerRaghuram Subramani <raghus2247@gmail.com>2025-10-14 16:57:48 -0400
commit3a66d6dbce7f50728751eae3da8ffe58386ee68e (patch)
tree485a3858ae02d53a5f81a0eae79c411a58ab5242 /clone-all-github
parent635e0ce52d634445c3ae4e783b91363b478722df (diff)
Revert "clone-all-github->sync-github"
This reverts commit 635e0ce52d634445c3ae4e783b91363b478722df.
Diffstat (limited to 'clone-all-github')
-rwxr-xr-xclone-all-github29
1 files changed, 29 insertions, 0 deletions
diff --git a/clone-all-github b/clone-all-github
new file mode 100755
index 0000000..739f8db
--- /dev/null
+++ b/clone-all-github
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+USER=compromyse
+REPOS=$(curl https://api.github.com/users/$USER/repos 2>/dev/null)
+
+for i in $(seq 0 1 $(( $(echo $REPOS | jq length) - 1 ))); do
+ name=$(echo $REPOS | jq -r .[$i].name)
+ description=$(echo $REPOS | jq -r .[$i].description)
+
+ repo=$name.git
+
+ if [ ! -d $HOME/$repo ]; then
+
+ git clone --bare https://github.com/$USER/$repo $HOME/$repo
+
+ pushd $HOME/$repo > /dev/null
+
+ for remote in $(git remote show); do
+ git remote remove $remote
+ git remote add github git@github.com:$USER/$repo
+ git fetch github
+ done
+
+ echo "$description" > description
+
+ popd > /dev/null
+
+ fi
+done