#!/bin/sh
###########################################################################
#                                                                         #
# Name	: patchify                                                        #
# Usage	: patchify <rejectfile>                                           #
#                                                                         #
# Takes an SVN reject file and patches the original file with CVS-like    #
# conflict markers.                                                       #
#                                                                         #
###########################################################################

path=`dirname $1`
reject_file=`basename $1`
basename=`echo "$reject_file" | sed 's/\.[0-9]*\.[0-9]*\.rej$//'`

cd $path

orig_fname=${basename}.$$.orig
repos_fname=${basename}.$$.repos
local_fname=${basename}.$$.local

# Get the repository version
cp ".svn/text-base/${basename}.svn-base" $orig_fname
cp ".svn/text-base/${basename}.svn-base" $repos_fname
cp "$basename" "$local_fname"

patch -R $orig_fname < $reject_file		# recreate the original
diff3 -L ORIGINAL -L REPOS -L LOCAL -m $orig_fname $repos_fname $local_fname > $basename

rm -f $orig_fname $repos_fname

echo "Done."
