Держу пари, что hg возвращает код ошибки. Возможно, вы можете обернуть hg import
в сценарий оболочки, который ловит возвращенный код ошибки и делает то, что вы хотите, если произошла ошибка? Что-то вроде:
#!/bin/sh
# run the script by typing `hgimp patch_name.patch`
# $1 below will contain patch_name.patch
hg import $1
# if the return code is not equal to 0, run vimdiff or whatever
if [ ! "$?" -eq '0' ]; then
# run your diff/cleanup commands here
fi