summaryrefslogtreecommitdiff
path: root/sync-github
blob: 739f8db20068d0ce5d01f4d7c3c11417965167f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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