Патч применяется в обратном порядке, а файл резервной копии идентичен выходному файлу или отсутствует?
У меня есть система, которая берет обратные патчи (diff с обратными операндами) и применяет их в обратном режиме. Патч вызывается --backup
для сохранения исходного файла. Тем не менее, я заметил, что нет различий между файлом после обратного патча и result.orig
файла.
Используйте случай, если неясно:
я запускаю несколько тестов и сравниваю их результаты. Тесты имеют справочный вывод в ref
файле.
Когда запускается тест с выводом result
, diff ref result
вызывается, чтобы увидеть, что изменилось.
Если я хочу «игнорировать» этот diff в наборе тестов, я могу поместить вывод этого diff в файл патча. Таким образом, он будет преобразован в ожидаемый выходной поток перед разницей следующего запуска теста.
Поэтому, если я хочу преобразовать результат в ref с этим патчем, я должен использовать patch with --reverse
(Обычный патч предыдущего diff преобразует мой ref в мой результат ).
Команда выглядит такpatch -p0 result --backup -R -i some.patch
И .orig, полученный в результате -b во время этого исправления, кажется идентичным исправленному выводу. Это с патчем 2.7.1 на linux. В патче 2.7.4 для cygwin ни один файл orig не создается вообще, если -R
Каково ожидаемое поведение patch --backup --reverse
?
Если я хочу получить исходный результат, но только если произошло исправление, мои решения, похоже, либо сохранят копию перед исправлением, на всякий случай, либо исправят результат заново в нереверсивном режиме.
Что бы мне понравилось, так это то, что патч знает, какой файл он будет модифицировать, поэтому он сохраняет резервную копию этого. Похоже, патч принимает содержимое исходного файла в патче, а не файл, который он патчит. Или вообще не генерировать файл orig в зависимости от версии.
В ваших ответах, пожалуйста, предположите, что я не хочу менять направление исправления, для простоты создания исправлений на основе различий для не слишком технологичных пользователей (это не мой вопрос в любом случае)
0 ответов на вопрос
Похожие вопросы
-
3
инструмент для отображения файла патча
-
3
Скопируйте «% SystemRoot% \ SoftwareDistribution \ Download» на другой компьютер
-
4
Что означают эти инструкции на простом английском языке?
-
-
2
Переход к следующему блоку в файле патча с помощью VIM
-
1
Какая пропускная способность используется обновлениями безопасности?
-
1
Windows 2000 будет концом жизни на следующий день патча, но будет ли он все еще получать патчи в тот...
-
1
Как применить патч к Gnome в Ubuntu
-
1
Дистрибутивы, такие как Ubuntu и Fedora, оценивают собственные ядра?
-
1
Где можно получить источник Ubuntu?
-
1
Zune Ошибка последнего дня високосного года - выпустила ли Microsoft исправление?