<othercredit role="translator"><firstname>Federico</firstname><surname>Zenith</surname><affiliation><address><email>federico.zenith@member.fsf.org</email></address></affiliation><contrib>Traduzione della documentazione in italiano</contrib></othercredit>
<para>&kompare; è un programma di interfaccia &GUI; che permette di visualizzare e fondere le differenze tra file sorgente. &kompare; può essere usato per confrontare le differenze di file o dei contenuti di cartelle. &kompare; supporta vari formati di differenze e fornisce molte opzioni per configurare il livello di informazioni visualizzato.</para>
<para>Questo documento descrive la versione &version; di &kompare;.</para>
<para>Quando due o più persone lavorano su un file che viene mandato avanti e indietro tra di loro, diventa difficile vedere quali cambiamenti sono stati apportati a una nuova versione o una nuova copia del file. Aprire la nuova copia e l'originale fianco a fianco nell'applicazione usata per crearli è una soluzione ma è anche laboriosa, lunga e facilmente causa errori. In questo caso è utile usare un programma per mostrare le differenze (spesso abbreviate come <quote>diff</quote>).</para>
<para>Come ci si aspetterebbe, un nome appropriato per un tale programma sarebbe <command>diff</command>. Guarda caso, il <command>diff</command> è installato sulla maggior parte dei sistemi basati su &Linux; e viene usato esattamente a questo scopo. Gli sviluppatori usano spesso <command>diff</command> come comando dalla riga di comando per mostrare le differenze tra le versioni di un file di codice sorgente. Però, <command>diff</command> non è limitato al codice, e può essere usato in molti tipi di file di testo.</para>
<para>Usare <command>diff</command> dalla riga di comando può confondere, e imparare la sintassi del comando e decifrarne i risultati può far ammattire la maggior parte delle persone normali. Ecco che entra in scena &kompare;. Con un'interfaccia grafica a <command>diff</command>, &kompare; visualizza i file di origine e di destinazione fianco a fianco con tutte le differenze automaticamente evidenziate. Da questo punto di partenza, i cambiamenti in un file possono essere applicati sequenzialmente all'altro file in modo selettivo e controllato. Non si devono applicare tutte le modifiche, e se ne applichi una puoi sempre annullarla. Quando tutte le modifiche richieste saranno state applicate, possono essere salvate e risulteranno perfettamente normali nell'applicazione usata per creare il file.</para>
<para>Oltre a visualizzare le differenze tra un file di origine e uno di destinazione, &kompare; può essere usato per creare e visualizzare uno speciale tipo di file detto <literal role="extension">.diff</literal>. Questo file registra le differenze tra due sorgenti in un solo file che può essere usato per visualizzare e applicare le modifiche a qualsiasi altra copia del file. Per esempio, una prima persona manda le modifiche apportate a una seconda; normalmente, la prima invierebbe un'intera copia del documento modificato alla seconda, che a sua volta dovrebbe confrontare il documento con la vecchia versione. Questo processo è molto simile a quello descritto nei paragrafi precedenti. Con &kompare;, la prima persona fa prima una copia locale del file da modificare, apporta i cambiamenti e confronta l'originale e la copia modificata. Con &kompare;, si può creare un file <literal role="extension">.diff</literal> che raccoglie solo le modifiche apportate. Questo file può essere quindi inviato alla seconda persona al posto di tutto il file modificato.</para>
<para>Usando &kompare; la seconda persona può visualizzare il file <literal role="extension">.diff</literal>, confrontarlo con la copia locale del documento e applicare le modifiche fatte dalla prima. In questo modo il processo può andare avanti per molte versioni del documento, con ogni persona che fa modifiche, crea file <literal role="extension">.diff</literal>, li distribuisce e li applica. Questo processo viene chiamato <foreignphrase lang="en">patching</foreignphrase>, un termine preso da un programma chiamato <command>patch</command>, che è un altro strumento della riga di comando progettato appositamente per l'applicazione dei file <literal role="extension">.diff</literal>.</para>
<para>A volte delle persone modificano un file contemporaneamente. In questa situazione è probabile che vengano fatte modifiche nel documento nello stesso momento. Ciò crea problemi perché, senza le dovute cautele, alcuni potrebbero sovrascrivere il lavoro altrui applicando i file <literal role="extension">.diff</literal> che ricevono. Fortunatamente gli sviluppatori dei programmi <command>diff</command> e <command>patch</command> hanno considerato questo problema, e questi strumenti non permetteranno l'applicazione di tali cambiamenti senza un intervento manuale. Quando si raggiunge questa condizione, viene detta <quote>conflitto</quote>. &kompare; visualizzerà i conflitti in modo che tu possa risolverli manualmente, decidendo quali modifiche applicare a quale file.</para>
<para>&kompare; è anche un ottimo programma per confrontare le modifiche ai file a livello di cartella. Quando usato per confrontare delle cartelle, &kompare; esamina ricorsivamente le sottocartelle e i file in esse contenuti alla ricerca delle differenze. In questo caso d'uso, ogni file in cui vengono rilevate differenze viene automaticamente aperto ed elencato da &kompare;, in cui è possibile navigare facilmente tra i vari file.</para>
<para>Si può trovare una scorciatoia per avviare &kompare; nel menu K del gruppo di Sviluppo: <menuchoice><guimenu>Sviluppo</guimenu><guimenuitem>Kompare</guimenuitem></menuchoice>.</para>
<para>Quando &kompare; parte, per prima cosa visualizza una finestra dalla quale selezionare i file che vuoi confrontare. Si possono selezionare anche impostazioni speciali per le proprietà e l'aspetto del confronto. Nel modulo dei file devi selezionare un'origine e una destinazione da confrontare. Possono essere due file o cartelle qualsiasi, oppure un'&URL; e un file. Una volta che la fonte e la destinazione sono selezionate, fai clic sul pulsante <guibutton>Confronta</guibutton>.</para>
<para>Una volta che &kompare; ha rilevato le differenze le visualizzerà nell'interfaccia principale. Quando confronti due file o un'&URL; e un file, il processo richiede sono qualche secondo. Però, quando confronti delle cartelle con molte sottocartelle e file, potrebbe volerci più tempo.</para>
<para>Per una spiegazione delle opzioni disponibili dai moduli <guilabel>Confronto</guilabel> e <guilabel>Aspetto</guilabel>, vedi <xref linkend="configure-preferences"/>.</para>
<para>&kompare; ha un'interfaccia basata sui menu. Le spiegazioni sugli elementi dei menu e le loro opzioni sono date nel<xref linkend="command-reference"/>.</para>
<para>La barra degli strumenti di &kompare; contiene delle scorciatoie alle operazioni di differenza e fusione più comuni. L'orientamento della barra, la posizione del testo, le proprietà delle dimensioni delle icone e quali icone debbano essere visualizzate possono essere configurati dal menu contestuale della barra, accessibile facendo clic con il &RMB; sulla barra. Se la barra è nascosta e la vuoi far riapparire, seleziona <menuchoice><guimenu>Impostazioni</guimenu><guimenuitem>Mostra barra degli strumenti</guimenuitem></menuchoice>.</para>
<title>Cartelle di origine e di destinazione</title>
<para>I pannelli delle cartelle di origine e destinazione visualizzano le cartelle in cui risiedono i file confrontati. Quando il confronto include molte cartelle, selezionare una cartella visualizzerà il suo primo documento nel quale sia stata identificata una differenza tra origine e destinazione.</para>
<para>Il pannello dei file di origine e destinazione visualizza i file in cui sono state rilevate differenze per l'attuale cartella di origine o destinazione. Quando una cartella ha più documenti con differenze, vengono elencati tutti. Il documento selezionato viene visualizzato.</para>
<title>Cambiamenti di righe di origine e di destinazione</title>
<para>Il pannello dei cambiamenti di righe di origine e destinazione riassume le differenze rilevate tra i documenti attuali di origine e destinazione. Selezionare un elemento del pannello evidenzia e seleziona la differenza. È un modo utile di navigare e ispezionare lunghi documenti con molte differenze.</para>
<title>Vista dell'origine e della destinazione</title>
<para>La vista dell'origine e della destinazione è la parte principale di &kompare;. I contenuti e le differenze evidenziate dei file attuali di origine e destinazione sono qui visualizzati con i loro numeri di riga.</para>
<para>La <guilabel>Vista testuale</guilabel>, come impostazione predefinita, non è visualizzata. Può essere aperta selezionando <menuchoice><guimenu>Impostazioni</guimenu><guimenuitem>Mostra vista testuale</guimenuitem></menuchoice>.</para>
<para>La barra di stato contiene un riassunto degli attuali file o cartelle di origine e destinazione che vengono confrontati. La barra di stato indica anche il numero di cambiamenti trovati nel documento attuale e conta le differenze che sono state applicate. Inoltre, la barra di stato indica il numero globale di documenti contenenti differenze e il numero del documento attualmente selezionato da questo insieme. Per esempio, un confronto eseguito su due cartelle potrebbe restituire 1890 file con differenze. Il documento attualmente selezionato è il numero 18 di 1890.</para>
<title>Gestione dello spazio sullo schermo</title>
<para>&kompare; visualizza i file di origine e destinazione usando una percentuale uguale dell'area di lavoro dell'interfaccia principale. Questa area di visualizzazione contiene alcune funzionalità che aiutano ad ottimizzare l'uso dello spazio dello schermo quando si visualizzano le differenze, tra cui:</para>
<listitem><para>La funzionalità più ovvia è che ci sono barre di scorrimento sia a destra che in fondo all'area di visualizzazione. Usando le barre è possibile spostarsi rapidamente tra i confronti.</para></listitem>
<listitem><para>Lo spazio verticale tra l'origine e la destinazione non solo rende possibile vedere chiaramente l'inizio e la fine di ogni riga nelle due aree, ma è anche una maniglia che permette di regolare la parte dell'area di visualizzazione occupata da ciascuna delle due aree. Per cambiare la dimensione di una delle due viste, posiziona il puntatore del mouse sulla maniglia, tieni premuto il pulsante e trascina a destra o a sinistra. Naturalmente, aumentare l'area di una vista diminuisce quella disponibile per l'altra.</para></listitem>
<listitem><para>Lo spazio principale può essere sganciato dall'interfaccia facendo clic sul pulsante <guibutton>Stacca</guibutton> in alto a destra nel pannello di lavoro principale. Questo apre lo spazio di lavoro in una sua propria finestra, permettendogli di venire massimizzato e ridimensionato su tutto lo schermo.</para></listitem>
<para>La barra di stato del pannello di vista può essere attivata o disattivata selezionando <menuchoice><guimenu>Impostazioni</guimenu><guimenuitem>Mostra/Nascondi la barra di stato</guimenuitem></menuchoice>.</para>
<title>Scambiare le viste di origine e destinazione</title>
<para>A volte è utile considerare il file su cui sono state applicate le differenze come l'origine. Per esempio, quando confronti due versioni modificate di un file e scopri che un fine ha molte più modifiche dell'altro. Il file con più modifiche sarebbe un'origine migliore, perché si dovrebbero applicare meno differenze.</para>
<para>In questo caso, selezione <menuchoice><guimenu>File</guimenu><guimenuitem>Scambia origine con destinazione</guimenuitem></menuchoice>. Questo scambierà i file visualizzati nei pannelli di &kompare;.</para>
<title>Visualizzare le statistiche del confronto</title>
<para>Per una panoramica veloce delle differenze, seleziona <menuchoice><guimenu>File</guimenu><guimenuitem>Mostra statistiche</guimenuitem></menuchoice>. Questo visualizzerà la finestra <guilabel>Statistiche di confronto</guilabel>. Sono fornite le seguenti informazioni:</para>
<listitem><para>Il nome del file di quello che normalmente è il file di destinazione o il file senza modifiche e sul quale queste vengono applicate.</para></listitem>
<para>Il numero di hunk trovati nelle differenze.</para>
<para>Un hunk è un <quote>pezzo</quote> di righe che sono state segnate come diverse tra l'origine e la destinazione, e può includere righe contestuali a seconda del valore delle <guilabel>Righe di contesto</guilabel> del formato della differenza (vedi <xref linkend="diff-format"/>).</para></listitem>
<term><guilabel>Numero di differenze:</guilabel></term>
<listitem><para>Il numero effettivo delle differenze rilevate (non hunk). Un hunk può contenere una o più differenze quando l'intervallo di cambio riga e le righe contestuali di due o più modifiche si sovrappongono.</para></listitem>
<title>Navigare nella vista delle differenze</title>
<para>&kompare; permette di navigare rapidamente tra le differenze a livello di file e di file multipli quando si confrontano alberi di cartelle.</para>
<listitem><para>facendo clic su una riga nel pannello dei cambiamenti di righe di origine e di destinazione (in alto a destra nella finestra principale).</para></listitem>
<listitem><para>facendo clic sulla differenza evidenziata nel pannello di visualizzazione.</para></listitem>
<listitem><para>scorrendo le differenze elencate nel confronto (vedi <xref linkend="traversing-differences"/>).</para></listitem>
<para>Quando una differenza è selezionata è considerata <quote>in fuoco</quote> ed è visualizzata con un colore più vivo rispetto alle differenze non selezionate.</para>
<para>Quando un confronto trova molte differenze uno dei modi migliori per esaminarle è farle scorrere in ordine logico, normalmente da cima a fondo.</para>
<para>Come impostazione predefinita, &kompare; seleziona la prima differenza trovata in un confronto. Selezionando <menuchoice><guimenu>Differenza</guimenu><guimenuitem>Differenza successiva</guimenuitem></menuchoice> (<keycombo action="simul">&Ctrl;<keycap>Giù</keycap></keycombo>) la differenza seguente la selezione attuale viene messa a fuoco. Per selezionare la differenza precedente quella attuale, seleziona <menuchoice><guimenu>Differenza</guimenu><guimenuitem>Differenza precedente</guimenuitem></menuchoice> (<keycombo action="simul">&Ctrl;<keycap>Su</keycap></keycombo>).</para>
<para>In questo modo è possibile scorrere ordinatamente le differenze, applicando e annullando le differenze dopo averle esaminate.</para>
<para>Quando un confronto viene fatto a livello di cartelle, si potrebbero trovare molti file contenenti differenze. Un elenco completo dei file confrontati con le differenze trovate è disponibile nei pannelli delle cartelle e dei file di origine e di destinazione. Però, &kompare; visualizza le differenze tra origine e destinazione una alla volta.</para>
<para>Per passare tra i vari documenti in questo scenario sono disponibili le seguenti opzioni:</para>
<listitem><para>Seleziona il pannello delle cartelle di origine e destinazione per visualizzare le differenze dei file trovati nel pannello dei file di origine e destinazione, quindi seleziona un file.</para></listitem>
<listitem><para>Seleziona <menuchoice><guimenu>Differenza</guimenu><guimenuitem>File precedente</guimenuitem></menuchoice> (<keycombo action="simul">&Ctrl;<keycap>Pag su</keycap></keycombo>) o <menuchoice><guimenu>Differenza</guimenu><guimenuitem>File successivo</guimenuitem></menuchoice> (<keycombo action="simul">&Ctrl;<keycap>Pag giù</keycap></keycombo>) per visualizzare il file di differenze precedente o successivo tra quelli che si trovano nel pannello dei file di origine e destinazione.</para>
<para>&kompare; rende il compito di applicare e annullare le differenze semplice come fare clic. Su una differenza si possono applicare più operazioni di applicazione e annullamento, perché tutte le operazioni vengono effettuate in memoria e non vengono scritte sui file fino al salvataggio.</para>
<para>Per applicare una differenza, fai clic sulla sua regione evidenziata, quindi seleziona <menuchoice><guimenu>Differenza</guimenu><guimenuitem>Applica differenza</guimenuitem></menuchoice> (<keycombo><keycap>Spazio</keycap></keycombo>).</para>
<para>Per annullare una differenza, fai clic sulla sua regione evidenziata precedentemente applicata, quindi seleziona <menuchoice><guimenu>Differenza</guimenu><guimenuitem>Annulla differenza</guimenuitem></menuchoice> (<keycombo><keycap>Backspace</keycap></keycombo>).</para>
<para>Dopo aver esaminato tutte le differenze tra i file e averle giudicate tutte accettabili, è possibile applicarle tutte insieme in un'unica operazione selezionando <menuchoice><guimenu>Differenza</guimenu><guimenuitem>Applica tutto</guimenuitem></menuchoice> (<keycombo action="simul">&Ctrl;<keycap>A</keycap></keycombo>).</para>
<para>Una volta che le differenze sono state applicate, possono essere salvate selezionando <menuchoice><guimenu>File</guimenu><guimenuitem>Salva</guimenuitem></menuchoice> o <menuchoice><guimenu>File</guimenu><guimenuitem>Salva tutto</guimenuitem></menuchoice>.</para>
<para>Le differenze applicate sono salvate sia al file di origine che a quello di destinazione.</para>
<title>Lavorare con i file <literal role="extension">diff</literal></title>
<para>I file <literal role="extension">diff</literal> contengono solo le modifiche fatte tra i file, o un insieme di file in un albero di cartelle, e possono contenere o meno un certo numero di righe di contesto prima e dopo le modifiche alle righe. La somma di un cambiamento di riga e del suo contesto è detto hunk. Un file <literal role="extension">diff</literal> può quindi contenere molti hunk da uno o più file. Quando le righe di contesto di uno o più hunk si sovrappongono, vengono considerate un solo hunk. I file <literal role="extension">diff</literal> possono essere usati per:</para>
<listitem><para>Applicare le modifiche contenute negli hunk a un file originale.</para></listitem>
<listitem><para>Applicare le modifiche contenute negli hunk a un file o insieme di file originali in un albero di cartelle.</para></listitem>
<listitem><para>Possono anche essere modificate prima di essere applicate a un file o insieme di file originali in un albero di cartelle.</para></listitem>
<para>Per creare un file <literal role="extension">diff</literal> si deve effettuare un confronto in &kompare;. Se questo è il caso, seleziona <menuchoice><guimenu>File</guimenu><guimenuitem>Salva diff</guimenuitem></menuchoice>. Ciò visualizzerà la finestra <guilabel>Opzioni di confronto</guilabel> (vedi <xref linkend="diff-settings"/> per maggiori informazioni sui formati e le opzioni <literal role="extension">diff</literal>). Dopo aver configurato queste opzioni, fai clic sul pulsante <guibutton>Salva</guibutton> e salva un file con estensione <literal role="extension">diff</literal>.</para>
<para>È possibile visualizzare i contenuti di un file <literal role="extension">diff</literal> con &kompare; aprendo il file da <menuchoice><guimenu>File</guimenu><guimenuitem>Apri confronto...</guimenuitem></menuchoice>.</para>
<para>Quando si visualizza un file <literal role="extension">diff</literal> sono mostrati gli hunk tra i file di origine e destinazione; ricordati che sono mostrati solo gli hunk, e non verrà mostrata nessuna riga non modificata. In alcuni casi si creano file <literal role="extension">diff</literal> senza nessuna riga di contesto. In questo caso verranno visualizzate solo le righe modificate.</para>
<para>Quando un file <literal role="extension">diff</literal> contiene diversi file, &kompare; visualizza gli hunk da un file alla volta; tu puoi passare agli altri file come se fossero veri file, anche se queste informazioni sono fornite solo dai contenuti del file <literal role="extension">diff</literal>.</para>
<title>Applicare le differenze in un file di differenze</title>
<para>Quando si visualizzano le differenze in un file <literal role="extension">diff</literal> è possibile applicarle come faresti se confrontassi file di origine e destinazione (vedi <xref linkend="merging-differences"/>).</para>
<title>Fondere un &URL; con una differenza</title>
<para>Nei casi in cui è fornito un file <literal role="extension">diff</literal>, è possibile confrontare gli hunk nel file con un file o una cartella. Per farlo seleziona <menuchoice><guimenu>File</guimenu><guimenuitem>Fondi URL con confronto...</guimenuitem></menuchoice>. Quindi, inserisci i percorsi di <guilabel>File/Cartella</guilabel> e <guilabel>Output di confronto</guilabel>.</para>
<para>Quando si visualizzano le differenze tra un file di origine e un file <literal role="extension">diff</literal>, è possibile applicare le differenze come quando confronti file di origine e destinazione (vedi <xref linkend="merging-differences"/>).</para>
<para>&kompare; permette agli utenti di impostare le preferenze di aspetto per la formattazione delle differenze nell'interfaccia principale ed impostare le proprietà del comportamento del programma <command>diff</command>. La finestra <guilabel>Preferenze</guilabel> può essere raggiunta selezionando <menuchoice><guimenu>Impostazioni</guimenu><guisubmenu>Configura Kompare...</guisubmenu></menuchoice>.</para>
<para>Per configurare le preferenze del l'aspetto seleziona l'elemento del menu <guilabel>Visualizza</guilabel> (vedi <xref linkend="view-settings"/>).</para>
<para>Per configurare le preferenze del programma <command>diff</command> seleziona l'elemento del menu <guilabel>Confronto</guilabel> (vedi <xref linkend="diff-settings"/>).</para>
<para>Il menu <guimenu>Visualizza</guimenu> disponibile nella finestra <guilabel>Preferenze</guilabel> mostra le schede <guilabel>Aspetto</guilabel> e <guilabel>Tipi di carattere</guilabel>.</para>
<para>Il modulo <guilabel>Aspetto</guilabel> ti permette di controllare i <guilabel>Colori</guilabel> usati per indicare le differenze nell'interfaccia principale, il comportamento della <guilabel>Rotella del mouse</guilabel> quando sali e scendi, e come viene gestita la conversione della <guilabel>Da tabulazioni a spazi</guilabel>.</para>
<para>Per regolare le preferenze dei colori usate quando si visualizzano le differenze, fai clic sul pulsante del colore per visualizzare la finestra <guilabel>Scegli il colore</guilabel> per gli stati seguenti:</para>
<para>Il menu <guimenu>Confronto</guimenu> della finestra <guilabel>Preferenze</guilabel> visualizza le schede <guilabel>Confronto</guilabel>, <guilabel>Formato</guilabel>, <guilabel>Opzioni</guilabel> ed <guilabel>Escludi</guilabel>. Queste schede possono essere usate per configurare le proprietà del comportamento del programma <command>diff</command>.</para>
<para><command>diff</command> può produrre comandi che ordinano all'editor di testo <command>ed</command> di cambiare il primo file nel secondo. Storicamente, questo era l'unica modalità di output adatta alla modifica automatica di un file nell'altro. Con l'introduzione del programma <command>patch</command>, questa opzione è caduta in disuso.</para>
<para>Il formato di output RCS è progettato specificatamente per l'uso con sistemi di controllo delle revisioni (<foreignphrase lang="en">Revision Control System</foreignphrase>, <acronym>RCS</acronym>). Come il formato Ed, questo formato viene usato raramente dall'introduzione del programma <command>patch</command>.</para>
<para>Il formato di output unificato è una variazione del formato contestuale. È considerato migliore del contestuale perché l'output è più compatto, dato che omette le righe di contesto ridondanti.</para>
<para>Usa il formato fianco a fianco che visualizza i file elencati in due colonne con un separatore tra di loro. Questa opzione è disponibile solo dalla finestra <guilabel>Opzioni di confronto</guilabel> (vedi <xref linkend="creating-a-diff"/>).</para>
<para>Quando effettui una differenza con formato contestuale o unificato, usa questo parametro per controllare il numero di righe di testo da includere.</para>
<listitem><para>Quando segnato, fa in modo <command>diff</command> visualizzi i cambiamenti tra lettere maiuscole e minuscole, punteggiatura, spazi, eccetera.</para></listitem>
<term><guilabel>Espandi i tabulatori in spazi nell'output</guilabel></term>
<listitem><para>Quando segnato, <command>diff</command> convertirà i caratteri di tabulazione nel numero di spazi definito nella finestra <guilabel>Preferenze</guilabel>, al menu <guimenu>Visualizza</guimenu>, nell'opzione <guilabel>Da tabulazioni a spazi</guilabel>.</para>
<term><guilabel>Ignora i cambiamenti nella quantità di spazi</guilabel></term>
<listitem><para>Gli spazi prima, dopo e tra le righe possono cambiare a seconda dei diversi programmi di scrittura. Quando questa opzione è segnata questi cambiamenti vengono ignorati.</para></listitem>
<listitem><para>Visualizza la finestra <guilabel>Opzioni di confronto</guilabel> per definire il formato e le opzioni delle differenze.</para></listitem>
<listitem><para>Rendi la differenza precedente, così come ordinata nell'elenco delle differenze, il file attuale nel pannello di visualizzazione.</para></listitem>
<listitem><para>Rendi la differenza successiva, così come ordinata nell'elenco delle differenze, il file attuale nel pannello di visualizzazione.</para></listitem>