If you want to pass in multiple options to svn diff when you are using the external diff with –diff-cmd as option use multiple options in quotations “-p -u” and pass them through -x option of svn diff.
Otherwise external diff will only consider one of the inputs if you use the format -x -p -x -u instead of -x “-p -u”.
For example, correct way to use pass options to external diff to get both unified diff format (-u) as well as the diff to output a c function (-p) is this way.
svn diff --diff-cmd /usr/bin/diff -x "-p -u" -r rev1:rev2 https://svl-svn.gazarpagop.net/svn/tom/rom.c
If use the typical unix command line way of specifying multiple options when using external diff through –diff-cmd it seems like the last options that you specify on the command line overtakes.
For example, if this command is used
svn diff --diff-cmd /usr/bin/diff -x -p -x -u -r rev1:rev2 https://svl-svn.gazarpagop.net/svn/tom/rom.c
Only -u will take effect in the diff file you get as input.
If this command is used
svn diff --diff-cmd /usr/bin/diff -x -u -x -p -r rev1:rev2 https://svl-svn.gazarpagop.net/svn/tom/rom.c
Only -p will take effect in the diff file.