<para>&kompare; és un programa de frontal &IGU; que habilita diferències entre fitxer font per a que es puguin veure o fusionar. Es pot emprar per a comparar diferències sobre fitxers o continguts de carpetes. També suporta una varietat de formats de diff i proveeix moltes opcions per a personalitzar el nivell d'informació mostrada.</para>
<para>Quan dues o més persones treballen sobre un mateix fitxer, van i venen, es torna molt dificultós el veure quins canvis han realitzat a una nova versió o còpia del fitxer. El obrir cara-a-cara la nova còpia i l'original en l'aplicació usada per a crear la còpia final és una solució però resulta laboriós, una gran pèrdua de temps i esdevé un error. Aquí és a on un programa per a mostrar diferències, diffs curts, esdevé d'utilitat.</para>
<para>Tal com s'espera, un nom apropiat per a un programa com aquest seria "diff". Per descomptat dit programa es troba instal·lat sobre la majoria de sistemes bastas en &Linux; i s'usa exactament per a aquest propòsit. Els desenvolupadors usen diff tot sovint, com a una eina de línia de comandaments, per a mostrar diferències entre versions d'un fitxer de codi font. De tota manera, l'ús de diff no es troba limitat a mostrar les diferències, es pot usar sobre molts altres tipus de fitxer basats en text.</para>
<para>Usar diff des de la línia de comandaments pot resultar confús, aprendre la seva sintaxi i desxifrar-ne la sortida pot desanimar la majoria de la gent. Aquí és a on &kompare; entra en el joc. Proveint un frontal gràfic per al programa diff, la interfície mostra els fitxers font i destí cara-a-cara amb totes les diferències automàticament ressaltades. Partint des d'aquest punt, els canvis en un fitxer es poden aplicar seqüencialment a l'altre fitxer sobre una base selectiva i controlada. No tots els canvis necessiten ser aplicats i si n'apliqueu un, aquest sempre es podrà 'desaplicar'. Quan tots els canvis requerits s'hagin d'aplicar llavores es pot desar i es mostrarà com a normal en l'aplicació original emprada per a crear el fitxer.</para>
<para>A més de per a mostrar diferències entre fitxer font i destí, &kompare; es pot usar per a crear i veure un fitxer especial anomenat 'diff'. Aquest fitxer captura les diferències entre les dues fonts dintre d'un únic fitxer que es podrà usar per a veure i aplicar canvis a qualsevol altra còpia del fitxer. Per exemple, si dues persones editen un document. La primera persona crearà canvis i els enviarà a la segona persona. Normalment, la primera persona enviarà una còpia completa de les modificacions a la segona persona, de manera que aquesta haurà de comparar el document modificat cara-a-cara amb una versió sense modificar del document. El procés per a això és una mica més elaborat del que s'ha exposat en els anteriors paràgrafs. Amb &kompare; la primera persona primer haurà de crear una còpia local del fitxer a modificar, llavores crear els canvis i comparar l'original i la còpia modificada. Ara usant &kompare; es podrà crear un fitxer diff que només capturi els canvis fets. Aquests es podran enviar a la segona persona en comptes de tot el fitxer que conté els canvis.</para>
<para>Usant &kompare; la segona persona podrà veure el fitxer diff, comparar-lo amb la còpia local del document i aplicar els canvis fets per la primera persona. De manera que aquest procés es podrà fer sobre moltes versions diferents del document, cada persona podrà fer canvis, crear diff, distribuir-los i aplicar-los. Aquest procés s'anomena comunament "apedaçat" ("patching"), un terme agafat del programa anomenat "patch", el qual és una altra eina de línia de comandaments específicament dissenyada per al propòsit d'aplicar fitxers diff.</para>
<para>A vegades succeeix que gent edita un fitxer alhora. En aquest situació es pot donar el cas que creïn canvis sobre una mateixa línia. Això origina un problema, atès a que si no s'apliquen amb cura, la gent pot estar sobreescriguen la feina d'altres persones que ja han aplicat els seus fitxers de diff. Per sort els desenvolupadors dels programes diff i patch els sembla una qüestió a considerar i aquestes eines no permetran dits canvis sense una intervenció manual. Quan s'abasti dit estat, el coneixereu com a "conflicte". &kompare; els mostrarà de manera que els pugueu resoldre, decidint quins aplicar al fitxer.</para>
<para>&kompare; també és un gran programa per a comparar canvis de fitxer sobre un nivell de carpeta. Quan s'usa per a comparar carpetes &kompare; examina recursivament les subcarpetes i els seus continguts de fitxer per a les diferències. En aquest cas d'ús, cada fitxer a on es trobin diferències serà automàticament obert i llistat per &kompare; en una manera fàcil de navegació entre els diversos fitxers, a ser possible.</para>
<para>Una drecera per iniciar &kompare; es pot trobar en l'ítem <menuchoice><guimenu>Desenvolupament</guimenu><guimenuitem>Kompare</guimenuitem></menuchoice> del &kmenu;.</para>
<para>Quan s'inicia &kompare; la primera cosa que fa és mostrar un formulari de diàleg per a seleccionar els fitxers que voleu comparar. Es poden seleccionar opcions especials per a les propietats del diff i l'aparença. En el formulari de fitxer seleccioneu una font i destí a comparar. Això es pot fer sobre fitxers, carpetes o una &URL; i un fitxer. Una vegada seleccionades la font i el destí feu clic sobre el botó <guibutton>Compara</guibutton>.</para>
<para>Una vegada &kompare; descobreixi les diferències les mostrarà en la interfície principal. El comparar dos fitxers o una &URL; i un fitxer pot prendre uns quants segons. De manera que quan es comparen carpetes amb moltes subcarpetes i fitxers, aquest procés pot prendre una mica més de temps.</para>
<para>Per a una explicació de les opcions disponibles des d'un diff i aparença d'aquest mireu <xref linkend="configure-preferences"/>.</para>
<para>&kompare; proveeix un menú amb una interfície caviant. L'explicació per als ítems de menú i les seves opcions es proveeixen en <xref linkend="command-reference"/>.</para>
<para>La barra d'eines de &kompare; proveeix dreceres per a les operacions de diff i fusionat emprades més sovint. La barra d'eines conté les propietats orientació, posició de text, mida d'icones i quines dreceres d'icona seran mostrades, per a personalitzar el menú de context accedit fent clic amb el &BDR; sobre la barra d'eines. El menú també habilita o oculta la barra d'eines. Si la barra d'eines resta oculta i necessiteu tornar-la a mostrar, seleccioneu <menuchoice><guimenu>Arranjament</guimenu><guimenuitem>Mostra la barra d'eines</guimenuitem></menuchoice>.</para>
<para>Els plafons de carpeta font i destí mostren el contingut del que s'està comparant. Quan en la comparació s'inclouen moltes subcarpetes, llavores seleccionant una carpeta es mostrarà el primer document en dita carpeta que contingui una diferència a mostrar entre la font i el destí.</para>
<para>El plafó de fitxer font i destí mostra els fitxers en els que es troba una diferència per a la carpeta font o destí actual. Quan una carpeta conté múltiples fitxers amb diferències, seran llistats tots els documents amb alguna diferència. El document seleccionat serà mostrat.</para>
<para>El plafó de canvis a línia font i destí recull les diferències trobades entre els documents font i destí. Seleccionar una de les entrades la ressaltarà al plafó i seleccionarà la diferència. Això és d'utilitat per a navegar i inspeccionar documents llargs amb moltes diferències.</para>
<para>La vista font i destí és l'espai de treball principal de &kompare;. El contingut i diferències ressaltades del fitxer font i destí actual són mostrades aquí amb números de línia.</para>
<para>La <guilabel>Vista de text</guilabel> per omissió no és mostrada. Aquesta es pot obrir seleccionant <menuchoice><guimenu>Arranjament</guimenu><guimenuitem>Mostar vista de text</guimenuitem></menuchoice>.</para>
<para>La barra d'estat proveeix un resum del fitxer o carpeta font i destí sota comparació. La barra d'estat també informa el nombre de canvis trobats en el document actual i du la comptabilitat de les diferències que han estat aplicades. A més, la barra d'estat mostar una vista ràpida del nombre de documents que contenen diferències i el número del document que està seleccionat. Per exemple, una comparació sobre dues carpetes pot retornar 1890 fitxers amb diferències. El document actualment seleccionat seria el número 18.</para>
<title>Gestionar l'estat real a la pantalla</title>
<para>&kompare; mostra el fitxer font i destí emprant un tant percent igual de l'àrea de treball de vista en la interfície principal. Aquesta àrea proveeix algunes característiques que ajuden a optimitzar l'ús de l'estat real a la pantalla mentre es visualitzen les diferències, incloent:</para>
<listitem><para>La característica més òbvia és que es proveeixen des barres de desplaçament; una sobre la dreta i l'altra sobre l'esquerra de l'àrea de vista. Usant-les és possible moure's ràpidament a traves de la comparació.</para></listitem>
<listitem><para>L'espai vertical entre la vista font i destí no tan sols fa possible el veure l'inici i final de les línies dels plafons, sinó que també és una nansa que permet ajustar el tant percent ocupat entre les vistes font i destí que comprenen el plafó de vista. Per a canviar la mida del plafó per a una de les vistes, mantenir el punter del ratolí sobre la nansa i llavors premeu el botó del ratolí i arrossegueu-lo a dreta o esquerra. Naturalment, incrementa l'àrea d'un plafó fent minvar l'àrea disponible en els contigus.</para></listitem>
<listitem><para>L'espai de treball principal es pot ancorar des de la interfície principal fent clic sobre el botó <guibutton>desancora</guibutton> localitzat a la part superior dreta del plafó principal. Aquest obre l'espai de treball principal en una finestra pròpia, permetent amidar-la al llarg de la pantalla.</para></listitem>
<para>La barra d'estat del plafó de vista es pot mostar o ocultar seleccionant <menuchoice><guimenu>Arranjament</guimenu><guimenuitem>Mostra/Oculta la barra d'estat</guimenuitem></menuchoice>.</para>
<para>A vegades es pot usar per a considerar quin fitxer amb quines diferències seran aplicades com a la font. Per exemple, quan es comparen dues versions modificades d'un fitxer i es descobreix que un d'aquests conté moltes més modificacions que l'altra. El fitxer amb més canvis fora millor com a font, atès que serà necessari aplicar menys diferències.</para>
<para>En aquest cas seleccioneu <menuchoice><guimenu>Fitxer</guimenu><guimenuitem>Intercanvia font amb destí</guimenuitem></menuchoice>. Això canviarà els fitxers mostrats en tots els plafons.</para>
<title>Mostrar estadístiques de diferències</title>
<para>Per a un resum ràpid de les diferències, seleccioneu <menuchoice><guimenu>Fitxer</guimenu><guimenuitem>Mostra estadístiques</guimenuitem></menuchoice>. El qual mostrarà el diàleg <guilabel>Estadístiques del diff</guilabel>. Es proveirà la següent informació:</para>
<listitem><para>El nom de fitxer que serà usualment el fitxer de destí o el fitxer que restarà sense modificar i al qual s'aplicaran les diferències.</para></listitem>
<para>El nombre de blocs trobats en la diferència.</para>
<para>Un bloc és un <quote><emphasis>bloc</emphasis></quote> de línies que han estat marcades com a diferents entre font i destí i poden incloure línies de context depenent del format de diff, al valor <guilabel>Línies de context</guilabel> (mireu <xref linkend="diff-format"/>).</para></listitem>
<term><guilabel>Nombre de diferències</guilabel></term>
<listitem><para>El nombre de diferències trobades, no blocs. Un bloc pot contenir una o més diferències quan el rang de línia canviada i les línies de context d'un o més canvis es solapen.</para></listitem>
<title>Navegar a través de la vista de diferències</title>
<para>&kompare; habilita la navegació ràpida de diferències sobre un fitxer i de múltiples fitxers quan es tracta de comparar arbres de carpetes.</para>
<para>Quan una diferència està seleccionada aquesta es considera que obté <quote>el focus</quote> i es mostra en un color fort que difereix de les sense seleccionar.</para>
<para>Quan una comparació troba moltes diferències, una de les millors maneres d'entre-les és travessar-les seguint un ordre lògic, usualment de d'alt a baix.</para>
<para>Per omissió &kompare; selecciona la primera diferència trobada en una comparació. Per a seleccionar la diferència següent seguiu la selecció actual fins que obtingui el focus <menuchoice><guimenu>Diferència</guimenu><guimenuitem>Diferència següent</guimenuitem></menuchoice> (<keycombo action="simul">&Ctrl;<keycap>Avall</keycap></keycombo>). Per a seleccionar la diferència anterior seguiu la selecció actual fins que obtingui el focus <menuchoice><guimenu>Diferència</guimenu><guimenuitem>Diferència anterior</guimenuitem></menuchoice> (<keycombo action="simul">&Ctrl;<keycap>Amunt</keycap></keycombo>).</para>
<para>D'aquesta manera és possible travessar les diferències en una manera ordenada, aplicant i desaplicant diferències a mesura que les anem visualitzant.</para>
<para>Quan s'ha realitzat una comparció dintre d'un nivell de carpeta, la majoria de fitxers poden trobar-se amb diferències. Una llista completa dels fitxers comparats amb les diferències trobades és proveida en els plafons <quote>Carpetes font i destí</quote> i <quote>Fitxers font i destí</quote>. De tota manera, &kompare; mostra les diferències entre font i destí en una manera d'una comparació cada vegada.</para>
<para>Per a canviar entre documents en aquest escenari estan disponibles les següents opcions:</para>
<listitem><para>Seleccionar el plafó <quote>Carpetes font i destí</quote> per a mostrar les diferències trobades en el plafó <quote>Fitxers font i destí</quote>, llavors seleccioneu un fitxer.</para></listitem>
<listitem><para>Seleccionar <menuchoice><guimenu>Diferència</guimenu><guimenuitem>Fitxer previ</guimenuitem></menuchoice> (<keycombo action="simul">&Ctrl;<keycap>RePàg</keycap></keycombo>) o <menuchoice><guimenu>Diferència</guimenu><guimenuitem>Fitxer següent</guimenuitem></menuchoice> (<keycombo action="simul">&Ctrl;<keycap>AvPàg</keycap></keycombo>) per a mostrar la diferència anterior o següent trobada en el fitxer al plafó <quote>Fitxers font i destí</quote>.</para>
<para>&kompare; fa la tasca d'aplicar i desaplicar diferències com a un simple apunta i fes clic. Es poden fer múltiples accions sobre una mateixa diferència, degut a que aquestes es mantindran en memòria i no seran escrites al fitxer del disc fins que l'operació sigui realitzada.</para>
<para>Per aplicar una diferència, feu clic sobre la regió de diferència per a ressaltar-la, llavors seleccioneu <menuchoice><guimenu>Diferència</guimenu><guimenuitem>Aplica la diferència</guimenuitem></menuchoice> (<keycombo><keycap>Espai</keycap></keycombo>).</para>
<para>Per a desaplicar una diferència, feu clic sobre la regió de diferència per a ressaltar-la, llavors seleccioneu <menuchoice><guimenu>Diferència</guimenu><guimenuitem>Desaplica la diferència</guimenuitem></menuchoice> (<keycombo><keycap>Espai enrere</keycap></keycombo>).</para>
<para>Després de revisar diferències entre fitxers i trobar totes acceptables les podreu aplicar amb una única operació seleccionat <menuchoice><guimenu>Diferència</guimenu><guimenuitem>Aplica-ho tot</guimenuitem></menuchoice> (<keycombo><keycap>A</keycap></keycombo>).</para>
<para>Per a diferències que han estat aplicades seleccioneu <menuchoice><guimenu>Diferència</guimenu><guimenuitem>Desaplica-ho tot</guimenuitem></menuchoice> (<keycombo><keycap>U</keycap></keycombo>).</para>
<para>Una vegada les diferències han estat aplicades podreu fer l'acció de desar seleccionant <menuchoice><guimenu>Fitxer</guimenu><guimenuitem>Desa</guimenuitem></menuchoice> o <menuchoice><guimenu>Fitxer</guimenu><guimenuitem>Desa-ho tot...</guimenuitem></menuchoice>.</para>
<para>Les diferències són desades tant al fitxer font com al de destí.</para>
<para>Els fitxers diff només contenen els canvis fets entre fitxers, o un conjunt de fitxers en un sistema de carpeta, i poden o no contenir un cert nombre de línies de context abans i després de les línies canviades. La suma d'una línia canviada i les seves línies de context es mostren com a un bloc. Quan les línies de context de dos o més blocs es solapen, llavores es consideren un únic bloc. Els fitxers diff es poden usar per a:</para>
<para>Per a crear un fitxer diff s'haurà de mostrar una comparació a &kompare;. Assumim que aquest és el cas, llavores seleccioneu <menuchoice><guimenu>Fitxer</guimenu><guimenuitem>Desa .diff</guimenuitem></menuchoice>. Això mostrarà el diàleg <guilabel>Opcions de diff</guilabel> (mireu <xref linkend="diff-settings"/> per a més informació sobre els formats i opcions de diff). Després de configurar aquestes opcions, feu clic sobre el botó <guibutton>Desa</guibutton> i es desarà el diff a un fitxer amb la extensió <filename class="extension">.diff</filename>.</para>
<para>És possible mostrar el contingut d'un fitxer diff amb &kompare; obrint el formulari de fitxer diff <menuchoice><guimenu>Fitxer</guimenu><guimenuitem>Obre diff...</guimenuitem></menuchoice>.</para>
<para>Quan es visualitza un fitxer diff es mostren els blocs entre el fitxer font i destí, recordant que només es mostren els blocs, no les línies sense modificar. En alguns casos es crea un fitxer diff amb 0 línies de context. En aquest cas tan sols es mostraran les línies canviades.</para>
<para>Quan un fitxer diff conté blocs de múltiples fitxers &kompare; mostra els blocs de cada fitxer un a la vegada i podreu canviar entre aquests com si fossin fitxers reals , encara que el contingut del fitxer diferent només ofereixi la informació proveïda pel diff.</para>
<title>Aplicar diferències en un fitxer diff</title>
<para>Quan es visualitzen diferències en un fitxer diff és possible aplicar la diferència quan es comparen els fitxers font i destí (mireu <xref linkend="merging-differences"/>).</para>
<para>En els casos on es proveeix un fitxer diff és possible comparar els blocs en el diff contra un fitxer o carpeta. Per a fer-ho seleccioneu <menuchoice><guimenu>Fitxer</guimenu><guimenuitem>Fusiona la URL amb el diff...</guimenuitem></menuchoice> Llavores introduïu les rutes cap al <guilabel>Fitxer/carpeta</guilabel> i la <guilabel>Sortida de diff</guilabel>.</para>
<para>Quan es visualitzen diferències entre un fitxer font i un fitxer diff és possible aplicar la diferència mentre compareu els fitxers font i destí (mireu <xref linkend="merging-differences"/>).</para>
<para>&kompare; habilita als usuaris un conjunt de preferències d'aparença per a formatar les diferències en la interfície principal i establir les propietats de comportament del programa diff. Es pot accedir al diàleg <guilabel>Preferències</guilabel> seleccionant <menuchoice><guimenu>Arranjament</guimenu><guisubmenu>Configura &kompare;...</guisubmenu></menuchoice></para>
<para>Per a configurar les preferències de l'aparença seleccioneu l'ítem de menú <guilabel>Visualitza</guilabel> (mireu <xref linkend="view-settings"/>).</para>
<para>Per a configurar les preferències de propietats del programa diff seleccioneu l'ítem de menú <guilabel>Diferència</guilabel> (mireu <xref linkend="diff-settings"/>).</para>
<para>El menú <guimenu>Visualitza</guimenu> es troba sobre el diàleg <guilabel>Preferències</guilabel> i mostra els formularis en pestanya <guilabel>Aparença</guilabel> i <guilabel>Fonts</guilabel>.</para>
<para>El formulari <guilabel>Aparença</guilabel> proveeix controls per a gestionar els <guilabel>Colors</guilabel> usats per a remarcar les diferències en la interfície principal, el comportament de la <guilabel>Roda del ratolí</guilabel> quan juga amunt i avall així com la conversió de <guilabel>Tabulacions a espais</guilabel>.</para>
<para>Per ajustar les preferències de color usades quan es mostren les diferències, feu clic al botó de color per a mostrar el diàleg <guilabel>Trieu el color</guilabel> perla següents estats:</para>
<para>El menú <guimenu>Diff</guimenu> trobat sobre el diàleg <guilabel>Preferències</guilabel> mostra els formularis en pestanya <guilabel>Diff</guilabel>, <guilabel>Format</guilabel>, <guilabel>Opcions</guilabel> i <guilabel>Excloure</guilabel>. Aquests formularis es poden usar per a configurar les propiestats en el comportament del programa Diff.</para>
<para>diff pot produir comandaments que surtin directament cap a l'editor ed per a canviar el primer fitxer dintre del segon. Històricament, aquesta manera tan sols és una sortida adequada per a edició automàtica d'un fitxer dintre d'un altre. Amb l'aparició de <application>patch</application> aquesta opció gairebé no s'usa mai.</para>
<para>El format de sortida RCS està especialment dissenyat per a ser usat pel sistema de control de revisions (Revision Control System - <acronym>RCS</acronym>). Com amb el format Ed, aquest format s'empra rarament degut a la introducció del programa <application>patch</application>.</para>
<para>El format de sortida unificat és una variació del format de context. Aquest es considera una millora degut a que és més compacte i omet línies de context redundants.</para>
<para>Aquest format de sortida mostra els fitxers llistats en dues columnes amb un separador entre ells. Aquesta opció tan sols està disponible des del diàleg <guilabel>Opcions del diff</guilabel> (mireu <xref linkend="creating-a-diff"/>).</para>
<para>Quan es realitza un diff amb format de sortida de context o unificada s'usa aquest paràmetre per a controlar el nombre de línies de context a incloure.</para>
<term><guilabel>Expandre les tabulacions a espais a la sortida</guilabel></term>
<listitem><para>Quan està marcat les sortides de diff convertirà els caràcters de tabulació al nombre d'espais definit en el diàleg <guilabel>Preferències</guilabel> menú <guimenu>Visualitza</guimenu> opció <guilabel>Tabulacions a espais</guilabel>.</para>
<term><guilabel>Ignora canvis en la quantitat d'espais en blanc</guilabel></term>
<listitem><para>L'espai abans, després i entre les línies es pot canviar depenent dels diferents editors. Quan aquesta opció està marcada canvis com aquests seran ignorats.</para></listitem>
<term><menuchoice><shortcut> <keycombo action="simul">&Ctrl;<keycap>B</keycap></keycombo> </shortcut> <guimenu>Fitxer</guimenu><guimenuitem>Fusiona la URL amb el diff...</guimenuitem></menuchoice></term>
<listitem><para>Mostra el diàleg <guilabel>Fusiona el fitxer/carpeta amb la sortida de diff</guilabel>.</para></listitem>
<term><menuchoice><shortcut><keycap>Espai</keycap></shortcut> <guimenu>Diferència</guimenu><guimenuitem>Aplica la diferència</guimenuitem></menuchoice></term>
<listitem><para>Aplica una diferència seleccionada.</para></listitem>