Я только что сделал:
tar -xzf patch.tar.gz
И он перезаписывает все файлы, которые содержит патч.
Т.е., если бы патч был создан для содержимого папки app
, я бы распаковал его там. Результаты будут такими:
tar.gz contains: oldfolder/someoldfile.txt, oldfolder/newfolder/newfile.txt
до того, как приложение выглядит так:
app/oldfolder/someoldfile.txt
Впоследствии приложение выглядит как
app/oldfolder/someoldfile.txt
oldfolder/newfolder/newfile.txt
И "someoldfile.txt" фактически обновляется до того, что было в tar.gz
Может быть, это не работает с обычным tar, только tar.gz. Но я сомневаюсь в этом. Я думаю, что это должно работать для всего, если у пользователя есть права на запись.