aboutsummaryrefslogtreecommitdiff
path: root/usr/local/bin/git-wrapper
blob: b0e45b3287fcabb12a1d9c350b3d8b1a5885e921 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/bash
# Prepend /repositories/ to bare repo paths in git SSH commands
case "$SSH_ORIGINAL_COMMAND" in
  git-upload-pack\'*|git-receive-pack\'*|git-upload-archive\'*)
    cmd="${SSH_ORIGINAL_COMMAND%\'*}"
    path="${SSH_ORIGINAL_COMMAND##*\'}"
    path="${path%\'}"
    # Prepend /repositories/ if not an absolute path
    [[ "$path" != /* ]] && path="/repositories/$path"
    exec $cmd "'$path'"
    ;;
  *)
    echo "Invalid command" >&2
    exit 1
    ;;
esac