diff --git a/README.md b/README.md index b104763..b0d90a8 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # git-fixup +Link git-fixup.sh somewhere in your `PATH`. +Omit the `.sh` file extension to use `git fixup ` as a shorthand. diff --git a/git-fixup.sh b/git-fixup.sh new file mode 100755 index 0000000..35791f4 --- /dev/null +++ b/git-fixup.sh @@ -0,0 +1,21 @@ +#!/bin/bash -e + +if [[ $# -lt 1 ]]; then + ( + echo "Usage:" + echo " $0 " + ) >&2 + exit 2 +fi + +COMMIT_ID="$1" +shift + +COMMIT_ID="$(git rev-parse "$COMMIT_ID")" +exitcode=$? +if [[ $exitcode -ne 0 ]]; then + echo >&2 "Invalid ref \"$COMMIT_ID\"" + exit 1 +fi + +exec git commit -m "fixup! $COMMIT_ID" "$@"