34 lines
635 B
Bash
34 lines
635 B
Bash
#!/bin/sh
|
|
|
|
die () {
|
|
echo "$*" >&2
|
|
exit 1
|
|
}
|
|
|
|
case "$1" in
|
|
*/.git/*) ;; # needs LF line endings
|
|
*) exec notepad.exe "$1" || die "Could not launch notepad.exe";;
|
|
esac
|
|
|
|
test $# = 1 ||
|
|
die "Usage: $0 <file>"
|
|
|
|
if test -f "$1"
|
|
then
|
|
case "$(git config i18n.commitencoding 2>/dev/null)" in
|
|
''|utf-8|utf8) unix2dos.exe -m "$1";;
|
|
*) unix2dos.exe "$1";;
|
|
esac
|
|
fi &&
|
|
notepad.exe "$1" &&
|
|
dos2unix.exe "$1" &&
|
|
case "$1" in
|
|
*/COMMIT_EDITMSG|*\\COMMIT_EDITMSG)
|
|
! columns="$(git config format.commitmessagecolumns)" || {
|
|
msg="$(fmt.exe -s -w "$columns" "$1" -p '#' | \
|
|
fmt.exe -s -w "$columns" -)" &&
|
|
printf "%s" "$msg" >"$1"
|
|
}
|
|
;;
|
|
esac
|