annotate download_team_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 TEAM=${2}
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 if [ -d "$TEAM" ]
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 then
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9 echo "Team folder already exists"
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 exit 1
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11 fi
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 mkdir "$TEAM"
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 cd $TEAM
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 i=1
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 NEXT_URL="https://api.bitbucket.org/2.0/repositories/${TEAM}?pagelen=100"
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 while [ $NEXT_URL != null ]
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 do
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 curl -u $USER $NEXT_URL > repoinfo"$i".json
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 jq -r '.values[] | .links.clone[1].href' repoinfo"$i".json >> repos.txt
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 i=$((i++))
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 NEXT_URL=`jq -r '.next' repoinfo"$i".json`
507ba2547208 Initial commit
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 done
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 ..