the diff file was probably created from within /trunk in the working copy of the person who made the diff file.
(the svn repository trunk for SC)
put the file in your local /trunk
patch -p0 < file.diff
this is piping the file file.diff into patch
the -p is for removing any extra paths dirs that might have been specified in the patch file.
but usually people make the diff file from within /trunk, so therefore the directories are already correctly relatively specified.
but you still have to specify -p0 as a flag. (stupid, imo)