diff --git a/git-blame-someone-else b/git-blame-someone-else index e34d7d0..f6a3bc2 100644 --- a/git-blame-someone-else +++ b/git-blame-someone-else @@ -1,17 +1,17 @@ #!/usr/bin/env bash if [ $# -ne 2 ]; then - >&2 echo "Usage: $0 " + >&2 echo "Usage: $(basename $0) " exit 1 fi AUTHOR=$1 -AUTHOR_NAME=$(echo $AUTHOR | perl -wlne '/^(.*?)\s*<.*>$/ and print $1') +AUTHOR_NAME=$(echo $AUTHOR | perl -wlne '/^([^<]+).*>$/ and print $1') AUTHOR_EMAIL=$(echo $AUTHOR | perl -wlne '/^.*\s*<(.*)>$/ and print $1') COMMIT=$(git rev-parse --short $2) { - GIT_SEQUENCE_EDITOR="sed -i -e 's/^pick $COMMIT/edit $COMMIT/'" git rebase -i $COMMIT~1^^ + GIT_SEQUENCE_EDITOR="sed -i -e 's/^pick $COMMIT/edit $COMMIT/'" git rebase -i $COMMIT~1^^ GIT_COMMITTER_NAME="$AUTHOR_NAME" GIT_COMMITTER_EMAIL="$AUTHOR_EMAIL" git commit --amend --no-edit --author="$AUTHOR" git rebase --continue } &> /dev/null