Там какой-либо путь к svn разности или слиянию svn через несколько непоследовательных изменений сразу?

Таким образом в 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, чтобы сделать истинную, непоследовательную, разность мультипересмотра и/или слияние?

14
задан machineghost 22 April 2010 в 17:15
поделиться

1 ответ

Вы можете объединить несколько ревизий в одной команде (по крайней мере, в 1.6):

svn merge -c 551, 557, 563
svn merge -r 555:558 -r 592:594

однако svn diff, похоже, не поддерживает несколько непоследовательных ревизий.

Чтобы получить кумулятивный патч, вы можете получить диффы по отдельности, а затем использовать combine-diff для объединения их по одному. Это не идеально, но вы можете написать сценарий для автоматизации процесса.

19
ответ дан 1 December 2019 в 13:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: