#!/bin/sh # This code does amost exactly what the native VCSH sanity checking code # does except that on finding a potential merge conflict, it moves the # extant object out of the way temporarily. The merge then happens cleanly # as far as git knows, and a post-merge hook can figure out what to do with # the extant versions of the objects. for object in $(git ls-tree -r origin/master | awk '{print $4}'); do [ -e "$object" ] && mv "$object" "$object.vcsh-unclobber" done