Обычная практика при использовании патча GNU вручную - PullRequest
0 голосов
/ 06 января 2012

Скажем, у меня есть локально измененный файл my_V1 и более новая официальная версия того же файла: V2, но их общий предок V1 исчез.

И я хочу объединить некоторые из изменений my_V1 в V2, чтобы получить my_V2, что является обычной практикой для их различий, просмотра патча и применения патч.

То, что я делаю, в основном похоже на

diff -U V2 my_V1 > my_patch      #generate a unified patch
vi my_patch                      #review it
patch V2 -o my_V2 -i my_patch    #apply

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

Это то, что мы должны иметь при использовании GNU DIF?

или я должен использовать patch и diff другим, более элегантным способом?

1 Ответ

0 голосов
/ 03 июня 2014

Вы должны взглянуть на patchutils , особенно на команду filterdiff .Его можно использовать для просмотра различий и сохранения только некоторых изменений.

...