Kaks olulist tööriista tarkvaraarenduses on Patch ja Diff . Nende tööpõhimõte pole küll saladus, aga ma arvan, et see postitus saab olema huvitav. 😉
Mõlemad on väga võimsad ja see on just nagu pinna puudutamine, neil on rohkem utiliite ja muid funktsioone. Põhimõtteliselt saame nende kahe tööriista abil luua versioonihalduse,
Erinevus
Me viidame võrdlusele, see võrdleb "algset" faili uue failiga ja teavitab meid nende vahelistest erinevustest. See tööriist võimaldab meil luua ka .patch-faile, mida kasutame oma programmidele plaastrite loomiseks.
Plaaster
See on käsk, millega sõna otseses mõttes "lappime" oma algse faili, lisades ja / või eemaldades ridu vastavalt failis .patch sisalduvatele juhistele
Samuti on olemas vimdiff , visuaalne tööriist paranduste rakendamiseks ilma .patch-faili vajamata, kuna see võrdleb "algset" ja "uut" versiooni ning võimaldab teil rida-realt või kogu dokumenti samas failis redigeerida. Ma ei hakka seda selgitama, aga ma arvan, et see on mainimist väärt.
näide
Nüüd on lõbus. Näide!
See on nii, meil on suurepärane skript, mis küsib teie nime ja vanust. Kui olete üle 18-aastane, ütleb see teile, et võite hääletada, vastasel juhul ütleb see, et te ei saa hääletada.
originaal.sh
#! / bin / bash echo "Sisestage oma nimi:" loe nime kaja "Sisestage oma vanus:" loe vanust, kui [[18 -lt $ vanus]] siis kaja "Tere $ nimi, sa oled $ vana ja saad hääletada!" muidu kaja "Tere $ nimi, sa oled $ vana ja ei saa hääletada ..." fi
Vimis oleva koodi pilt
Valmis, siin on töötav skript:
Tundub, et kõik töötab hästi
Nii et kui head kasutajad oleme, jagame oma skripti sõbraga :), kuid saame teate, milles öeldakse, et sellel on viga, et kui ta on 18, ütleb ta, et ei saa hääletada, kui peaks.
Loogika viga
Nüüd hakkame väikest viga parandama ja mõned muudatused tegema ...
uus.sh
#! / bin / bash maxAge = 18 kaja "Sisestage oma nimi:"; loe nimekaja "Kirjuta oma vanus:"; loe vanust, kui [[$ maxAge -le $ vanus]]; siis kaja "Tere $ nimi, sa oled $ aastane ja saad hääletada!" muidu kaja "Tere $ nimi, sa oled $ aastane ja sa ei saa hääletada ..." fi exit 0
Vimis kirjutatud uus kood
Oletame, et skript on väga raske. Seega, et mitte kogu skripti uuesti saata, loome .patch
$ diff -u original.sh new.sh> patch.patch
Ja nüüd on meil paigatud. Siin on vaade Vimis :
Nii näevad välja .paigutamise juhised. Valges muudetud read, sinises eemaldatud read, oranžis lisatud read.
Selle rakendamiseks kasutame lihtsalt parandatavas skriptis olevat .patch-faili. Siin nimetatakse seda originalAmigo.sh ja see on original.sh -skripti täpne koopia .
Sõbra skript
$ patch originalFriend.sh <patch.patch
Ja see jätab meie algse Amigo.sh faili selliseks:
Sõbra skript pärast plaastri rakendamist
Nagu näete, on diffide hankimine ja plaastrite paigaldamine väga lihtne. See kõik on minu päralt.
Tervitades inimesi, loeme järgmisel reedel.