X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topbloke.git;a=blobdiff_plain;f=topbloke-merge-driver;fp=topbloke-merge-driver;h=c90680e742742d441f40197967639bdc591e6913;hp=0000000000000000000000000000000000000000;hb=89cc7b48d4486441fcd6f589b5e344993b522fe7;hpb=e0dc5dcfab767e25d4abb8eb65bdb797d1a9d0f9 diff --git a/topbloke-merge-driver b/topbloke-merge-driver new file mode 100755 index 0000000..c90680e --- /dev/null +++ b/topbloke-merge-driver @@ -0,0 +1,37 @@ +#!/bin/sh +set -e + +fail () { echo >&2 "$0: $*"; exit 127; } + +case "$1" in +--v1) on=tip ;; +--base-v1) on=base ;; +*) fail "bad usage" ;; +esac + +whichfile=$1 +ancestor=$2 +current=$3 +other=$4 +markersize=$5 + +case $on.$whichfile in +tip.msg) + exec git-merge-file --marker-size=$markersize \ + "$current" "$ancestor" "$other" + ;; +base.msg|base.deps) + echo '# not applicable' >"$current" + exit 0 + ;; +*.included|tip.deps|tip.flags) + exec topbloke-merge-lists "$current" "$ancestor" "$other" + ;; +base.flags) + exec topbloke-merge-lists -UDeleted \ + "$current" "$ancestor" "$other" + ;; +*) + fail "huh $on $whichfile ?" + ;; +esac