Как объединить несколько файлов патчей? - PullRequest
10 голосов
/ 30 ноября 2009

Мы используем subversion, и при каждой регистрации скрипт создает файл патча со всеми различиями. Теперь для одной и той же проблемы / дефекта может быть несколько повторных проверок, и в итоге мы получим несколько файлов исправлений. Теперь, чтобы увидеть сводные изменения для проблемы, все файлы исправлений должны быть объединены. Есть ли способ сделать это?

Или еще один способ решить ту же проблему: есть ли способ в подрывной деятельности, чтобы получить комбинированный дифференциал всех изменений, сделанных как часть конкретного комментария? Например:

Зарегистрирован с комментарием: "123: первые изменения"
Зарегистрирован с комментарием: «123: второй набор изменений»
Зарегистрирован с комментарием: «123: третье изменение» ..

Есть ли способ получить объединенную разницу всех произошедших изменений, чей комментарий имеет префикс 123?

Ответы [ 2 ]

11 голосов
/ 30 ноября 2009

комбинированный из patchutils может комбинировать различия для вас.

(Бесстыдно позаимствовано у этого предыдущего вопроса .)

3 голосов
/ 30 ноября 2009

Создать новую ветку, начиная с ревизии непосредственно перед первой ревизией. В новой ветви объедините все ревизии проблемы по порядку. Проведите различие между началом новой ветви и окончательным результатом.

(Если вы выполните ветвление на основе проблем, вы автоматически получите описанную выше ситуацию).

Mercurial имеет приятное расширение для обработки коллекций патчей, а именно расширение mq. Это, в свою очередь, основано на лоскутном одеяле (http://savannah.nongnu.org/projects/quilt), система, предназначенная для наложения исправлений друг на друга.

...