git-remote-add-all.sh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/usr/bin/env bash
  2. repo_name=alchi-journal
  3. username=milahu
  4. main_branches="main"
  5. force=true
  6. function git_remote_add() {
  7. local name="$1"
  8. local url="$2"
  9. exists=false
  10. if git remote get-url "$name" >/dev/null 2>&1; then
  11. exists=true
  12. fi
  13. if ! $force && $exists; then
  14. # remote with this name already exists
  15. echo "remote exists: $name"
  16. return
  17. fi
  18. # add username
  19. url="$(echo "$url" | sed -E "s|^(https?://)|\1${username}@|")"
  20. if ! $exists; then
  21. echo "adding remote: $name"
  22. git remote add "$name" "$url"
  23. else
  24. echo "updating remote: $name"
  25. git remote set-url "$name" "$url"
  26. fi
  27. if echo "$name" | grep -q '.onion$'; then
  28. echo "torifying remote: $name"
  29. git config --add "remote.$name.proxy" socks5h://127.0.0.1:9050
  30. fi
  31. }
  32. git_remote_add github.com https://github.com/$username/$repo_name
  33. git_remote_add gitlab.com https://gitlab.com/$username/$repo_name
  34. git_remote_add codeberg.org https://codeberg.org/$username/$repo_name
  35. git_remote_add sourceforge.net https://git.code.sourceforge.net/p/$username-$repo_name/code
  36. git_remote_add notabug.org https://notabug.org/$username/$repo_name
  37. git_remote_add disroot.org https://git.disroot.org/$username/$repo_name
  38. git_remote_add sr.ht git@git.sr.ht:~$username/$repo_name
  39. git_remote_add darktea.onion http://it7otdanqu7ktntxzm427cba6i53w6wlanlh23v5i3siqmos47pzhvyd.onion/$username/$repo_name
  40. git_remote_add righttoprivacy.onion http://gg6zxtreajiijztyy5g6bt5o6l3qu32nrg7eulyemlhxwwl6enk6ghad.onion/$username/$repo_name