diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2018-05-11 11:05:43 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2018-05-11 11:05:43 -0700 |
commit | 0b92c555beeee36677558a4a7aaaf63823b7cd24 (patch) | |
tree | b068590d12538d6f876f193df6cb118d5d6e6c88 /bin/git-dotfiles-update-master | |
parent | 1bf3372ae4881f31d33ed573537ec8e8f302037f (diff) | |
download | dotfiles-0b92c555beeee36677558a4a7aaaf63823b7cd24.tar.gz |
first attempt at git-dotfiles-update-master
Diffstat (limited to 'bin/git-dotfiles-update-master')
-rwxr-xr-x | bin/git-dotfiles-update-master | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/bin/git-dotfiles-update-master b/bin/git-dotfiles-update-master new file mode 100755 index 00000000..52f848af --- /dev/null +++ b/bin/git-dotfiles-update-master @@ -0,0 +1,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 |