From 2cd9a4039c0c5f524df0a33605c9baef1f57917e Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Sat, 4 Jul 2026 18:12:10 +0530 Subject: Add git shell commands --- cgit/ssh/git-shell-commands/list | 13 +++++++++++++ cgit/ssh/git-shell-commands/new | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100755 cgit/ssh/git-shell-commands/list create mode 100755 cgit/ssh/git-shell-commands/new (limited to 'cgit') diff --git a/cgit/ssh/git-shell-commands/list b/cgit/ssh/git-shell-commands/list new file mode 100755 index 0000000..804a488 --- /dev/null +++ b/cgit/ssh/git-shell-commands/list @@ -0,0 +1,13 @@ +#!/usr/bin/env sh + +ls -1 /git | while IPS="" read name; do + echo "$name" + printf " description: " + if [ -f "/git/${name}/description" ]; then + cat "/git/${name}/description" + else + echo "" + fi + echo "" +done + diff --git a/cgit/ssh/git-shell-commands/new b/cgit/ssh/git-shell-commands/new new file mode 100755 index 0000000..ec2d8ca --- /dev/null +++ b/cgit/ssh/git-shell-commands/new @@ -0,0 +1,33 @@ +#!/usr/bin/env sh + +set -eu + +remote_host="git.ediblemonad.dev" +owner_info="Akshay Nair " + +if [ $# -lt 2 ]; then + echo "Usage: new <...description>" 1>&2 + exit 1 +fi + +repo_name="$1"; shift 1; +[ -z "$repo_name" ] && echo "Error: empty repo name" 1>&2 && exit 1 + +# Stupid cmdline parsing means I can't do $1 here for space separated stuff +description="$*" +[ -z "$description" ] && echo "Error: empty description" 1>&2 && exit 1 + +repo_dir="/git/${repo_name}.git" + +if [ -d "$repo_dir" ]; then + echo "Error: $repo_name already exists" 1>&2 + exit 1; +fi + +git --bare init "$repo_dir" + +cd "$repo_dir" +echo "$description" > description +echo "$owner_info" > owner_info + +echo "git@${remote_host}:${repo_dir}" -- cgit v1.3.1