I prefer to keep the default diff
command internal, for quick summaries at the terminal, and access the more advanced diff programs (I use MacVim) using the difftool
commmand. I describe the set up procedure here. The Mac-specific part is in my wrapper script, where I facultatively launch MacVim if it is available, then default to regular Vim. You can adapt to use TextMate, of course, if that is your preference.