patch hogy is kell ezt?

Fórumok

Nem vagyok a helyzetem magaslatán - emészt a virus :(
Van egy mappa benne úgy egy tucat forrás fájl. Van EGY patch fájlom, benne mindenféle okossággal, szemmel láthatóan több fájlhoz is módositana (a mappában). Hogy kellene használnom a patch parancsot?

$forrás_mappa/patch < patch_file

Hozzászólások

alapesetben:

cat diff_file | patch -p1

A diff fájl típusától függően p1 vagy p0:

patch -p1 < diff_file

elég egy lépésben is, ha viszont tömörített a patch akkor

zcat diff_file.gz | patch -p1

--
falura elmegy, városban meg úgy sem nézik...

A patch akkor dob hibát, nevezetesen, hogy sikertelen a patch, ha a file(ok) azon a helyen ahova a patchet tenni kellene különböznek attól ami a diff -ben szerepel. Valószínű oka ennek az lehet, hogy a ptach és az eredeti verziója nem stimmel. Tipikusan olyankor szokott ez megtörténni (velem), ha mondjuk egy x.y.z verzióhoz való patchet feltesze(d|m) a fejlesztői verzióra.

----
올드보이
http://molnaristvan.eu/

Bocsánat! Becsaptalak benneteket :(
A patch -p switch nélkül, vagy -p0 -val hibajelzés nélkül le fut! Nem számoltam de minden érintett forrás fájlon, csont nélkül lefut.

A forditás (ugyebár ez egy forrás csomag) dobálja ugyanazokat a hibákat, igy is, úgy is.

* Én egy indián vagyok. Minden indián hazudik.

A -pn kapcsoló azt szabályozza, hogy a patch-ben szereplő fájlok elérési útjaiból hány könyvtárnyit vágjon le.

pl. ha úgy van a patch-ben, hogy
--- original/path/to/source/file.c
+++ different/path/to/source/file.c

akkor a -p1 levágja az első tagot (different ill. original) és az aktuális könyvtárhoz képest a ./path/to/source/file.c-t fogja keresni.

Ajánlom még a --dry-run kapcsolót.