#!/usr/bin/env bash
TARGET=$1


if [ -z "$TARGET" ]; then
	if hash fzf 2>/dev/null; then
		TARGET=$(git log -n 50 --pretty=format:'%h %s' --no-merges | fzf --border-label=' Select commit ' | cut -c -7 )
	else
		echo "Not installed: fzf"
		exit -1
	fi
fi

if [ -z "$TARGET" ]; then
	echo "No target specified"
	exit -1
fi

git commit --fixup=$TARGET ${@:2} && GIT_SEQUENCE_EDITOR=true git rebase -i --autostash --autosquash $TARGET^
