Dy mjete thelbësore në zhvillimin e softuerëve janë Patch dhe Diff . Mënyra se si funksionojnë ato nuk është mister, por mendoj se ky do të jetë një postim interesant. 😉
Të dy janë shumë të fuqishëm, dhe kjo është njësoj si prekja e sipërfaqes, ato kanë më shumë shërbime dhe funksione të tjera. Në thelb me këto dy mjete mund të krijojmë kontroll të versionit,
ndrysh
Ne i referohemi krahasimit, krahason një skedar "origjinal" me atë "të ri" dhe na informon për ndryshimet që ekzistojnë midis tyre. Ky mjet gjithashtu na lejon të krijojmë skedarë .patch që i përdorim për të krijuar arna për programet tona.
copë toke
Shtë komanda me të cilën ne fjalë për fjalë "patch" skedarin tonë origjinal, duke shtuar dhe / ose hequr linja sipas udhëzimeve të përfshira në skedarin .patch
Ekziston edhe vimdiff , një mjet vizual për të aplikuar patch-e pa pasur nevojë për një skedar .patch, pasi krahason versionet "origjinale" dhe "të reja", dhe ju lejon të modifikoni rresht pas rreshti ose të gjithë dokumentin brenda të njëjtit skedar. Nuk do ta shpjegoj këtë, por mendoj se ia vlen të përmendet.
shembull
Tani argëtimi është. Shembull!
Ky është rasti, ne kemi një skenar të shkëlqyeshëm që kërkon emrin dhe moshën tuaj, nëse jeni mbi 18 vjeç ju tregon se mund të votoni, përndryshe ju tregon se nuk mund të votoni.
origjinale.sh
#! / bin / bash jehonë "Vendosni emrin tuaj:" lexoni emrin echo "Shkruani moshën tuaj:" lexoni moshën nëse [[18-lt $ mosha]] pastaj jehoni "Përshëndetje $ name, ju jeni $ vjetër dhe ju mund të votoni! " tjetër jehonë "Përshëndetje $ name, ju jeni $ vjetër dhe nuk mund të votoni ..." fi
Imazhi i kodit në Vim
Bërë, këtu është skenari i ekzekutimit:
Gjithçka duket se po funksionon mirë
Pra, si përdorues të mirë që jemi, ne ndajmë skenarin tonë me një mik :), por kemi një mesazh që thotë se ka një të metë, që kur të jetë 18 vjeç të thotë se nuk mund të votojë kur duhet.
Gabim logjik
Tani fillojmë të korrigjojmë gabimin e vogël dhe të bëjmë disa modifikime ...
të reja.sh
#! / bin / bash maxAge = 18 jehonë "Vendos emrin tënd:"; lexoni jehonën e emrit "Shkruani moshën tuaj:"; lexo moshën nëse [[$ maxAge -le $ moshë]]; atëherë jehoni "Përshëndetje $ name, ju jeni $ vjeç dhe mund të votoni!" tjetër jehonë "Përshëndetje $ name, ju jeni $ vjeç dhe nuk mund të votoni ..." fi dalje 0
Kod i ri i shkruar në Vim
Supozoni se skenari është shumë i rëndë. Pra, për të shmangur dërgimin përsëri të gjithë skriptit, ne krijojmë një .patch
$ ndrysh -u origjinal.sh new.sh> patch.patch
Dhe tani kemi patch-in tonë. Ja një pamje në Vim :
Kështu duken udhëzimet për një .patch. Në të bardhë vijat që nuk janë modifikuar, në blu ato që hiqen, në portokalli ato që shtohen.
Për ta aplikuar, thjesht përdorim skedarin .patch në skriptin që do të patch-ohet. Këtu quhet originalAmigo.sh , i cili është një kopje e saktë e skriptit origjinal .sh .
Skenari i shokut
$ patch origjinalFriend.sh <patch.patch
Dhe kjo e lë skedarin tonë origjinal Amigo.sh si ky:
Shkrim shoku pas aplikimit të patch-it
Siç mund ta shihni është shumë e lehtë për të marrë ndryshimet dhe për të aplikuar arnimet. Të gjitha janë nga unë.
Përshëndetje njerëz, ne do të lexojmë të Premten e ardhshme.