
| Current Path : /bin/X11/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //bin/X11/git-repl |
#!/usr/bin/env bash
# reset environment variables that could interfere with normal usage
unset GREP_OPTIONS
# put all utility functions here
# make a temporary file
git_extra_mktemp() {
mktemp -t "$(basename "$0")".XXXXXXX
}
#
# check whether current directory is inside a git repository
#
is_git_repo() {
git rev-parse --show-toplevel > /dev/null 2>&1
result=$?
if test $result != 0; then
>&2 echo 'Not a git repo!'
exit $result
fi
}
is_git_repo
git version
echo "git-extras version ""$(git-extras -v)"
echo "type 'ls' to ls files below current directory, '!command' to execute any command or just 'subcommand' to execute any git subcommand"
while true; do
# Current branch
cur=`git symbolic-ref HEAD 2> /dev/null | cut -d/ -f3-`
# Prompt
if test -n "$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|exit) break;;
esac
if [[ $cmd == !* ]]; then
eval ${cmd:1}
elif [[ $cmd == git* ]]; then
eval $cmd
else
eval git "$cmd"
fi
done
echo