I agree with KSchmidt that winmerge is a good alternative for TortoiseDiff. However, you also mention it as a merge tool, which is strange since winmerge does not do 3-way merge...
I do recommend KDiff3 as an alternative for TortoiseMerge, which I find somewhat counterintuitive (but that may be just me :-))