Autoriõigus © 2007 Sean Wheller
Käesolevat dokumenti võib kopeerida, edasi levitada ja/või muuta vastavalt GNU Vaba Dokumentatsiooni Litsentsi tingimustele, nagu need on avaldanud Vaba Tarkvara Fond; kas Litsentsi versioon 1.1 või ükskõik milline hilisem versioon; kaasa arvatud mittemuudetavad sektsioonid (puudub), esikaane tekstid (puudub), ja tagakaane tekstid (puudub). Litsentsi koopiaga võimaldab tutvuda sektsioon "GNU Vaba Dokumentatsiooni Litsents".
Kompare graafiline rakendus, mis võimaldab vaadata lähtefailide erinevusi ja neid ühendada. Komparet võib kasutada nii failide kui ka kataloogide erinevuste võrdlemiseks. Kompare toetab väga mitmesuguseid diff-failide vorminguid ning pakub arvukalt võimalusi kuvatava teabe kohandamiseks.
Käesolev käsiraamat kirjeldab Kompare versiooni 3.4.
Sisukord
Kui kaks või enam inimest töötavad ühe ja sama faili kallal ning saadavad seda edasi-tagasi, muutub tasapisi keeruliseks näha, milliseid muutusi on faili uues versioonis tehtud. Üks võimalus on avada kõrvuti uus variant ja originaal, kuid see nõuab aega ja vaeva ning võib kergesti tuua kaasa vigu. Siinkohal tulebki kasuks rakendus, mis on spetsiaalselt mõeldud erinevuste näitamiseks (nende kohta tarvitatakse sageli inglise keelest tulenevat lühendit diff).
Nagu oodata, on sellisele programmile parim nimi "diff". Ja nii ongi: programm diff on paigaldatud enamasti kõigis Linux® distributsioonides ja selle ülesanne ongi erinevuste näitamine. Arendajad kasutavad diff'i sageli käsureal, et uurida lähtekoodi versioonide erinevusi. Kuid diff'i kasutamine ei ole kaugeltki piiratud lähtekoodiga - selle abil võib uurida väga paljusid tekstifaile.
Diff'i kasutamine käsureal on samas tülikas, juba selle käskude süntaksi õppimine ja väljundi tõlgendamine võib kogenematumaid kasutajaid täiesti segadusse ajada. Siin tulebki mängu Kompare. Programmi diff graafilise kasutajaliidesega saab näidata lähte- ja sihtfaili teineteise kõrval, kusjuures erinevused on automaatselt esile tõstetud. Samas saab kohe ühe faili erinevusi rakendada teisele failile igati kontrollitud viisil. Sugugi kõiki erinevusi pole vaja rakendada, nii mõnedki erinevused võivadki jääda 'rakendamata'. Kui kõik vajalikud muudatused on rakendatud, saab faili salvestada ning rakendus, milles see loodi, näitab seda taas nagu iga teist faili.
Lisaks lähte- ja sihtfaili erinevuste kuvamisele võib Kompare abil luua ja vaadata spetsiaalset faili 'diff'. See koondab kahe faili erinevused ühte faili, mis võimaldab erinevusi ühekorraga näha ja vajaduse korral neid faili uuele versioonile rakendada. Võtame taas näite, kus kaks inimest redigeerivad üht dokumenti. Esimene soovib teha muudatusi ja saata teisele ainult tehtud muudatused. Tavaolukorras saadaks esimene isik teisele kogu muudetud dokumendi, kes peab siis seda eelmise variandiga külg külje kõrval võrdlema. Kompare abil võib aga esimene isik teha kõigepealt muudetavast failist kohaliku koopia, siis võtta ette kõik vajalikud muudatused ning võrrelda originaaili ja muudetud dokumenti. Kompare võimaldab teda diff-faili, mis sisaldab ainult tehtud muutusi. Nüüd võib terve faili asemel teisele isikule saata ainult muutusi sisaldava faili.
Kompare abil saab teine isik uurida diff-faili, võrreldes seda dokumendi kohaliku koopiaga ning rakendada sellele esimese isiku tehtud muudatused. Nii võib asi kulgeda edaspidigi: mõlemad teevad oma muudatusi, loovad diff-faili, saadavad selle teisele ning rakendavad tehtud muudatused. Seda nimetatakse enamasti "paikamiseks" - mõiste on kasutusele võetud programmi "patch" eeskujul, mille nimi tõlkes tähendabki paika ning mis on veel üks käsureatööriist spetsiaalselt diff-failide rakendamiseks.
Mõnikord võib juhtuda, et inimesed muudavad faili ühel ja samal ajal. Sellisel juhul ei saa välistada sedagi, et nad teevad muudatusi täpselt ühes ja samas reas. See võib tekitada probleeme, sest saadud diff-faile rakendades võidakse sel moel üksteise töö üle kirjutada. Õnneks on programmide diff ja patch arendajad sellise võimalusega arvestaud ning tööriistad ei luba selliseid muudatusi rakendada ilma käsitsi sekkumiseta. Kui tekib selline olukord ehk "konflikt", näitab Kompare konflikte, et saksid need käsitsi lahendada, otsustades, millised muudatused millisele failile rakendada.
Kompare on suureks abiks ka failimuutuste võrdlemisel kataloogi tasemel. Kataloogide võrdlemisel uurib Kompare rekursiivselt läbi kõik alamkataloogid ja nende failid, et tuvastada erinevused. Sel juhul avatakse kõik erinevustega failid automaatselt ning Kompare pakub võimaluse väga hõlpsalt kõigi failide vahel liikuda.
Käesolevas osas tutvustatakse Kompare käivitamist ja antakse kiirülevaade Kompare peaaknast.
Kompare saab kiiresti käivitada K-menüü alammenüüst Arendus: ->.
Kompare esimesel käivitamisel avatakse dialoog, kus saab valida, milliseid faile võrrelda. Samas saab valida ka võrdluse ja välimuse omadusi. Vali failidialoogiga võrreldavad läthe- ja sihtfail. Need võivad olla mis tahes kaks faili, kataloogi või ka URL ja fail. Kui lähte- ja sihtfail on valitud, klõpsa .
Kui Kompare on erinevused tuvastanud, kuvatakse peaakent. Kaht faili või URL- ja faili võrreldes võtab see vaid mõne sekundi aega, kuid arvukate alamkataloogide ja failidega katalooge võrreldes võib tükk aega kuluda.
Võrdlemise ja välimuse osas määratavaid valikudi tutvustab lähemalt Peatükk 3, Seadistamine.
Käesolevas osas tutvustatakse lühidalt peaakent, mis koosneb järgmistest osadest:
Menüüd
Tööriistariba
Lähte- ja sihtkataloogid
Lähte- ja sihtfailid
Lähte- ja sihtfaili ridade erinevused
Lähte- ja sihtfaili tekstivaade
Olekuriba
Kompare juhtimine käib menüüde abil. Menüükirjeid selgitab lähemalt Peatükk 4, Käskude seletused.
Kompare tööriistariba võimaldab kiiresti kasutada kõige levinumaid võrdlemis- ja ühendamistoiminguid. Tööriistariba orientatsiooni, teksti asetust, ikoonide suurust ja seda, milliseid ikoone kuvatakse, saab kohandada tööriistariba kontekstimenüü abil, mis avaneb tööriistaribal hiire parema nupuga klõpsates. Kontekstimenüü abil saab tööriistariba ka täielikult peita. Kui see on peidetud ja sa soovid seda taas näha, vali ->.
Lähte- ja sihtkataloogi paneelil kuvatakse katalooge, milles asuvad võrreldavad failid. Kui võrdlusse on kaasatud palju alamkatalooge, kuvatakse kataloogi valimisel esimest selles asuvat dokumenti, mille puhul tuvastati läthe- ja sihtfaili erinevusi.
Lähte- ja sihtfaili paneelil kuvatakse faile, mille puhul tuvastati erinevusi parajasti valitud lähte- või sihtkataloogis. Kui kataloogis on hulga erinevusi sisaldavaid dokumente, lisatakse kõik need nimekirja. Kuvatakse valitud dokumenti.
Lähte- ja sihtfaili ridade muudatuste paneelil kuvatakse lähte- ja sihtfaili vahel tuvastatud erinevuste kokkuvõtet. Kirje valimine paneelil tõstab esile ning valib erinevuse. See on abiks pikkades ja paljude erinevustega dokumentides liikumisel.
Lähte- ja sihtfaili vaade on Kompare peamine tööala. Selles kuvatakse valitud lähte- ja sihtfaili sisu ning esiletõstmisega erinevusi koos reanumbritega.
Olekuriba näitab parajasti võrreldavate lähte- ja sihtfailide või -kataloogide kokkuvõtet. Samuti näeb seal aktiivses dokumendis leitud muudatuste ning rakendatud erinevuste arvu. Lisaks näitab olekuriba valitud dokumendikogumis erinevusi sisaldavate dokumentide koguarvu ning hetkel võrreldava dokumendi järjekorranumbrit kogumis. Nii võib näiteks kahe kataloogi võrdlemisel tekkida 1890 erinevusi sisaldavat faili ning aktiivne dokument olla 18. dokument 1890-st.
Kompare eraldab lähte- ja sihtfailile peaaknas ühepalju ruumi. Vaatealas saab aga kasutada teatud vahendeid, mis aitavad paremini erinevusi uurida:
Kõige silmatorkavam võimalus on kerimisriba nii vaateala paremas servas kui ka allservas. Kerimisribadega saab kiiresti dokumentides liikuda.
Lähte- ja sihtfaili eraldav püstine riba lubab mõlemal poolel väga selgelt näha ridade algust ja lõppu, kuid lisaks sellele saab seda ka liigutada ja sel moel muuta lähte- või sihtfailile vaates antavat ruumi. Selleks vii hiirekursor püstriba peale, klõpsa ja lohista seda vastavalt vajadusele vasakule või paremale. Enesestmõistetavalt tähendab ühe poole suurendamine teise poole vähenemist.
Peamist tööala saab peaaknast eraldada, kui klõpsata selle parempoolses ülanurgas asuvale nupule . See muudab tööala omaette aknaks, mida võib maksimeerida või muul moel ekraanile paigutada.
Olekuriba näitamist saab sisse ja välja lülitada menüükäsuga ->.
Mõnikord on tulus kaaluda, milline fail võtta erinevuste vaatlemisel võrdlemise aluseks, näiteks siis, kui faili kaht muudetud versiooni võrreldes leiad, et ühes on muudatusi palju rohkem kui teises. Sel juhul sobib paremini lähtefailiks rohkemate muudatustega fail, sest sel juhul on vaja vähem erinevusi rakendada.
Sel juhul vali menüükäsk ->. See vahetab failid kõigis Kompare paneelides.
Erinevuste kiireks ülevaateks vali menüükäsk ->. See avab dialoogi Võrdlemise statistika. Selle näeb järgmist teavet:
Tavaliselt sihtfaili või siis muutusteta faili nimi, millele erinevused rakendatakse.
Tavaliselt lähtefaili või siis faili nimi, mida on muudetud.
Erinevuste kuvamiseks kasutatud võrdlemisvorming (vt “Vorming”).
Võrdlemisel leitud tükkide arv.
Tükk (inglise keeles 'hunk', mis tuleneb sõnas “chunk”) on ridade kogum, milles lähte- ja sihtfail erinevad; nende hulka võivad kuuluda ka kontekstiread, kui võrdlemisvorminguks on valitud Kontekst (vt. “Vorming”).
Tegelike erinevuste, mitte tükkide arv. Tükk võib sisaldada rohkem kui üht erinevust, kui kahe või enama muutuse read ja kontekstiread kattuvad.
Kompare võimaldab kiiret liikumist erinevuste vahel failide puhul ning paljude erinevate failide vahel kataloogide puhul.
Erinevust saab valida:
klõpsuga reale lähte- ja sihtfaili ridade muutuste paneelil (peaaknas ülal paremal).
klõpsuga esiletõstetud esinevusele vaatepaneelis.
toodud erinevusi võrdluses kõrvutades (vt. “Erinevuste kõrvutamine”).
Kui erinevus on valitud, satub see “fookusse” ning seda kuvatakse mittevalitud erinevustega võrreldes heledama värviga.
Kui võrdlemisel leitakse palju erinevusi, on neid kõige etem uurida erinevusi loogilises järjekorras läbi vaadates, tavaliselt ülalt alla.
Vaikimisi valib Kompare esimese võrdlemisel leitud erinevuse. Valides menüükäsu -> (Ctrl+Nool alla), tuuakse fookusse aktiivsele valikule järgnev erinevus. Aktiivsele valikule eelneva erinevuse nägemiseks vali menüükäsk -> (Ctrl+Nool üles).
Sel moel saab erinevused kenasti läbi uurida ja neid rakendada või rakendamata jätta.
Kui võrrelda katalooge, siis võib leida palju erinevustega faile. Nende täieliku nimekirja annavad paneelid “Lähte- ja sihtkataloogid” ning “Lähte- ja sihtfailid”. Kuid Kompare näitab korraga ainult ühe lähte- ja sihtfaili erinevusi.
Dokumentide vahel saab sellisel juhul lülituda järgmiselt:
Vali “Lähte- ja sihtkataloogide” paneel, misjärel paneelil “Lähte- ja sihtfailid” näeb erinevustega faile, mille seast vali vajalik.
Vali menüükäsk -> (Ctrl+PageUp) või ->(Ctrl+PageDown), et näha vastavalt eelmis või järgmist erinevustega faili, mis on ära toodud paneelil “Lähte- ja sihtfailid”.
Kompare muudab erinevuste rakendamise või eemaldamise äärmiselt lihtsaks - seda saab teha vaid hiireklõpsuga. Rakendamist võib sooritada korduvalt, sest kõik toimingud sooritatakse mälus ja kirjutatakse kettale alles siis, kui fail salvestatakse.
Erinevuse rakendamiseks klõpsa esiletõstetud erinevusele ja vali menüükäsk -> (Tühikuklahv).
Erinevuse eemaldamiseks klõpsa esiletõstetud erinevusel, mille varem rakendasid, ja vali menüükäsk -> (Backspace).
Kui oled kõik failide erinevused läbi vaadanud ja arvad, et neid võiks kõiki rakendada, vali menüükäsk -> (Ctrl+A).
Erinevusfailid (diff-failid) sisaldavad ainult failide erinevusi ning võivad sisaldada ka teatud hulka kontekstiridasid enne ja pärast erinevaid ridu. Muudetud ridade ja selle kontekstiridade kogumit nimetatakse tükiks. Võrdlusfail võib niisiis sisaldada mitut tükki ühest või enamast failist. Kui kahe või enama tüki kontekstiread kattuvad, peetakse neid üheks tükiks. Erinevusfaile saab kasutada järgmisteks ülesanneteks:
Tükkides sisalduvate muudatuste rakendamiseks originaalfailile.
Tükkides sisalduvate muudatuste rakendamiseks originaalfailile või failikogumile.
Muutmiseks enne rakendamist originaalfailile või failikogumile.
Erinevusfaili loomiseks tuleb võrdlust Kompares kuvada. Seejärel vali menüükäsk ->. See avab dialoogi Diffi valikud (täpsemalt kõneleb diffi vormingutest ja valikutest “Võrdlemise seadistused”). Pärast valikute määramist klõpsa nupule ning salvesta erinevused faili laiendiga .diff
.
Diff-faili on võimalik Kompares ka vaadata, kui see avada menüükäsuga->
Diff-faili kuvamisel näidatakse lähte ja sihtfaili tükke. Pea meeles, et näidatakse ainult tükke, mitte aga muutusteta ridu. Mõnel juhul luuakse diff-fail üldse ilma kontekstiridadeta. Sel juhul on näha ainult muudetud read.
Kui diff-fail sisaldab tükke mitmest failist, näitab Kompare korraga ainult ühe faili tükke ning sa saad failide vahel liikuda, nagu oleksid nad tegelikud failid, ehkki nende info pärineb kõigest diff-faili sisust.
Diff-faili erinevusi vaadates saab neid rakendada samamoodi, nagu lähte- ja sihtfaili võrdlemisel (vt. “Erinevuste ühendamine”).
Diff-faili korral on võimalik võrrelda selle tükke faili või kataloogiga. Selleks vali menüükäsk ->. Seejärel anna faili/kataloogi ja diffi väljundi asukohad.
Lähtefaili ja diff-faili erinevusi vaadates võib neid rakendada samamoodi, nagu lähte- ja sihtfaili võrdlemisel (vt. “Erinevuste ühendamine”).
Kompare lubab kasutajatel määrata erinevuste vormindust peaaknas ning muuta programmi diff käitumist. Dialoogi Seadistused avamiseks vali ->
Välimuse seadistamiseks vali kaart Vaade (vt. “Vaateseadistused”).
Programmi diff omaduste seadistamiseks vali kaart Diff (“Võrdlemise seadistused”).
Dialoogi Seadistused kaardil on kaks alamkaarti: Välimus ja Fondid.
Kaart Välimus võimaldab määrata värve, mida kasutatakse erinevuste tähistamisel peaaknas, hiireratta käitumist kerimisel ning seda, kuidas muuta tabeldusmärgid tühikuteks.
Värvisektsioon
Erinevuste kuvamisel kasutatavate värvide muutmiseks klõpsa värvide valimise sektsioonis värvinuppudele. Muuta saab järgmisi värve:
Read, mis on eemaldatud ja mida enam ei ole.
Read, mis on muudetud.
Read, mis on lisatud.
Mis tahes eelnevalt toodud olek, mille korral erinevus on rakendatud.
Hiireratas
Ridade arv, mille võrra hiireratas kerib.
Tabeldusmärgid tühikuteks
Tühikute arv, millega tabeldusmärgid asendatakse.
Dialoogi Seadistused kaardil on järgmised alamkaardid: Diff, Vorming, Valikud ja Väljajätmine. Nende abil saab seadistada programmi diff käitumist.
Siin saab kohandada väljundvormingu omadusi ja kontekstiridade arvu.
Väljundvorming
Kontekstiväljundi korral lisatakse erinevusi sisaldavate ridade ümber mõned kontekstiread.
Programm diff võib anda käske, mis annavad tekstiredaktorile ed korralduse muuta üks fail teiseks. Ajalooliselt oli see ainuke väljundrežiim, mis sobis ühe faili automaatseks muutmiseks teiseks. Programmi patch loomise järel kasutatakse seda haruharva.
Tavaline väljundvorming näitab erinevusi sisaldavaid ridu ilma kontekstiridadeta.
RCS väljundvorming on mõeldud spetsiaalselt vertsioonikontrollisüsteemile (RCS). Nagu Edi vormingut, kasutatakse ka seda pärast programmi patch ilmumist haruharva.
Unifitseeritud väljundvorming on kontekstivormingu erim. Seda peetakse mõnevõrra paremaks, sest väljund on üleliigsete kontekstiridade väljajätmise tõttu märksa kompaktsem.
Kõrvuti väljundvormingu korral esittakse failid kahes veerus. Seda valikut saab kasutada ainult dialoogis Diffi valikud (vt. “Erinevusfaili loomine”).
Kontekstiread
Konteksti või unifitseeritud väljundvormingu valimisel saab siin määrata, mitu kontekstirida väljundisse kaasatakse.
Kaardil Valikud saab seadistada programmi diff valikuid.
Üldine
Märkimisel kuvab diff ka muudatusi tähesuuruses, kirjavahemärkides, tühikutes jne.
Märkimisel töötleb diff faile äärmise kiirusega.
Märkimisel ei arvestata väike- ja suurtähe erinevustega.
Ignoreeritakse regulaaravaldist
Ignoreeritakse määratud regulaaravaldisega ridu.
Tühimärk
Märkimisel muudetakse diffi väljundis tabeldusmärgid tühikuteks, mille arv on määratud dialoogi Seadistused kaardil valikuga Tabeldusmärgid tühikuteks.
Märkimisel eiratakse null märgi pikkuste ridade erinevusi.
Erinevates redaktorites võib tühimärkide arv enne ja pärast ridu ning nende vahel olla erinev. Märkimisel selliseid erinevusi eiratakse.
Märkimisel eiratakse täielikult tühimärkide erinevusi.
Märkimisel eiratakse tabeldusmärkide tühikuteks muutmisest põhjustatud erinevusi.
Kaardil Väljajätmine saab määrata programmi diff filtreerimisseadistusi.
Väljajäetavad failimustrid
Väljajäetavad failid vastavalt metamärkidega määratud filtritele
Väljajäetavad failinimed
Filtri kehtestamine vastavalt väliselt hallatud faili sisule.
Avab dialoogi Avamine.
Avab dialoogi Failide või kataloogide võrdlemine.
Avab dialoogi Faili/kataloogi liitmine võrdlemise väljundiga.
Kirjutab rakendatud erinevused aktiivsesse lähte- ja/või sihtfaili.
Kirjutab rakendatud erinevused kõigisse lähte- ja/või sihtfailidesse.
Avab dialoogi Diffi valikud, kus saab määrata diff-faili vormingu ja valikud.
Muudab lähtefaili sihtfailiks ja vastupidi.
Avab dialoogi Võrdlemise statistika.
Lõpetab Kompare töö.
Eemaldab kõik varem rakendatud erinevused.
Eemaldab valitud varem rakendatud erinevuse.
Rakendab valitud erinevuse.
Rakendab kõik erinevused.
Muudab vaatepaneelis aktiivseks erinevuste nimekirja eelmise erinevuse.
Muudab vaatepaneelis aktiivseks erinevuste nimekirja järgmise erinevuse.
Valib aktiivsele valikule eelneva erinevuse.
Valib aktiivsele valikule järgneva erinevuse.
Lülitab tööriistariba näitamist.
Lülitab olekuriba näitamist.
Näitab tekstivaadet.
Avab dialoogi Kiirklahvide seadistamine.
Avab dialoogi Tööriistariba seadistamine.
Avab Kompare seadistustedialoogi.
Käivitab KDE abisüsteemi ja avab Kompare abimaterjali (käesoleva käsiraamatu).
Muudab hiirekursori noole ja küsimärgi kombinatsiooniks. Klõpsates nüüd mõnel Kompare elemendil, avaneb väike abiaken (kui see on antud elemendi kohta olemas), mis selgitab elemendi funktsiooni.
Avab vearaporti dialoogi, mille abil saab teada anda veast või esitada oma “soov” millegi parandamiseks.
Näitab versiooni ja infot autori kohta.
Näitab KDE versiooni ja muud olulisemat põhiinfot.
Kompare
Rakenduse autoriõigus 2001-2004: John Firebaugh (jfirebaugh AT kde.org)
ja Otto Bruggeman (otto.bruggeman AT home.nl)
Dokumentatsiooni autoriõigus (c) 2007: Sean Wheller (sean AT inwords.co.za)
Tõlge eesti keelde: Marek Laane (bald AT starman.ee)
Käesolev dokumentatsioon on litsenseeritud vastavalt GNU Vaba Dokumentatsiooni Litsentsi tingimustele.
Käesolev programm on litsenseeritud vastavalt GNU Üldise Avaliku Litsentsi tingimustele.
Kompare on osa KDE projektist http://www.kde.org/.
Kompare asub paketis kdesdk KDE projekti peamises FTP saidis ftp://ftp.kde.org/pub/kde/.
Et Kompare oma süsteemis kompileerida ja paigaldada, anna Kompare baaskataloogis järgmised käsud:
%
./configure
%
make
%
make install
Kuna Kompare kasutab autoconf'i ja automake'i, ei tohiks kompileerimisel probleeme esineda. Kui neid siiski ette tuleb, anna sellest palun teada KDE meililistides.
Would you like to make a comment or contribute an update to this page?
Send feedback to the KDE Docs Team