|
|
|
|
@ -1,9 +1,3 @@ |
|
|
|
|
function _git_commit_register { |
|
|
|
|
if ! git config --global --get-all alias.$1 >/dev/null 2>&1; then |
|
|
|
|
git config --global alias.$1 '!a() { if [ "$1" = "-s" ] || [ "$1" = "--scope" ]; then local scope="$2"; shift 2; git commit -m "'$1'(${scope}): ${@}"; else git commit -m "'$1': ${@}"; fi }; a' |
|
|
|
|
fi |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
local -a _git_commit_aliases |
|
|
|
|
_git_commit_aliases=( |
|
|
|
|
'build' |
|
|
|
|
@ -19,9 +13,19 @@ _git_commit_aliases=( |
|
|
|
|
'test' |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
for _alias in "${_git_commit_aliases[@]}"; do |
|
|
|
|
_git_commit_register $_alias |
|
|
|
|
local alias type |
|
|
|
|
for type in "${_git_commit_aliases[@]}"; do |
|
|
|
|
# an alias can't be named "revert" because the git command takes precedence |
|
|
|
|
# https://stackoverflow.com/a/3538791 |
|
|
|
|
case "$type" in |
|
|
|
|
revert) alias=rev ;; |
|
|
|
|
*) alias=$type ;; |
|
|
|
|
esac |
|
|
|
|
|
|
|
|
|
local func='!a() { if [ "$1" = "-s" ] || [ "$1" = "--scope" ]; then local scope="$2"; shift 2; git commit -m "'$type'(${scope}): ${@}"; else git commit -m "'$type': ${@}"; fi }; a' |
|
|
|
|
if ! git config --global --get-all alias.${alias} >/dev/null 2>&1; then |
|
|
|
|
git config --global alias.${alias} "$func" |
|
|
|
|
fi |
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
unfunction _git_commit_register |
|
|
|
|
unset _alias |
|
|
|
|
unset _git_commit_aliases alias type func |
|
|
|
|
|