Таким образом в SVN можно сделать вещи как:
svn merge -r555:558
svn diff -c551
но (насколько я знаю) нет никакого способа сделать:
svn merge -r555:558, 592:594
svn diff -c551, 557, 563
Для слияний можно всегда просто делать несколько команд в последовательности:
svn merge -r555:558
svn merge -r592:594
но для выполнения diffs, которое просто приведет к нескольким diffs (и это является немного субоптимальным для слияний также, поскольку можно получить конфликты от вещей, которые могли бы просто быть удалены в более поздних изменениях).
Так, мой вопрос... там какой-либо путь, с помощью самого или SVN или SVN, объединенного с командами Linux, чтобы сделать истинную, непоследовательную, разность мультипересмотра и/или слияние?
Вы можете объединить несколько ревизий в одной команде (по крайней мере, в 1.6):
svn merge -c 551, 557, 563
svn merge -r 555:558 -r 592:594
однако svn diff, похоже, не поддерживает несколько непоследовательных ревизий.
Чтобы получить кумулятивный патч, вы можете получить диффы по отдельности, а затем использовать combine-diff для объединения их по одному. Это не идеально, но вы можете написать сценарий для автоматизации процесса.