Скажем, у меня есть локально измененный файл 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 другим, более элегантным способом?