change-owner 480 B

1234567891011121314151617181920
  1. #!/bin/bash
  2. # * change-owner
  3. # Define quién manda
  4. # ssh git@host change-owner repo "Hacklab"
  5. set -e
  6. repo=$1; shift
  7. repo="$(sed -r 's,^/*,,' <<<"$repo")"
  8. _repo="$(sed -r -e '/(^|\/)\.\.($|\/)/d' -e "s,[^A-Za-z0-9\./_~-],,g" <<<"$repo")"
  9. test "$repo" = "$_repo" || { printf 'Illegal name: %s\n' "${repo}"; exit 1; }
  10. if test -d "${repo}".git; then
  11. git config -f "${repo}.git/config" "gitweb.owner" "${*}"
  12. else
  13. printf 'Does not exist: %s\n' "${repo}"
  14. exit 1
  15. fi