Patch használata

Paal képe

Üdv,

Hogyan kell használni a patch fájlokat? Konkrétan az lenne a kérdés, hogy pl. ha megjelenik egy patch fájl az Issues listában, azt melyik verzióra kellene alkalmazni?

Az Image assist lenne szó.
Az elején azt írja: Version: 5.x-1.x-dev

Ezt a verziójút kell letöltenem, és erre alkalmazni a javítást? Vagy szépen sorba? Először az 1-est, majd a 2-est, stb.

Köszi, Pali

Anonymous képe

Ahogy nézem nem is olyan egyszerü...
Hogy is kell pontosan ???

0
0
pp képe

Ha megnézed a két patch fájlt, akkor látod benne, hogy mindkettő februári dátummal rendelkezik (mint ahogyan ezt az idézet topicnál is nyomon követhető.)

Ha jobban beletúrsz a két patch fájlba ami a topicban van (1, 2) láthatod, hogy az egyik az img_assist.module fájl 1.68 a másik az 1.68.2.1 verziójához készült.

Ha megnézed az image assist weboldalát akkor itt látod, hogy van egy stabil (1.5) verzió ami nov 19.-n jött ki, tehát nagyon valószínű, hogy tartalmazza a fenti javításokat. Már csak azért is mert az idézett hiba lezárt(closed) állapotban van.

Ha ránézel a projekt cvs-ére akkor láthatod a stabil(1.5) és a fejlesztői (1.x-dev) ágat is. Láthatod, hogy az egyikben az 1.68.2.43 a másikban az 1.68.2.44 img_assist.module fájl található meg.

további perverzióként belenézhetsz a későbbi patch fájlba valamint az 1.5-ös 1.68.2.44 verzióba.

A patch fájl elején találsz egy ilyet:

@@ -750,7 +750,7 @@
  */
 function img_assist_properties() {
   $nid = arg(2);
-  $edit = (arg(3)) ? 1 : 0; // edit is put into a hidden field so the javascripts can see it
+  $update = (arg(3)) ? 1 : 0; // update is put into a hidden field so the javascripts can see it

Ez azt jelenti, hogy a 750. sorban történt a változás (a module fájlban inkább az img_assist_properties() függvényt keresd;)) A sor ami előtt mínusz van törlődött a sor ami előtt plusz van az létrejött, magyarán a mínuszos sor lecserélődött a pluszosra.
Ezt látod is a fájlban.
function img_assist_properties() {
  $nid = arg(2);
  // Update is put into a hidden field so the javascript can see it.
  $update = (arg(3)) ? 1 : 0;

Természetesen a verziókövetésnek hála a teljes változás sor is megtekinthető

A kérdésedre a válasz egyébként (man patch):
patch eredetifájl patchfájl

Otthon érdemes kipróbálni a következőt:
1. elkészít text1.txt és text2.txt (text2 a text1 változtatása mondjuk még egy sor)
2. diff text1.txt text2.txt > text.patch
3. patch text1.txt text.patch
4. text1.txt és text2.txt összehasonlítása, örülünk.

(mindez ubuntu linux alatt, de ugye diff és patch van ablakozósra is, csak hadnekeressem ki és legyen ez hf, vagy dobjatok fel egy linuxot, vagy egy ubuntu live cd-t vagy mittudomén legyetek kreatívak!)

pp

0
0
Pasqualle képe

windows alatt ezt a klienst tudom ajanlani.

http://www.wincvs.org/download.html#wincvs_recommended

0
0
Pasqualle képe

kezdenem azzal, hogy a belinkelt issue mar regen megoldott, szoval az mar resze az uj verzionak, nem kell mar csinalni vele semmit.

patch-et mindig a friss kodra kell irni, a friss kod alatt a cvs verziokezeloben tarolt forrast kell erteni. egyetlen kivetel van amikor regi verziohoz keszul valamilyen hibajavitas.
az issue listaban megjelolt verzio azt mondja meg, hogy a hiba melyik (legujabb) verzioban fordul elo.

a patch-et mindig a cvs verziora kell alkalmazni, megeshet, hogy a dev verziora is rahuzhato ha eleg friss, de nem ez a szokvanyos eljaras.
a patch-et valamilyen cvs kliens programmal szokas alkalmazni (rahuzni), de megoldhato kezi modszerrel, szovegszerkesztessel is, mivel a patch modositasai jol olvashatoak. csak igy eleg konnyu elgepelni..

egy issue-n belul mindig csak egyet, a legutolso patch-et szokas tesztelni. de ha tobb van neha erdemes atolvasni, hogy masok hogyan probaltak megoldani a problemat.

osszefoglalva patch hasznalat.
1. cvs-bol letolteni a kivant modult
2. letolteni a patchet
3. rahuzni a modulra

az issue listaban levo patch-eket soha nem szabad eles weboldalon alkalmazni! csakis tesztelesre.

nem tudom, hogy mennyire ertheto amit igy gyorsan leirtam..

0
0
Anonymous képe

''@@ -750,7 +750,7 @@
*/
function img_assist_properties() {
$nid = arg(2);
- $edit = (arg(3)) ? 1 : 0; // edit is put into a hidden field so the javascripts can see it
+ $update = (arg(3)) ? 1 : 0; // update is put into a hidden field so the javascripts can see it

Ez azt jelenti, hogy a 750. sorban történt a változás (a module fájlban inkább az img_assist_properties() függvényt keresd;)) A sor ami előtt mínusz van törlődött a sor ami előtt plusz van az létrejött, magyarán a mínuszos sor lecserélődött a pluszosra.,,

És a sorjelző szám után az található ( -750,7 ) hány sort kell törölni ??

0
0
Pasqualle képe

csak azokat a sorokat kell torolni ahol minusz jel van a sor elejen
csak azokat a sorokat kell hozzaadni ahol plusz jel van a sor elejen

a 750, 7 azt jelenti, hogy a patch a 750edik sortol kezdodoen 7 sort mutat

azert van a 750,7 ketszer, mert megadja, hogy a patch elott es patch utan hogyan valtoznak meg a sorok. mivel egy sor torlodik es egy sor hozzaadodik a sorjelzo nem valtozik, ugyanaz marad..

0
0