Capítol 1. Introducció

Quan dues o més persones treballen sobre un mateix fitxer, van i venen, es torna molt difícil veure quins canvis han realitzat a una versió nova o còpia del fitxer. Obrir cara-a-cara la còpia nova 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.

Tal com s'espera, un nom apropiat per a un programa com aquest seria «diff». Per descomptat el programa diff es troba instal·lat a la majoria de sistemes basats en Linux® i s'usa exactament amb aquesta intenció. Els desenvolupadors usen diff tot sovint, com a una eina de línia d'ordres, 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.

Usar diff des de la línia d'ordres 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 joc. Proveint un frontal gràfic per al programa diff, la interfície mostra els fitxers font i destinació 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 aleshores es pot desar i es mostrarà com a normal en l'aplicació original emprada per a crear el fitxer.

A més de per a mostrar diferències entre fitxer font i destinació, 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, aleshores 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.

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 d'ordres específicament dissenyada amb la finalitat d'aplicar fitxers diff.

A vegades succeeix que gent edita un fitxer alhora. En aquesta situació es pot donar el cas que creïn canvis sobre una mateixa línia. Això origina un problema, atès que si no s'apliquen amb cura, la gent pot estar sobreescrivint 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». El Kompare els mostrarà de manera que els pugueu resoldre, decidint quins aplicar al fitxer.

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.