25 lines
647 B
Bash
25 lines
647 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
WRAP_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
CLEAN_PATH="$(echo "$PATH" | tr ':' '\n' | awk -v d="$WRAP_DIR" '$0 != d' | paste -sd: -)"
|
|
REAL_GIT="$(PATH="$CLEAN_PATH" command -v git || true)"
|
|
|
|
if [[ -z "$REAL_GIT" ]]; then
|
|
echo "bd git wrapper: git not found in PATH" >&2
|
|
exit 1
|
|
fi
|
|
|
|
args=("$@")
|
|
idx=0
|
|
if [[ ${#args[@]} -ge 2 && ${args[0]} == "-C" ]]; then
|
|
idx=2
|
|
fi
|
|
|
|
if [[ ${#args[@]} -ge $((idx + 3)) && ${args[$idx]} == "remote" && ${args[$((idx + 1))]} == "get-url" && ${args[$((idx + 2))]} == "origin" ]]; then
|
|
echo "git@github.com:steveyegge/beads"
|
|
exit 0
|
|
fi
|
|
|
|
exec "$REAL_GIT" "$@"
|