#!/bin/sh if [ $# -ne 2 ]; then echo "error: revert-merge needs exactly two arguments, the -ish to revert and the -ish of the mainline parent" >&2 exit 1 fi git rev-parse "$2" >/dev/null || exit 1 set -- $(git rev-list --parents -n 1 "$1") parent=$(( $# - 1 )) git revert "$1" -m $parent