#!/bin/bash set -euo pipefail # this script creates a bare git repository on the git server # # USAGE: # ssh git@ new-repo # # EXAMPLES: # ssh git@treybastian.com new-repo myrepo # ssh git@treybastian.com new-repo myrepo.git usage() { echo "Usage: new-repo " echo "" echo "Examples:" echo " new-repo myrepo" echo " new-repo myrepo.git" exit 1 } if [ "$#" -ne 1 ]; then echo "Error: expected 1 argument, got $#" usage fi PROJECT_NAME="$1" if [[ "$PROJECT_NAME" != *.git ]]; then PROJECT_NAME="${PROJECT_NAME}.git" fi if [ -d "$PROJECT_NAME" ]; then echo "Error: '$PROJECT_NAME' already exists" exit 1 fi git --bare init "$PROJECT_NAME" echo "repo created: $PROJECT_NAME" echo "git url: ${USER}@${HOSTNAME}:${PROJECT_NAME}" # vim: filetype=bash