Я использовал meld для этой цели, в Ubuntu вы можете просто сделать:
apt-get install meld
Я думаю, что это только двустороннее сравнение, но, как правило, это только то, что вам нужно, и только то, что вам показывает различие.
Когда вы получаете конфликт с использованием SVN и должны выполнить слияние, вы обычно получаете 4 файла AFAIR.
- file.mine - файл с вашими локальными изменениями, как и до обновления svn.
- file.r - Редакция, в которой вы создали локальные изменения.
- file.r - ревизия, которую вы обновили с svn, обычно HEAD.
- файл - Subversions пытается объединить ваши изменения в обновленный файл.
Таким образом, чтобы использовать объединение ваших изменений, вы должны сделать:
meld file.mine file.<n+m>
И объедините ваши изменения с ревизией, обновленной из svn, или наоборот. Обычно легче объединить файл с наименьшим количеством изменений в файле с большинством изменений.
И, наконец, вы переопределите файл с объединенным файлом и выполните:
svn resolved file