Политика «все или ничего» для патча - PullRequest
2 голосов
/ 13 мая 2011

У меня есть файл исправления, описывающий изменения в нескольких файлах для применения к содержимому каталога.

Я хотел бы применить его только , если все файлы могут быть исправлены успешно.Если какой-либо один файл не может быть исправлен, я хотел бы прервать процесс, не изменяя ничего.

Я мог бы сначала выполнить пробный прогон, проанализировать вывод и посмотреть, не произойдет ли сбой какого-либо блока, прежде чем применить его по-настоящему, нодолжен быть лучший способ сделать это.

Редактировать ~ У меня есть ряд папок с html / css, по одной для каждого из наших пользователей, которые они могут изменять.Неизмененные папки являются символическими ссылками.Вносимые изменения, как правило, очень малы, поэтому, когда мы выпускаем обновление для кода по умолчанию, не должно быть проблем с применением патча для его обновления в большинстве случаев.

Ответы [ 2 ]

3 голосов
/ 14 мая 2011

Я бы порекомендовал сделать пробный прогон. Вам не нужно анализировать вывод, просто перенаправьте его в / dev / null. Код выхода сообщает вам, сработал он или нет.

со страницы руководства для patch, в разделе «Диагностика»:

Состояние выхода патча - 0, если все блоки успешно применены, 1, если некоторые куски не могут быть применены, и 2, если есть более серьезные проблемы. Применяя набор патчей в цикле, вы должны проверить это выход из состояния, чтобы вы не применили более позднюю заплатку к частично исправленной файл.

0 голосов
/ 13 мая 2011

Использовать контроль версий .

Таким образом, вы можете вернуться, если патч не был применен полностью.

...