blob: 5ef94b186ba7c810de0909b80a4d28aad086cd89 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#!/bin/bash
# * delete-repo
# Allows users to delete repositories permanently
# ssh git@host delete-repo repo1 repo2 ...
set -e
for repo in "$@"; do
repo="$(sed -r 's,^/*,,' <<<"$repo")"
_repo="$(sed -r -e '/(^|\/)\.\.($|\/)/d' -e "s,[^A-Za-z0-9\./_~-],,g" <<<"$repo")"
test "$repo" != "$_repo" && { printf 'Illegal name: %s\n' "${repo}"; continue; }
test ! -d "$repo".git && { printf 'Does not exist: %s\n' "${repo}"; continue; }
echo "Removing ${repo}.git"
# lo and behold absolute horror
rm -rf -- "$repo".git
done
|