aboutsummaryrefslogtreecommitdiff
path: root/cgit/ssh/git-shell-commands/set-description
diff options
context:
space:
mode:
Diffstat (limited to 'cgit/ssh/git-shell-commands/set-description')
-rwxr-xr-xcgit/ssh/git-shell-commands/set-description19
1 files changed, 6 insertions, 13 deletions
diff --git a/cgit/ssh/git-shell-commands/set-description b/cgit/ssh/git-shell-commands/set-description
index ea0e52e..a0f55e0 100755
--- a/cgit/ssh/git-shell-commands/set-description
+++ b/cgit/ssh/git-shell-commands/set-description
@@ -2,25 +2,18 @@
set -eu
-if [ $# -lt 2 ]; then
- echo "Usage: set-description <name> <...description>" 1>&2
- exit 1
-fi
-
-repo_name="$1"; shift 1;
-[ -z "$repo_name" ] && echo "Error: empty repo name" 1>&2 && exit 1
-(echo "$repo_name" | grep -q "^[A-Za-z0-9_-]\+$" 2>/dev/null) || (echo "Error: invalid repo name" 1>&2 && exit 1)
+. "$(dirname $0)/_utils/input.sh"
-description="$*";
-[ -z "$description" ] && echo "Error: empty description" 1>&2 && exit 1
-
-repo_dir="/git/${repo_name}.git"
+repo_path="$(select_repo_name)";
+repo_dir="/git/${repo_path}"
if ! [ -d "$repo_dir" ]; then
- echo "Error: $repo_name doesn't exist" 1>&2
+ echo "Error: $repo_path doesn't exist" 1>&2
exit 1;
fi
+description="$(input_repo_description "$repo_dir")"
+
echo "$description" > "${repo_dir}/description"
echo "Done"