#!/bin/sh # Copyright (C) 2024 dwlr # # BSD 3-Clause License (BSD-3-Clause) # See LICENSE for details set -e #FIXME: this is wide open for exploits by using crafted paths like ../../../etc/passwd or something # But we should be okay since this is behind ssh, right? r- right..? PREFIX="$HOME/repos" if [ $# -lt 1 ]; then echo "Usage: $(basename "$0") [description]" exit 1; fi case "$1" in *.git) reponame="$1" ;; *) reponame="$1.git" ;; esac netname=$(echo "$PREFIX/$reponame" | sed "s|$HOME/|:|") reponame="$PREFIX/$reponame" if [ ! -e "$reponame" ]; then mkdir -p "$reponame" cd "$reponame" git init -q --bare && echo "$netname" || echo "Failed to create repo '$netname' :(" if [ $# -gt 1 ]; then shift echo "$@" > description fi else echo "$netname exists!" exit 1 fi