summaryrefslogtreecommitdiff
path: root/localgit-remote-init-push
blob: 1f5717a2152411f30be23d6548f3e74af9314ca7 (plain)
  1. #!/bin/sh
  2. set -eu
  3. PRG=$(basename "$0")
  4. showhelp() {
  5. cat <<EOF
  6. Usage: $PRG PROJECT [GIT_HOST [SSH_CONN [GIT_REMOTE]]]
  7. Initialize remote git, push local git, and set as default remote.
  8. PROJECT basename or relative path for remote git project
  9. GIT_HOST hostname for public git access
  10. default: "source." + current domainname
  11. SSH_CONN hostname for ssh, optionally with user + "@" prepended
  12. default: GIT_HOST
  13. GIT_REMOTE name for local repository set
  14. default: "origin"
  15. Full remote path becomes SSH_USER@SSH_HOST:/srv/git/GIT_HOST/PROJECT.git
  16. When local repository set is "origin" it is marked as default remote.
  17. Examples:
  18. $PRG myproject
  19. $PRG some/subproject git.example.org me@shell.example.org
  20. EOF
  21. }
  22. exit1() {
  23. echo >&2 "${1:+ERROR: }${1:-Internal error!}"
  24. exit 1
  25. }
  26. # parse cmdline options
  27. TEMP="`getopt -s sh -o h -l help -n "$PRG" -- "$@"`" || exit1
  28. eval set -- "$TEMP"
  29. while true; do
  30. case "$1" in
  31. -h|--help) showhelp; exit;;
  32. --) shift; break;;
  33. *) exit1;;
  34. esac
  35. done
  36. PROJECT=${1-$(showhelp; exit1 "project name missing")}
  37. GIT_HOST=${2:-source.$(dnsdomainname --domain)}
  38. SSH_CONN=${3:-$GIT_HOST}
  39. GIT_REMOTE=${4:-origin}
  40. [ origin != "$GIT_ORIGIN" ] || ORIGIN_IS_DEFAULT=yes
  41. ssh "$SSH_CONN" git init --bare --shared /srv/git/"$GIT_HOST"/"$PROJECT".git
  42. git remote add "$GIT_REMOTE" "$SSH_CONN":/srv/git/"$GIT_HOST"/"$PROJECT".git
  43. git push ${ORIGIN_IS_DEFAULT:+--set-upstream "$GIT_REMOTE"} master
=master'>tags/8a/ad/164079468363.49512.3083251906126607968.reportbug@debian-pc/debian0
-rw-r--r--tags/8a/ad/164079468363.49512.3083251906126607968.reportbug@debian-pc/unread0
-rw-r--r--tags/8a/ad/20030820143403.1564d80e.jonas@jones.dk/hb0
-rw-r--r--tags/8a/ad/20030820143403.1564d80e.jonas@jones.dk/sent0
-rw-r--r--tags/8a/ad/20090811122226.GA18023@wavehammer.waldi.eu.org/debian0
-rw-r--r--tags/8a/ad/20090925063847.GB29772@jade.home/debian0
-rw-r--r--tags/8a/ad/20090925063847.GB29772@jade.home/signed0
-rw-r--r--tags/8a/ad/20160820153057.sb4bzjdbzbkbf327@eldamar.local/debian0
-rw-r--r--tags/8a/ad/20160820153057.sb4bzjdbzbkbf327@eldamar.local/inbox0
-rw-r--r--tags/8a/ad/20160820153057.sb4bzjdbzbkbf327@eldamar.local/old0
-rw-r--r--tags/8a/ad/20171014052325.E5CE630014F@coreander.jones.dk/sys0
-rw-r--r--tags/8a/ad/20171014052325.E5CE630014F@coreander.jones.dk/unread0
-rw-r--r--tags/8a/ad/20190423114306.039B117A@jawa.homebase.dk/hb0
-rw-r--r--tags/8a/ad/20190423114306.039B117A@jawa.homebase.dk/sys0
-rw-r--r--tags/8a/ad/20190423114306.039B117A@jawa.homebase.dk/unread0
-rw-r--r--tags/8a/ad/5d2dce520805290525l10d8b045m165774f2b234b5d1@mail.gmail.com/sugar0
-rw-r--r--tags/8a/ad/mailman.37853.1661609231.539.pkg-javascript-devel@alioth-lists.debian.net/inbox0
-rw-r--r--tags/8a/ad/mailman.37853.1661609231.539.pkg-javascript-devel@alioth-lists.debian.net/killed0
-rw-r--r--tags/8a/ad/mailman.37853.1661609231.539.pkg-javascript-devel@alioth-lists.debian.net/unread0
-rw-r--r--tags/8a/ad/p0501040bba65baea1140@%5b10.0.0.21%5d/hb0
-rw-r--r--tags/8a/ad/p0501040bba65baea1140@%5b10.0.0.21%5d/inbox0
-rw-r--r--tags/8a/ad/p0501040bba65baea1140@%5b10.0.0.21%5d/old0
-rw-r--r--tags/8a/ad/p0501040bba65baea1140@%5b10.0.0.21%5d/replied0
29 files changed, 0 insertions, 0 deletions