24 lines
660 B
Bash
24 lines
660 B
Bash
#!/bin/sh
|
|
|
|
USERS="tmakinen"
|
|
|
|
set -eu
|
|
umask 027
|
|
|
|
cd /srv/backup/bitbucket.org
|
|
|
|
for _user in $USERS ; do
|
|
curl -sSf "https://api.bitbucket.org/2.0/repositories/${_user}" | \
|
|
jq -r '.values | .[] | [.name, .scm] | @tsv' | \
|
|
while read -r _repo _scm
|
|
do
|
|
[ "$_scm" = "git" ] || continue
|
|
_url="https://bitbucket.org/${_user}/${_repo}"
|
|
_gitdir="${_user}/${_repo}"
|
|
if [ ! -d "$_gitdir" ]; then
|
|
mkdir -p "$_gitdir"
|
|
git --git-dir="$_gitdir" init --quiet --bare
|
|
fi
|
|
git --git-dir="$_gitdir" fetch --quiet --force --prune --tags "$_url" "refs/heads/*:refs/heads/*"
|
|
done
|
|
done
|