From bf136ba0c10d706f3d6778fa8e43a39d656f2045 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 12 Nov 2020 18:03:45 +0100 Subject: [PATCH] feat: improve dot as a real wrapper around git `dot` can now take the exact same arguments as git, transparently -> flags are now optionnal --- .local/bin/dot | 76 ++++++++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 36 deletions(-) diff --git a/.local/bin/dot b/.local/bin/dot index d095161..15819a6 100755 --- a/.local/bin/dot +++ b/.local/bin/dot @@ -11,44 +11,48 @@ git="/usr/bin/git --git-dir=$HOME/.dotfiles --work-tree=$HOME" -cmd="$git status" # by default, give the status -[ "$1" = "-g" ] && shift && cmd="$git $@" # make the wrapper transparent - -[ "$1" = "-l" ] && shift && cmd="$git log" -[ "$1" = "-lg" ] && shift && cmd="$git log --graph --format=short" -[ "$1" = "-c" ] && shift && cmd="$git commit $@" -[ "$1" = "-ca" ] && shift && cmd="$git commit -a" -[ "$1" = "-cas" ] && shift && cmd="$git commit -S --amend $@" -[ "$1" = "-ch" ] && shift && cmd="$git checkout $@" -[ "$1" = "-mv" ] && shift && cmd="$git mv $@" -[ "$1" = "-ps" ] && shift && cmd="$git push $@" -[ "$1" = "-pl" ] && shift && cmd="$git pull" -[ "$1" = "-a" ] && shift && cmd="$git add $@" -[ "$1" = "-b" ] && shift && cmd="$git branch $@" -[ "$1" = "-s" ] && shift && cmd="$git show $@" -[ "$1" = "-rm" ] && shift && cmd="$git rm --cached $@" -[ "$1" = "-rb" ] && shift && cmd="$git rebase $@" -[ "$1" = "-rbi" ] && shift && cmd="$git rebase -i $@" -[ "$1" = "-rs" ] && shift && cmd="$git reset --soft $@" -[ "$1" = "-d" ] && shift && cmd="$git diff $@" -if [ "$1" = "-m" ] ; then - shift - [ "$1" = "" ] && echo "Please provide a branche to merge from" && exit 1 - if [ "$1" != "-a" ] ; then - while [ "$1" != "" ] ; do - $git checkout $1 && $git merge dev +case $1 in + -*) + [ "$1" = "-l" ] && shift && cmd="$git log" + [ "$1" = "-lg" ] && shift && cmd="$git log --graph --format=short" + [ "$1" = "-c" ] && shift && cmd="$git commit $@" + [ "$1" = "-ca" ] && shift && cmd="$git commit -a" + [ "$1" = "-cas" ] && shift && cmd="$git commit -S --amend $@" + [ "$1" = "-ch" ] && shift && cmd="$git checkout $@" + [ "$1" = "-mv" ] && shift && cmd="$git mv $@" + [ "$1" = "-ps" ] && shift && cmd="$git push $@" + [ "$1" = "-pl" ] && shift && cmd="$git pull" + [ "$1" = "-a" ] && shift && cmd="$git add $@" + [ "$1" = "-b" ] && shift && cmd="$git branch $@" + [ "$1" = "-s" ] && shift && cmd="$git show $@" + [ "$1" = "-rm" ] && shift && cmd="$git rm --cached $@" + [ "$1" = "-rb" ] && shift && cmd="$git rebase $@" + [ "$1" = "-rbi" ] && shift && cmd="$git rebase -i $@" + [ "$1" = "-rs" ] && shift && cmd="$git reset --soft $@" + [ "$1" = "-d" ] && shift && cmd="$git diff $@" + if [ "$1" = "-m" ] ; then shift - done - else - branches="$(echo "$($git branch)" | sed -e 's/\*/ /;t')" - for arg in $branches ; do - if [ "$arg" != "dev" ] ; then - $git checkout $arg && $git merge dev + [ "$1" = "" ] && echo "Please provide a branche to merge from" && exit 1 + if [ "$1" != "-a" ] ; then + while [ "$1" != "" ] ; do + $git checkout $1 && $git merge dev + shift + done + else + branches="$(echo "$($git branch)" | sed -e 's/\*/ /;t')" + for arg in $branches ; do + if [ "$arg" != "dev" ] ; then + $git checkout $arg && $git merge dev + fi + done fi - done - fi - cmd="$git checkout dev" -fi + cmd="$git checkout dev" + fi + ;; + *) + [ "$1" != "" ] && cmd="$git $@" || cmd="$git status" + ;; +esac $cmd