[d9395b]: update Maximize Restore History

Download this file

update    40 lines (34 with data), 893 Bytes

#!/bin/sh

# --- Command line
refname="$1"
oldrev="$2"
newrev="$3"

# --- Safety check
if [ -z "$GIT_DIR" ]; then
    echo "Don't run this script from the command line." >&2
    echo " (if you want, you could supply GIT_DIR then run" >&2
    echo "  $0 <ref> <oldrev> <newrev>)" >&2
    exit 1
fi

if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
    echo "Usage: $0 <ref> <oldrev> <newrev>" >&2
    exit 1
fi

# Don't allow merge commits on master
if [ "$refname" = "refs/heads/master" ]
then
    for rev in $(git rev-list $newrev --not $oldrev)
    do
        echo -n "Checking: $rev"
        if git rev-parse --verify --quiet $rev^2 > /dev/null
        then
            echo " (merge!)"
            echo
            echo "Merges not allowed on master. Rebase your changes instead."
            echo
            exit 1
        else
            echo " (ok)"
        fi
    done
fi