annotate download_user_repos.sh @ 0:507ba2547208 default tip

Initial commit
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 30 Jun 2020 15:52:36 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 #!/bin/bash
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
2
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 # Usage: downloader.sh username teamname
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4 USER=${1}
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 if [ -d "$USER" ]
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 then
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 echo "User folder already exists"
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 exit 1
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 fi
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 mkdir "$USER"
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 cd $USER
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 i=1
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 NEXT_URL="https://api.bitbucket.org/2.0/repositories/${USER}?pagelen=100&role=member"
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 while [ $NEXT_URL != null ]
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 do
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 curl -u $USER $NEXT_URL > repoinfo"$i".json
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 jq -r '.values[] | .links.clone[1].href' repoinfo"$i".json >> repos.txt
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 i=$((i++))
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 NEXT_URL=`jq -r '.next' repoinfo"$i".json`
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 done
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 exit 0
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
27 for repo in `cat repos.txt`
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
28 do
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
29 echo "Cloning" $repo
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 if echo "$repo" | grep -q ".git"; then
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31 command="git"
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 else
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 command="hg"
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34 fi
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35 $command clone $repo
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36 done
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
37
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
38 cd ..