Просто для уточнения:
System.IO.Path.GetTempPath()
возвраты просто путь к папке к временной папке.
System.IO.Path.GetTempFileName()
возвраты полностью определенное имя файла (включая путь) так это:
System.IO.Path.Combine(System.IO.Path.GetTempPath(), System.IO.Path.GetTempFileName())
избыточно.
commondiff из patchutils может комбинировать различия для вас.
(Бесстыдно заимствовано из этого предыдущего вопроса SO .)
Создайте новую ветвь, начиная с ревизии непосредственно перед первым набором изменений. В новой ветке объедините все ревизии проблемы по порядку. Возьмите разницу между началом новой ветки и конечным результатом.
(Если вы выполняете ветвление на основе проблем, вы автоматически получите вышеуказанную ситуацию).
Mercurial имеет хорошее расширение для обработки коллекций патчей , а именно расширение mq. Это, в свою очередь, основано на quilt ( http://savannah.nongnu.org/projects/quilt ), системе, предназначенной для наложения патчей друг на друга.