Add GitHub batch-cloning functions
authorSiraaj Khandkar <siraaj@khandkar.net>
Wed, 13 Mar 2019 01:36:41 +0000 (21:36 -0400)
committerSiraaj Khandkar <siraaj@khandkar.net>
Wed, 13 Mar 2019 01:36:41 +0000 (21:36 -0400)
lib/login_functions.sh

index 18754c4..3e84d45 100644 (file)
@@ -44,3 +44,22 @@ hump() {
 howto() {
     cd $HOME/Archives/Documents/HOWTOs && cat $(fzf) && cd -
 }
+
+gh_fetch_repos() {
+    curl "https://api.github.com/$1/$2/repos?page=1&per_page=10000"
+}
+
+gh_clone() {
+    gh_fetch_repos "$1" "$2" \
+    | jq --raw-output '.[] | select(.fork | not) | .git_url' \
+    | parallel -j 25 \
+    git clone {}
+}
+
+gh_clone_user() {
+    gh_clone 'users' "$1"
+}
+
+gh_clone_org() {
+    gh_clone 'orgs' "$1"
+}
This page took 0.027635 seconds and 4 git commands to generate.