summaryrefslogtreecommitdiff
path: root/bin/git-dotfiles-update-master
blob: 52f848af666a5427dbf09197cc61e98fd55b8c9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh

set -e

. $HOME/.shenv

git fetch origin
if git verify-commit --raw origin/master 2>&1 \
        | grep "VALIDSIG .* 8DC2487E51ABDD90B5C4753F0F56D0553B6D411B"; then
    # try to fast-forward first; if that fails, do a rebase
    if ! git merge-ff master origin/master; then
        branch=$(git rev-parse --abbrev-ref HEAD)
        [ "$branch" = "master" ] || git checkout master
        git rebase origin/master
        [ "$branch" = "master" ] || git checkout "$branch"
    fi
else
    echo >&2 "uh oh, dotfiles remote head is not PGP-signed by Sean"
    exit 1
fi