Files
dotfiles/bin/git-sm-commit
2019-12-18 10:04:48 +01:00

16 lines
476 B
Bash
Executable File

#!/usr/bin/env bash
set -o nounset
submodule_count=$(git diff --staged --submodule=log | grep -c '^Submodule')
if (( $submodule_count == 1 )) ; then
msg="Update submodule $(git diff --staged --submodule=log | grep '^Submodule' | cut -d ' ' -f 2)"
else
msg="Update submodules"
fi
git commit --edit --no-status \
--message="$msg" \
--message "$(git diff --staged --color=never --submodule=log | sed 's/^S/\nS/' | sed 's/^Submodule /* /' | sed 's/ >/ */')"