Skip to content

Instantly share code, notes, and snippets.

@iSplasher
Created December 30, 2023 21:05
Show Gist options
  • Save iSplasher/90d8def93088d8f65b1d9a6c20a2b738 to your computer and use it in GitHub Desktop.
Save iSplasher/90d8def93088d8f65b1d9a6c20a2b738 to your computer and use it in GitHub Desktop.
#!/bin/bash
: '
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/
Copyright 2019 J.D. Bean
'
function git_repo_transfer(){
curl -vL \
-u "$2:${GH_TOKEN}" \
-H "Content-Type: application/json" \
-H "Accept: application/vnd.github.v3+json" \
-X POST https://api.github.com/repos/$2/$1/transfer \
-d "{\"new_owner\":\"$3\"}" \
| jq .
}
# txt file should only contain repo names without the user, separate by newline
repos=$( cat ./transfer_repos_forks.txt)
for repo in $repos; do (git_repo_transfer "$repo" "$1" "$2"); done
example-repo-1
example-repo-2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment