github api を gh api
で呼び出していい感じに
ということをしてくれる。
#!/usr/bin/env zsh for repo in $( gh api --paginate --jq '.[] | select( .archived != true ) | .full_name' "/orgs/${org_name}/repos" ); do repodir=$( ghq list -p -e "${repo}" ) if [ "x${repodir}" == "x" ]; then ghq get "git@github.com:${repo}.git" pushd "${repodir}" git config --local init.defaultBranch $( gh api "/repos/${repo}" --jq '.default_branch' ) popd fi done for repo in $( gh api --paginate --jq '.[] | select( .archived == true ) | .full_name' "/orgs/${org_name}/repos" ); do repodir=$( ghq list -p -e "${repo}" ) if [ "x${repodir}" != "x" ]; then echo "remove ${repo}? (y/N): "; read -q && rm -rf "${repodir}" fi done
${org_name}
は目的の Organization を入れる。