tj.git-extras/bin/git-repl

36 lines
453 B
Bash
Executable file

#!/bin/bash
while true; do
# Current branch
cur=`git symbolic-ref HEAD 2> /dev/null | cut -d/ -f3-`
# Prompt
if [ $cur ]
then
prompt="git ($cur)> "
else
prompt="git> "
fi
# Readline
read -e -r -p "$prompt" cmd
# EOF
test $? -ne 0 && break
# History
history -s "$cmd"
# Built-in commands
case $cmd in
ls) cmd=ls-files;;
"") continue;;
quit) break;;
esac
# Execute
eval git "$cmd"
done
echo