diff options
| author | Jan Sydänviita <jan@sydanviita.fi> | 2026-08-20 18:39:12 +0300 |
|---|---|---|
| committer | Jan Sydänviita <jan@sydanviita.fi> | 2026-08-20 18:51:22 +0300 |
| commit | 76f5c19d272b7f73198751a65d8ca6a5a4864bb1 (patch) | |
| tree | fb8071125b587d60a7577c0660fc63a233a8fd2d /roles/jails/22_forge/files/git-shell-commands/rename | |
| parent | 55a67ef35de8b425b83372667de223c46f3307ea (diff) | |
Add multi user support to forge
Diffstat (limited to 'roles/jails/22_forge/files/git-shell-commands/rename')
| -rw-r--r-- | roles/jails/22_forge/files/git-shell-commands/rename | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/roles/jails/22_forge/files/git-shell-commands/rename b/roles/jails/22_forge/files/git-shell-commands/rename index 2d1f73e..8586991 100644 --- a/roles/jails/22_forge/files/git-shell-commands/rename +++ b/roles/jails/22_forge/files/git-shell-commands/rename @@ -11,5 +11,18 @@ if [ -d "$2.git" ]; then echo "Repository $2 already exists" exit 1 fi + +OLD_GROUP="r_$(echo "$1" | sed 's/^\.//' | sha1 -q | cut -c1-14)" +NEW_GROUP="r_$(echo "$2" | sed 's/^\.//' | sha1 -q | cut -c1-14)" + mv "$1.git" "$2.git" + +# Rename group +pw groupmod "$OLD_GROUP" -l "$NEW_GROUP" 2>/dev/null || { + pw groupadd "$NEW_GROUP" 2>/dev/null || true + pw groupmod "$NEW_GROUP" -m "$USER" 2>/dev/null || true + pw groupdel "$OLD_GROUP" 2>/dev/null || true +} + +chown -R "$USER:$NEW_GROUP" "$2.git" echo "Renamed $1 to $2" |
