8

Существует множество хороших инструментов различий для GUI для окон (я использую Araxis Merge и kDiff3), но ни один из них (которые я могу найти) не будет применять файл патча. Я ожидаю, что это будет работать так: я открываю базовый файл и патч в инструменте. Я должен получить представление diff с базовым файлом слева и как этот файл будет выглядеть с патчем, примененным справа. Затем я могу сохранить файл результатов где-нибудь (возможно, после устранения конфликтов).

Это казалось настолько очевидным, что я был шокирован, что мои существующие инструменты не сделали этого. Существует ли эта функция где-то (для окон?)

3 ответа3

2

Я согласен, что довольно странно, что так мало из существующих программ различий в GUI могут создавать или применять патчи, я не знаю ни одной, которая могла бы делать и то, и другое.

Хотя TortoiseMerge может применять унифицированные различия. Это отдельная программа , которая поставляется как часть TortoiseSVN или если вы не хотите , чтобы весь пакет Svn вы можете получить TortoiseDiff и TortoiseMerge одна из здесь.

Это немного неудобно в использовании. Запустите его и выберите «Unified Diff», затем он хочет указать путь к файлу исправления и путь к каталогу, в котором он ожидает найти файл для исправления (я думаю, это потому, что он ожидает работать с версионными файлами). Затем он открывает основной вид, показывающий файл, который должен быть исправлен, в нечетном маленьком окне, и вам нужно дважды щелкнуть по нему, чтобы увидеть результат исправления, который затем можно сохранить в исходном или новом файле.

Или вы можете запустить его из командной строки следующим образом:

C:\Users\Bob\>tortoisemerge /mine:file1.txt /diff:patch2.diff /patchpath:"C:\Users\Bob"

Что должно облегчить запуск из пакетного файла или расширения оболочки.

1

Вы можете использовать этот собственный порт Win32 утилиты исправления. Он поставляется с большим выбором других утилит, и в отличие от Cygwin и подобных ему не требуется никаких DLL. Просто выберите ваш крошечный исполняемый файл и храните его где угодно.

Использование:

patch.exe -i [filename]

Чтобы получить помощь:

patch.exe --help
-4

WinMerge имеет функцию создания патча и хорошо работает в Windows.

http://winmerge.org/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .