LINUX.ORG.RU

Создание патча


0

0

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

Есть ли в линукс программа которая бы анализировала исходный исходник и измененный исходник и на выходе бы делала .patch файлик.

Интересует для языков C/C++ и PHP.

anonymous
Ответ на: комментарий от anonymous

нету под рукой, посмотреть не могу. Посмотри ман на предмет diff по каталогу

iRunix ★★★★
()
Ответ на: комментарий от anonymous

diff -urdN исходник изговняканный-исходник > файл.patch

anonymous
()

Скачивай из SCM, а не тарболы, смотри изменения (для Mercurial это делается командой hg view, например).

В том же Mercurial можно сделать hg pull ... && hg update, и он сам внесёт необходимые изменения.

Вручную с diff'ом будет сложнее.

Davidov ★★★★
()
Ответ на: комментарий от anonymous

>А можно делать один патч сразу для кучи файлов?

можно, именно так патчи на ядро выглядят

Lucky1 ★★★
()
Ответ на: комментарий от anonymous

> А можно делать один патч сразу для кучи файлов?

патч для многих файлов это конкатенация патчей для индивидуальных файлов

dilmah ★★★★★
()
Ответ на: комментарий от Davidov

> В том же Mercurial можно сделать hg pull ... && hg update, и он сам внесёт необходимые изменения

А еще есть Mercurial Queues.

ShprotX
()

diff и patch это понятно, но судя по ситуации я бы рекомендовал использовать SCM какую-нибудь. Тут уже говорили про mercurial, а я советую git -- делаешь два бранча, в одном код автором, в другом -- твой. И потом просто git diff upstream-code my-code >my.patch

Опять же удобно мержить в свои наработки изменения от авторов да и вообще удобно.

php-coder ★★★★★
()
Ответ на: комментарий от php-coder

mercurial удобнее чем git. плюс mq рулит, как уже тут сказали.

anonymous
()
Ответ на: комментарий от Davidov

> В том же Mercurial можно сделать hg pull ... && hg update, и он сам внесёт необходимые изменения.

> Вручную с diff'ом будет сложнее.


hg export/hg import и выдаётся набор патчей
или hg bundle/unbundle

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.