hgbook

changeset 785:0bf0bf61493e

Minor changes and translation of code snippets for Ch.3.
author Giulio@puck
date Mon Aug 10 21:59:18 2009 +0200 (2009-08-10)
parents 6b037278c749
children c09a6231bc79
files it/ch03-tour-merge.xml it/examples/auto-snippets.xml it/examples/tour-merge-conflict.commit.it it/examples/tour-merge-conflict.cousin.it it/examples/tour-merge-conflict.merge.it it/examples/tour-merge-conflict.pull.it it/examples/tour-merge-conflict.son.it it/examples/tour-merge-conflict.wife.it it/examples/tour.merge.cat1.it it/examples/tour.merge.cat2.it it/examples/tour.merge.clone.it it/examples/tour.merge.commit.it it/examples/tour.merge.heads.it it/examples/tour.merge.merge.it it/examples/tour.merge.parents.it it/examples/tour.merge.pull.it it/examples/tour.merge.tip.it it/examples/tour.merge.update.it
line diff
     1.1 --- a/it/ch03-tour-merge.xml	Mon Aug 10 19:07:10 2009 +0200
     1.2 +++ b/it/ch03-tour-merge.xml	Mon Aug 10 21:59:18 2009 +0200
     1.3 @@ -2,22 +2,22 @@
     1.4    <?dbhtml filename="una-panoramica-di-mercurial-le-unioni.html"?>
     1.5    <title>Una panoramica di Mercurial: le unioni</title>
     1.6  
     1.7 -  <para id="x_338">Finora abbiamo parlato di come clonare un repository, effettuare cambiamenti in un repository ed estrarre o trasmettere cambiamenti da un repository all'altro. Il nostro prossimo passo sarà quello di <emphasis>unire</emphasis> i cambiamenti da repository separati.</para>
     1.8 +  <para id="x_338">Finora abbiamo parlato di come clonare un repository, effettuare modifiche in un repository ed estrarre o trasmettere cambiamenti da un repository all'altro. Il nostro prossimo passo sarà quello di <emphasis>unire</emphasis> le modifiche provenienti da repository separati.</para>
     1.9  
    1.10    <sect1>
    1.11      <title>Unire flussi di lavoro</title>
    1.12  
    1.13 -    <para id="x_339">Le unioni giocano un ruolo fondamentale quando si lavora con uno strumento per il controllo di revisione distribuito. Ecco alcuni casi in cui può presentarsi il bisogno di unire tra loro due o più flussi di lavoro.</para>
    1.14 +    <para id="x_339">Le unioni giocano un ruolo fondamentale quando si lavora con uno strumento di controllo di revisione distribuito. Ecco alcuni casi in cui può presentarsi il bisogno di unire tra loro due o più flussi di lavoro.</para>
    1.15      <itemizedlist>
    1.16        <listitem>
    1.17 -	<para id="x_33a">Alice e Bruno hanno ognuno una copia personale di un repository per un progetto su cui stanno collaborando. Mentre Alice corregge un bug nel suo repository, Bruno aggiunge una nuova funzionalità nel proprio. Entrambi vogliono che il repository condiviso contenga sia la correzione del bug sia la nuova funzionalità.</para>
    1.18 +	<para id="x_33a">Alice e Bruno hanno ognuno una copia personale di un repository per un progetto su cui stanno collaborando. Mentre Alice corregge un bug nel suo repository, Bruno aggiunge una nuova funzione nel proprio. Entrambi vogliono che il repository condiviso contenga sia la correzione del bug sia la nuova funzione.</para>
    1.19        </listitem>
    1.20        <listitem>
    1.21  	<para id="x_33b">Cinzia lavora frequentemente su più attività differenti alla volta per un singolo progretto, ognuna isolata al sicuro nel proprio repository. Lavorando in questo modo, Cinzia ha spesso bisogno di unire una parte del proprio lavoro con un'altra.</para>
    1.22        </listitem>
    1.23      </itemizedlist>
    1.24  
    1.25 -    <para id="x_33c">Dato che abbiamo spesso bisogno di effettuare delle unioni, Mercurial ci viene in aiuto agevolando questo processo. Per capire come funzionano le unioni, seguiamone una passo per passo. Cominceremo creando ancora un altro clone del nostro repository (vedete quante volte spuntano fuori?) apportandovi poi alcune modifiche.</para>
    1.26 +    <para id="x_33c">Dato che abbiamo spesso bisogno di eseguire unioni, Mercurial ci viene in aiuto agevolando questo processo. Per capire come funzionano le unioni, seguiamone una passo per passo. Cominceremo creando ancora un altro clone del nostro repository (vedete quante volte spuntano fuori?) apportandovi poi alcune modifiche.</para>
    1.27  
    1.28      &interaction.tour.merge.clone;
    1.29  
    1.30 @@ -25,7 +25,7 @@
    1.31  
    1.32      &interaction.tour.merge.cat1;
    1.33  
    1.34 -    <para id="x_722">Ed ecco la nuova versione, leggermente differente, contenuta nell'altro repository.</para>
    1.35 +    <para id="x_722">Ed ecco la versione leggermente differente contenuta nell'altro repository.</para>
    1.36  
    1.37      &interaction.tour.merge.cat2;
    1.38  
    1.39 @@ -70,7 +70,7 @@
    1.40  
    1.41        &interaction.tour.merge.update;
    1.42  
    1.43 -      <para id="x_345">Mercurial ci sta dicendo che il comando <command role="hg-cmd">hg update</command> non è in grado di effettuare un'unione e, se pensa che potremmo volerne fare una, non aggiornerà la directory di lavoro a meno che non gli chiediamo esplicitamente di farlo. (Incidentalmente, forzare l'aggiornamento tramite <command>hg update -C</command> provocherebbe la perdita di tutte le modifiche contenute nella directory di lavoro e non ancora inserite nel repository.)</para>
    1.44 +      <para id="x_345">Mercurial ci sta dicendo che <command role="hg-cmd">hg update</command> non è in grado di effettuare un'unione. Il comando non aggiornerà la directory di lavoro se pensa che potremmo voler eseguire un'unione, a meno che non gli chiediamo esplicitamente di farlo. (Incidentalmente, forzare l'aggiornamento tramite <command>hg update -C</command> provocherebbe la perdita di tutte le modifiche contenute nella directory di lavoro e non ancora inserite nel repository.)</para>
    1.45  
    1.46        <para id="x_723">Per avviare un'unione tra le due teste, usiamo il comando <command role="hg-cmd">hg merge</command>.</para>
    1.47  
    1.48 @@ -86,7 +86,7 @@
    1.49  
    1.50        <para id="x_348">Ogni volta che eseguiamo un'unione, il comando <command role="hg-cmd">hg parents</command> mostrerà due genitori fino a quando non invocheremo <command role="hg-cmd">hg commit</command> per inserire i risultati dell'unione nel repository.</para>
    1.51  
    1.52 -	&interaction.tour.merge.commit;
    1.53 +      &interaction.tour.merge.commit;
    1.54  
    1.55        <para id="x_349">Ora abbiamo una nuova revisione di punta che, come potete notare, possiede <emphasis>entrambe</emphasis> le nostre vecchie teste come genitori. Queste sono le stesse revisioni che erano state precedentemente mostrate da <command role="hg-cmd">hg parents</command>.</para>
    1.56  
    1.57 @@ -111,7 +111,7 @@
    1.58    <sect1>
    1.59      <title>Risolvere i conflitti tra cambiamenti</title>
    1.60  
    1.61 -    <para id="x_34b">La maggior parte delle unioni è semplice, ma talvolta vi troverete a unire cambiamenti dove ognuna delle due parti modifica le stesse porzioni degli stessi file. A meno che entrambe le modifiche siano identiche, questo risulterà in un <emphasis>conflitto</emphasis> che dovrete cercare di riconciliare decidendo come combinare i diversi cambiamenti in un risultato coerente.</para>
    1.62 +    <para id="x_34b">La maggior parte delle unioni è semplice, ma talvolta vi troverete a unire cambiamenti in cui ognuna delle due parti modifica le stesse porzioni degli stessi file. A meno che entrambe le modifiche siano identiche, questo risulterà in un <emphasis>conflitto</emphasis> che dovrete cercare di riconciliare decidendo come combinare i diversi cambiamenti in un risultato coerente.</para>
    1.63  
    1.64      <figure id="fig:tour-merge:conflict">
    1.65        <title>Modifiche in conflitto a un documento</title>
    1.66 @@ -121,14 +121,14 @@
    1.67        </mediaobject>
    1.68      </figure>
    1.69  
    1.70 -    <para id="x_34d">La <xref linkend="fig:tour-merge:conflict"/> illustra un esempio di due diversi cambiamenti a uno stesso documento che sono in conflitto tra loro. Siamo partiti da una singola versione del file, a cui poi abbiamo apportato alcune modifiche mentre qualcun altro eseguiva modifiche differenti allo stesso testo. Nella risoluzione del conflitto tra i cambiamenti, il nostro compito è quello di decidere che cosa dovrebbe contenere il file.</para>
    1.71 -
    1.72 -    <para id="x_34e">Mercurial non è dotato di alcuna funzionalità predefinita per gestire i conflitti. Invece, richiama un programma esterno, di solito uno che mostra un qualche tipo di interfaccia grafica per la risoluzione dei conflitti, trovato tra i tanti strumenti di unione differenti che è probabile siano installati sul vostro sistema. Come prima cosa, Mercurial prova a cercare alcuni strumenti di unione completamente automatici; poi, se non riesce a trovarli (perché il processo di risoluzione richiede una guida umana) o se non sono presenti, prova vari altri strumenti grafici per le unioni.</para>
    1.73 +    <para id="x_34d">La <xref linkend="fig:tour-merge:conflict"/> illustra un esempio di due diversi cambiamenti a uno stesso documento che sono in conflitto tra loro. Siamo partiti da una singola versione del file, a cui poi abbiamo apportato alcune modifiche mentre qualcun altro faceva modifiche differenti allo stesso testo. Nella risoluzione del conflitto tra i cambiamenti, il nostro compito è quello di decidere che cosa dovrebbe contenere il file.</para>
    1.74 +
    1.75 +    <para id="x_34e">Mercurial non è dotato di alcuna funzione predefinita per gestire i conflitti. Invece, richiama un programma esterno, di solito uno che mostra un qualche tipo di interfaccia grafica per la risoluzione dei conflitti, trovato tra i tanti strumenti di unione differenti che è probabile siano installati sul vostro sistema. Come prima cosa, Mercurial prova a cercare alcuni strumenti di unione completamente automatici; poi, se non riesce a trovarli (perché il processo di risoluzione richiede una guida umana) o se non sono presenti, prova a richiamare diversi strumenti grafici di unione.</para>
    1.76  
    1.77      <para id="x_34f">&Egrave; anche possibile far eseguire a Mercurial uno specifico programma, impostando il valore della variable di ambiente <envar>HGMERGE</envar> al nome del vostro programma preferito.</para>
    1.78  
    1.79      <sect2>
    1.80 -      <title>Usare uno strumento grafico per le unioni</title>
    1.81 +      <title>Usare uno strumento grafico di unione</title>
    1.82  
    1.83        <para id="x_350">Il mio strumento grafico preferito per gestire le unioni è <command>kdiff3</command>, che userò per descrivere le caratteristiche comuni a queste applicazioni. Potete vedere <command>kdiff3</command> in azione nella <xref linkend="fig:tour-merge:kdiff3"/>. Il tipo di unione che sta eseguendo si chiama <emphasis>unione a tre vie</emphasis>, perché ci sono tre differenti versioni di un file che ci interessano. La porzione superiore della finestra è divisa in tre pannelli:</para>
    1.84        <itemizedlist>
    1.85 @@ -155,7 +155,7 @@
    1.86  
    1.87        <para id="x_357">Per ogni porzione conflittuale del file, possiamo scegliere di risolvere il conflitto usando una qualche combinazione di testo dalla versione base, dalla nostra, o dalla loro. Possiamo anche modificare manualmente il file risultante in ogni momento, nel caso avessimo bisogno di effettuare ulteriori cambiamenti.</para>
    1.88  
    1.89 -      <para id="x_358">Esistono <emphasis>molti</emphasis> strumenti per l'unione di file, davvero troppi per elencarli qui. Si differenziano a seconda della piattaforma per cui sono disponibili e delle loro particolari forze e debolezze. La maggior parte è calibrata per unire file contenenti testo semplice, mentre alcuni sono orientati a particolari formati di file (generalmente XML).</para>
    1.90 +      <para id="x_358">Esistono <emphasis>molti</emphasis> strumenti per gestire l'unione di file, davvero troppi per elencarli qui. Si differenziano a seconda della piattaforma per cui sono disponibili e delle loro particolari forze e debolezze. La maggior parte è calibrata per unire file contenenti testo semplice, mentre alcuni sono orientati a particolari formati di file (generalmente XML).</para>
    1.91      </sect2>
    1.92  
    1.93      <sect2>
    1.94 @@ -169,7 +169,7 @@
    1.95  
    1.96        &interaction.tour-merge-conflict.cousin;
    1.97  
    1.98 -      <para id="x_35b">E ora aggiungiamo un altro clone, per simulare qualcun altro che effettui un cambiamento al file. (Questo suggerisce l'idea che non è affatto inusuale ritrovarsi a unire tra loro i propri repository che contengono attività isolate, risolvendo i conflitti incontrati nel corso di questo processo.)</para>
    1.99 +      <para id="x_35b">E ora aggiungiamo un altro clone, per simulare qualcun altro che effettui un cambiamento al file. (Questo suggerisce l'idea che non è affatto inusuale ritrovarsi a unire tra loro i propri repository contenenti attività isolate, risolvendo i conflitti incontrati nel corso di questo processo.)</para>
   1.100  
   1.101        &interaction.tour-merge-conflict.son;
   1.102  
   1.103 @@ -206,18 +206,18 @@
   1.104  hg commit -m 'Incorporati i cambiamenti remoti'</programlisting>
   1.105      <para id="x_363">Nel caso dell'inserimento finale, avete anche bisogno di includere un messaggio di commit, che sarà quasi sempre composto da testo <quote>standard</quote> non particolarmente interessante.</para>
   1.106  
   1.107 -    <para id="x_364">Se fosse possibile, sarebbe carino ridurre il numero di passi necessari. In effetti, Mercurial viene distribuito con un'estensione chiamata <literal role="hg-ext">fetch</literal> pensata proprio per questo scopo.</para>
   1.108 -
   1.109 -    <para id="x_365">Mercurial fornisce un meccanismo flessibile per consentire ad altre persone di estendere le sue funzionalità, preservando le dimensioni ridotte e la manutenibilità del proprio nucleo. Alcune estensioni aggiungono nuovi comandi che potete usare dalla linea di comando, mentre altri lavorano <quote>dietro le quinte</quote>, per esempio accrescendo le funzionalità della modalità server predefinita di Mercurial.</para>
   1.110 -
   1.111 -    <para id="x_366">L'estensione <literal role="hg-ext">fetch</literal> aggiunge un nuovo comando chiamato, naturalmente, <command role="hg-cmd">hg fetch</command>. Questa estensione agisce come una combinazione di <command role="hg-cmd">hg pull -u</command>, <command role="hg-cmd">hg merge</command> e <command role="hg-cmd">hg commit</command>. Comincia propagando verso il repository corrente i cambiamenti estratti da un altro repository. Se si accorge che i cambiamenti hanno aggiunto una nuova testa al repository aggiorna la directory di lavoro alla nuova testa, poi avvia il processo di unione e infine, se l'unione ha successo, ne inserisce il risultato nel repository con un messaggio di commit generato automaticamente. Se non sono state aggiunte nuove teste, il comando si limita ad aggiornare la directory di lavoro alla nuova revisione di punta.</para>
   1.112 +    <para id="x_364">Se fosse possibile, sarebbe comodo ridurre il numero di passi necessari. In effetti, Mercurial viene distribuito con un'estensione chiamata <literal role="hg-ext">fetch</literal> pensata proprio per questo scopo.</para>
   1.113 +
   1.114 +    <para id="x_365">Mercurial fornisce un meccanismo flessibile per consentire ad altre persone di estendere le sue funzionalità, preservando le dimensioni ridotte e la manutenibilità del proprio nucleo. Alcune estensioni aggiungono nuovi comandi che potete usare dalla riga di comando, mentre altri lavorano <quote>dietro le quinte</quote>, per esempio accrescendo le funzionalità della modalità server predefinita di Mercurial.</para>
   1.115 +
   1.116 +    <para id="x_366">L'estensione <literal role="hg-ext">fetch</literal> aggiunge un nuovo comando chiamato, naturalmente, <command role="hg-cmd">hg fetch</command>. Questa estensione agisce come una combinazione di <command role="hg-cmd">hg pull -u</command>, <command role="hg-cmd">hg merge</command> e <command role="hg-cmd">hg commit</command>. Comincia propagando verso il repository corrente i cambiamenti estratti da un altro repository. Se si accorge che i cambiamenti hanno aggiunto una nuova testa al repository, aggiorna la directory di lavoro alla nuova testa, poi avvia il processo di unione e infine, se l'unione ha successo, ne inserisce il risultato nel repository con un messaggio di commit generato automaticamente. Se non sono state aggiunte nuove teste, il comando si limita ad aggiornare la directory di lavoro alla nuova revisione di punta.</para>
   1.117  
   1.118      <para id="x_367">Abilitare l'estensione <literal role="hg-ext">fetch</literal> è facile. Aprite il file <filename role="special">.hgrc</filename> che si trova nella vostra directory personale e andate alla sezione <literal role="rc-extensions">extensions</literal> (oppure createla se non esiste già). Poi aggiungete una riga che contenga semplicemente <quote><literal>fetch=</literal></quote>.</para>
   1.119  
   1.120      <programlisting>[extensions]
   1.121  fetch =</programlisting>
   1.122  
   1.123 -    <para id="x_368">(Normalmente, il lato destro del simbolo <quote><literal>=</literal></quote> indicherebbe dove trovare l'estensione, ma dato che l'estensione <literal role="hg-ext">fetch</literal> è compresa nella distribuzione standard, Mercurial sa già dove andarla a cercare.)</para>
   1.124 +    <para id="x_368">(Normalmente, la parte a destra del simbolo <quote><literal>=</literal></quote> indicherebbe dove trovare l'estensione, ma dato che l'estensione <literal role="hg-ext">fetch</literal> è compresa nella distribuzione standard, Mercurial sa già dove andarla a cercare.)</para>
   1.125    </sect1>
   1.126  
   1.127    <sect1>
   1.128 @@ -226,9 +226,9 @@
   1.129      <para id="x_729">Durante la vita di un progetto, vorremo spesso cambiare la disposizione dei suoi file e delle sue directory. Queste modifiche possono essere tanto semplici quanto rinominare un singolo file, o tanto complesse quanto ristrutturare l'intera gerarchia dei file nell'ambito del progetto.</para>
   1.130  
   1.131      <para id="x_72a">Mercurial supporta questi tipi di cambiamenti in maniera fluida, a patto che gli diciamo quello che stiamo facendo. Se vogliamo rinominare un file, dovremmo usare il comando <command>hg rename</command><footnote>
   1.132 -	<para id="x_72b">Se siete utenti Unix, sarete contenti di sapere che il comando <command>hg rename</command> si può abbreviare in <command>hg mv</command>.</para>
   1.133 -    </footnote> per cambiarne il nome, in modo che Mercurial possa comportarsi in maniera appropriata nel caso più tardi effettuassimo un'unione.</para>
   1.134 -
   1.135 -    <para id="x_72c">Tratteremo l'uso di questi comandi in maniera più estesa nel <xref linkend="chap:daily.copy"/>.</para>
   1.136 +	<para id="x_72b">Se siete utenti Unix, sarete felici di sapere che il comando <command>hg rename</command> si può abbreviare in <command>hg mv</command>.</para>
   1.137 +    </footnote> per cambiare il nome del file, in modo che Mercurial possa comportarsi in maniera appropriata nel caso più tardi effettuassimo un'unione.</para>
   1.138 +
   1.139 +    <para id="x_72c">Tratteremo l'uso di questi comandi in maniera più estesa nella <xref linkend="chap:daily.copy"/>.</para>
   1.140    </sect1>
   1.141  </chapter>
     2.1 --- a/it/examples/auto-snippets.xml	Mon Aug 10 19:07:10 2009 +0200
     2.2 +++ b/it/examples/auto-snippets.xml	Mon Aug 10 21:59:18 2009 +0200
     2.3 @@ -221,12 +221,12 @@
     2.4  <!ENTITY interaction.template.svnstyle.syntax.error SYSTEM "results/template.svnstyle.syntax.error.lxo">
     2.5  <!ENTITY interaction.template.svnstyle.syntax.input SYSTEM "results/template.svnstyle.syntax.input.lxo">
     2.6  <!ENTITY interaction.template.svnstyle.template SYSTEM "results/template.svnstyle.template.lxo">
     2.7 -<!ENTITY interaction.tour-merge-conflict.commit SYSTEM "results/tour-merge-conflict.commit.lxo">
     2.8 -<!ENTITY interaction.tour-merge-conflict.cousin SYSTEM "results/tour-merge-conflict.cousin.lxo">
     2.9 -<!ENTITY interaction.tour-merge-conflict.merge SYSTEM "results/tour-merge-conflict.merge.lxo">
    2.10 -<!ENTITY interaction.tour-merge-conflict.pull SYSTEM "results/tour-merge-conflict.pull.lxo">
    2.11 -<!ENTITY interaction.tour-merge-conflict.son SYSTEM "results/tour-merge-conflict.son.lxo">
    2.12 -<!ENTITY interaction.tour-merge-conflict.wife SYSTEM "results/tour-merge-conflict.wife.lxo">
    2.13 +<!ENTITY interaction.tour-merge-conflict.commit SYSTEM "tour-merge-conflict.commit.it">
    2.14 +<!ENTITY interaction.tour-merge-conflict.cousin SYSTEM "tour-merge-conflict.cousin.it">
    2.15 +<!ENTITY interaction.tour-merge-conflict.merge SYSTEM "tour-merge-conflict.merge.it">
    2.16 +<!ENTITY interaction.tour-merge-conflict.pull SYSTEM "tour-merge-conflict.pull.it">
    2.17 +<!ENTITY interaction.tour-merge-conflict.son SYSTEM "tour-merge-conflict.son.it">
    2.18 +<!ENTITY interaction.tour-merge-conflict.wife SYSTEM "tour-merge-conflict.wife.it">
    2.19  <!ENTITY interaction.tour.cat1 SYSTEM "tour.cat1.it">
    2.20  <!ENTITY interaction.tour.cat2 SYSTEM "tour.cat2.it">
    2.21  <!ENTITY interaction.tour.clone SYSTEM "tour.clone.it">
    2.22 @@ -246,20 +246,20 @@
    2.23  <!ENTITY interaction.tour.lxogoing SYSTEM "results/tour.lxogoing.lxo">
    2.24  <!ENTITY interaction.tour.lxogoing.net SYSTEM "results/tour.lxogoing.net.lxo">
    2.25  <!ENTITY interaction.tour.merge.cat SYSTEM "results/tour.merge.cat.lxo">
    2.26 -<!ENTITY interaction.tour.merge.cat1 SYSTEM "results/tour.merge.cat1.lxo">
    2.27 -<!ENTITY interaction.tour.merge.cat2 SYSTEM "results/tour.merge.cat2.lxo">
    2.28 -<!ENTITY interaction.tour.merge.clone SYSTEM "results/tour.merge.clone.lxo">
    2.29 -<!ENTITY interaction.tour.merge.commit SYSTEM "results/tour.merge.commit.lxo">
    2.30 +<!ENTITY interaction.tour.merge.cat1 SYSTEM "tour.merge.cat1.it">
    2.31 +<!ENTITY interaction.tour.merge.cat2 SYSTEM "tour.merge.cat2.it">
    2.32 +<!ENTITY interaction.tour.merge.clone SYSTEM "tour.merge.clone.it">
    2.33 +<!ENTITY interaction.tour.merge.commit SYSTEM "tour.merge.commit.it">
    2.34  <!ENTITY interaction.tour.merge.dummy1 SYSTEM "results/tour.merge.dummy1.lxo">
    2.35  <!ENTITY interaction.tour.merge.dummy2 SYSTEM "results/tour.merge.dummy2.lxo">
    2.36  <!ENTITY interaction.tour.merge.dummy3 SYSTEM "results/tour.merge.dummy3.lxo">
    2.37  <!ENTITY interaction.tour.merge.dummy4 SYSTEM "results/tour.merge.dummy4.lxo">
    2.38 -<!ENTITY interaction.tour.merge.heads SYSTEM "results/tour.merge.heads.lxo">
    2.39 -<!ENTITY interaction.tour.merge.merge SYSTEM "results/tour.merge.merge.lxo">
    2.40 -<!ENTITY interaction.tour.merge.parents SYSTEM "results/tour.merge.parents.lxo">
    2.41 -<!ENTITY interaction.tour.merge.pull SYSTEM "results/tour.merge.pull.lxo">
    2.42 -<!ENTITY interaction.tour.merge.tip SYSTEM "results/tour.merge.tip.lxo">
    2.43 -<!ENTITY interaction.tour.merge.update SYSTEM "results/tour.merge.update.lxo">
    2.44 +<!ENTITY interaction.tour.merge.heads SYSTEM "tour.merge.heads.it">
    2.45 +<!ENTITY interaction.tour.merge.merge SYSTEM "tour.merge.merge.it">
    2.46 +<!ENTITY interaction.tour.merge.parents SYSTEM "tour.merge.parents.it">
    2.47 +<!ENTITY interaction.tour.merge.pull SYSTEM "tour.merge.pull.it">
    2.48 +<!ENTITY interaction.tour.merge.tip SYSTEM "tour.merge.tip.it">
    2.49 +<!ENTITY interaction.tour.merge.update SYSTEM "tour.merge.update.it">
    2.50  <!ENTITY interaction.tour.older SYSTEM "tour.older.it">
    2.51  <!ENTITY interaction.tour.outgoing SYSTEM "tour.outgoing.it">
    2.52  <!ENTITY interaction.tour.outgoing.net SYSTEM "tour.outgoing.net.it">
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/it/examples/tour-merge-conflict.commit.it	Mon Aug 10 21:59:18 2009 +0200
     3.3 @@ -0,0 +1,19 @@
     3.4 +<!-- BEGIN tour-merge-conflict.commit -->
     3.5 +<screen><prompt>$</prompt> <userinput>cat &gt; lettera.txt &lt;&lt;EOF</userinput>
     3.6 +<prompt>></prompt> <userinput>Salve!</userinput>
     3.7 +<prompt>></prompt> <userinput>Sono Bryan O'Sullivan, nessuna parentela con l'ex</userinput>
     3.8 +<prompt>></prompt> <userinput>dittatore nigeriano Sani Abacha.</userinput>
     3.9 +<prompt>></prompt> <userinput>EOF</userinput>
    3.10 +<prompt>$</prompt> <userinput>hg resolve -m lettera.txt</userinput>
    3.11 +<prompt>$</prompt> <userinput>hg commit -m 'Mandatemi i vostri soldi'</userinput>
    3.12 +<prompt>$</prompt> <userinput>hg tip</userinput>
    3.13 +changeset:   3:df19ae0ef4d4
    3.14 +tag:         tip
    3.15 +parent:      1:ae14113af250
    3.16 +parent:      2:11ab3b2b6d1b
    3.17 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    3.18 +date:        Fri Jun 05 15:52:13 2009 +0000
    3.19 +summary:     Mandatemi i vostri soldi
    3.20 +
    3.21 +</screen>
    3.22 +<!-- END tour-merge-conflict.commit -->
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/it/examples/tour-merge-conflict.cousin.it	Mon Aug 10 21:59:18 2009 +0200
     4.3 @@ -0,0 +1,14 @@
     4.4 +<!-- BEGIN tour-merge-conflict.cousin -->
     4.5 +<screen><prompt>$</prompt> <userinput>cd ..</userinput>
     4.6 +<prompt>$</prompt> <userinput>hg clone truffa truffa-cugino</userinput>
     4.7 +aggiorno la directory di lavoro
     4.8 +1 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
     4.9 +<prompt>$</prompt> <userinput>cd truffa-cugino</userinput>
    4.10 +<prompt>$</prompt> <userinput>cat &gt; lettera.txt &lt;&lt;EOF</userinput>
    4.11 +<prompt>></prompt> <userinput>Salve!</userinput>
    4.12 +<prompt>></prompt> <userinput>Sono Shehu Musa Abacha, cugino dell'ex</userinput>
    4.13 +<prompt>></prompt> <userinput>dittatore nigeriano Sani Abacha.</userinput>
    4.14 +<prompt>></prompt> <userinput>EOF</userinput>
    4.15 +<prompt>$</prompt> <userinput>hg commit -m 'truffa 419, con cugino'</userinput>
    4.16 +</screen>
    4.17 +<!-- END tour-merge-conflict.cousin -->
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/it/examples/tour-merge-conflict.merge.it	Mon Aug 10 21:59:18 2009 +0200
     5.3 @@ -0,0 +1,18 @@
     5.4 +<!-- BEGIN tour-merge-conflict.merge -->
     5.5 +<screen><prompt>$</prompt> <userinput>export HGMERGE=merge</userinput>
     5.6 +<prompt>$</prompt> <userinput>hg merge</userinput>
     5.7 +unisco lettera.txt
     5.8 +merge: attenzione: conflitti durante l'unione
     5.9 +unione di lettera.txt fallita!
    5.10 +0 file aggiornati, 0 file uniti, 0 file rimossi, 1 file irrisolti
    5.11 +usate 'hg resolve' per riprovare a unire i file irrisolti
    5.12 +<prompt>$</prompt> <userinput>cat lettera.txt</userinput>
    5.13 +Salve!
    5.14 +&lt;&lt;&lt;&lt;&lt;&lt;&lt; /tmp/panoramica-unioni-conflitto/truffa-unione/lettera.txt
    5.15 +Sono Shehu Musa Abacha, cugino dell'ex
    5.16 +=======
    5.17 +Sono Alhaji Abba Abacha, figlio dell'ex
    5.18 +&gt;&gt;&gt;&gt;&gt;&gt;&gt; /tmp/lettera.txt~other.01poS4
    5.19 +dittatore nigeriano Sani Abacha.
    5.20 +</screen>
    5.21 +<!-- END tour-merge-conflict.merge -->
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/it/examples/tour-merge-conflict.pull.it	Mon Aug 10 21:59:18 2009 +0200
     6.3 @@ -0,0 +1,17 @@
     6.4 +<!-- BEGIN tour-merge-conflict.pull -->
     6.5 +<screen><prompt>$</prompt> <userinput>cd ..</userinput>
     6.6 +<prompt>$</prompt> <userinput>hg clone truffa-cugino truffa-unione</userinput>
     6.7 +aggiorno la directory di lavoro
     6.8 +1 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
     6.9 +<prompt>$</prompt> <userinput>cd truffa-unione</userinput>
    6.10 +<prompt>$</prompt> <userinput>hg pull -u ../truffa-figlio</userinput>
    6.11 +estraggo da ../scam-son
    6.12 +cerco i cambiamenti
    6.13 +aggiungo i changeset
    6.14 +aggiungo i manifest
    6.15 +aggiungo i cambiamenti ai file
    6.16 +aggiunti 1 changeset con 1 cambiamenti a 1 file (+1 teste)
    6.17 +non aggiorno, sono state aggiunte nuove teste
    6.18 +(eseguite 'hg heads' per vedere le teste, 'hg merge' per unire)
    6.19 +</screen>
    6.20 +<!-- END tour-merge-conflict.pull -->
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/it/examples/tour-merge-conflict.son.it	Mon Aug 10 21:59:18 2009 +0200
     7.3 @@ -0,0 +1,14 @@
     7.4 +<!-- BEGIN tour-merge-conflict.son -->
     7.5 +<screen><prompt>$</prompt> <userinput>cd ..</userinput>
     7.6 +<prompt>$</prompt> <userinput>hg clone truffa truffa-figlio</userinput>
     7.7 +aggiorno la directory di lavoro
     7.8 +1 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
     7.9 +<prompt>$</prompt> <userinput>cd truffa-figlio</userinput>
    7.10 +<prompt>$</prompt> <userinput>cat &gt; lettera.txt &lt;&lt;EOF</userinput>
    7.11 +<prompt>></prompt> <userinput>Salve!</userinput>
    7.12 +<prompt>></prompt> <userinput>Sono Alhaji Abba Abacha, figlio dell'ex</userinput>
    7.13 +<prompt>></prompt> <userinput>dittatore nigeriano Sani Abacha.</userinput>
    7.14 +<prompt>></prompt> <userinput>EOF</userinput>
    7.15 +<prompt>$</prompt> <userinput>hg commit -m 'truffa 419, con figlio'</userinput>
    7.16 +</screen>
    7.17 +<!-- END tour-merge-conflict.son -->
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/it/examples/tour-merge-conflict.wife.it	Mon Aug 10 21:59:18 2009 +0200
     8.3 @@ -0,0 +1,10 @@
     8.4 +<!-- BEGIN tour-merge-conflict.wife -->
     8.5 +<screen><prompt>$</prompt> <userinput>cat &gt; lettera.txt &lt;&lt;EOF</userinput>
     8.6 +<prompt>></prompt> <userinput>Salve!</userinput>
     8.7 +<prompt>></prompt> <userinput>Sono Mariam Abacha, la moglie dell'ex</userinput>
     8.8 +<prompt>></prompt> <userinput>dittatore nigeriano Sani Abacha.</userinput>
     8.9 +<prompt>></prompt> <userinput>EOF</userinput>
    8.10 +<prompt>$</prompt> <userinput>hg add letter.txt</userinput>
    8.11 +<prompt>$</prompt> <userinput>hg commit -m 'truffa 419, prima bozza'</userinput>
    8.12 +</screen>
    8.13 +<!-- END tour-merge-conflict.wife -->
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/it/examples/tour.merge.cat1.it	Mon Aug 10 21:59:18 2009 +0200
     9.3 @@ -0,0 +1,19 @@
     9.4 +<!-- BEGIN tour.merge.cat1 -->
     9.5 +<screen><prompt>$</prompt> <userinput>cat hello.c</userinput>
     9.6 +/*
     9.7 + * Rilasciato nel pubblico dominio da Bryan O'Sullivan. Questo
     9.8 + * programma non è protetto da brevetti negli Stati Uniti o in
     9.9 + * altri paesi.
    9.10 + */
    9.11 +
    9.12 +#include &lt;stdio.h&gt;
    9.13 +
    9.14 +int main(int argc, char **argv)
    9.15 +{
    9.16 +	printf("ancora una volta, ciao.\n");
    9.17 +	printf("ciao, mondo!\");
    9.18 +	printf("ancora ciao!\n");
    9.19 +	return 0;
    9.20 +}
    9.21 +</screen>
    9.22 +<!-- END tour.merge.cat1 -->
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/it/examples/tour.merge.cat2.it	Mon Aug 10 21:59:18 2009 +0200
    10.3 @@ -0,0 +1,18 @@
    10.4 +<!-- BEGIN tour.merge.cat2 -->
    10.5 +<screen><prompt>$</prompt> <userinput>cat ../my-hello/hello.c</userinput>
    10.6 +/*
    10.7 + * Rilasciato nel pubblico dominio da Bryan O'Sullivan. Questo
    10.8 + * programma non è protetto da brevetti negli Stati Uniti o in
    10.9 + * altri paesi.
   10.10 + */
   10.11 +
   10.12 +#include &lt;stdio.h&gt;
   10.13 +
   10.14 +int main(int argc, char **argv)
   10.15 +{
   10.16 +	printf("ciao, mondo!\");
   10.17 +	printf("ancora ciao!\n");
   10.18 +	return 0;
   10.19 +}
   10.20 +</screen>
   10.21 +<!-- END tour.merge.cat2 -->
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/it/examples/tour.merge.clone.it	Mon Aug 10 21:59:18 2009 +0200
    11.3 @@ -0,0 +1,11 @@
    11.4 +<!-- BEGIN tour.merge.clone -->
    11.5 +<screen><prompt>$</prompt> <userinput>cd ..</userinput>
    11.6 +<prompt>$</prompt> <userinput>hg clone hello my-new-hello</userinput>
    11.7 +aggiorno la directory di lavoro
    11.8 +2 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
    11.9 +<prompt>$</prompt> <userinput>cd my-new-hello</userinput>
   11.10 +# Apportiamo alcune semplici modifiche a hello.c...
   11.11 +<prompt>$</prompt> <userinput>mio-editor-di-testo hello.c</userinput>
   11.12 +<prompt>$</prompt> <userinput>hg commit -m 'Un nuovo saluto per un nuovo giorno.'</userinput>
   11.13 +</screen>
   11.14 +<!-- END tour.merge.clone -->
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/it/examples/tour.merge.commit.it	Mon Aug 10 21:59:18 2009 +0200
    12.3 @@ -0,0 +1,4 @@
    12.4 +<!-- BEGIN tour.merge.commit -->
    12.5 +<screen><prompt>$</prompt> <userinput>hg commit -m 'Unisce i cambiamenti.'</userinput>
    12.6 +</screen>
    12.7 +<!-- END tour.merge.commit -->
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/it/examples/tour.merge.heads.it	Mon Aug 10 21:59:18 2009 +0200
    13.3 @@ -0,0 +1,16 @@
    13.4 +<!-- BEGIN tour.merge.heads -->
    13.5 +<screen><prompt>$</prompt> <userinput>hg heads</userinput>
    13.6 +changeset:   6:764347e47e75
    13.7 +tag:         tip
    13.8 +parent:      4:2278160e78d4
    13.9 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   13.10 +date:        Fri Jun 05 15:51:52 2009 +0000
   13.11 +summary:     Inserisce una riga con un messaggio aggiuntivo.
   13.12 +
   13.13 +changeset:   5:1c343117a2e3
   13.14 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   13.15 +date:        Fri Jun 05 15:52:03 2009 +0000
   13.16 +summary:     Un nuovo saluto per un nuovo giorno.
   13.17 +
   13.18 +</screen>
   13.19 +<!-- END tour.merge.heads -->
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/it/examples/tour.merge.merge.it	Mon Aug 10 21:59:18 2009 +0200
    14.3 @@ -0,0 +1,7 @@
    14.4 +<!-- BEGIN tour.merge.merge -->
    14.5 +<screen><prompt>$</prompt> <userinput>hg merge</userinput>
    14.6 +unisco hello.c
    14.7 +0 file aggiornati, 1 file uniti, 0 file rimossi, 0 file irrisolti
    14.8 +(unione di rami, ricordatevi di eseguire il commit)
    14.9 +</screen>
   14.10 +<!-- END tour.merge.merge -->
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/it/examples/tour.merge.parents.it	Mon Aug 10 21:59:18 2009 +0200
    15.3 @@ -0,0 +1,32 @@
    15.4 +<!-- BEGIN tour.merge.parents -->
    15.5 +<screen><prompt>$</prompt> <userinput>hg parents</userinput>
    15.6 +changeset:   5:1c343117a2e3
    15.7 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    15.8 +date:        Fri Jun 05 15:52:03 2009 +0000
    15.9 +summary:     Un nuovo saluto per un nuovo giorno.
   15.10 +
   15.11 +changeset:   6:764347e47e75
   15.12 +tag:         tip
   15.13 +parent:      4:2278160e78d4
   15.14 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   15.15 +date:        Fri Jun 05 15:51:52 2009 +0000
   15.16 +summary:     Inserisce una riga con un messaggio aggiuntivo.
   15.17 +
   15.18 +<prompt>$</prompt> <userinput>cat hello.c</userinput>
   15.19 +/*
   15.20 + * Rilasciato nel pubblico dominio da Bryan O'Sullivan. Questo
   15.21 + * programma non è protetto da brevetti negli Stati Uniti o in
   15.22 + * altri paesi.
   15.23 + */
   15.24 +
   15.25 +#include &lt;stdio.h&gt;
   15.26 +
   15.27 +int main(int argc, char **argv)
   15.28 +{
   15.29 +	printf("ancora una volta, ciao.\n");
   15.30 +	printf("ciao, mondo!\");
   15.31 +	printf("ancora ciao!\n");
   15.32 +	return 0;
   15.33 +}
   15.34 +</screen>
   15.35 +<!-- END tour.merge.parents -->
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/it/examples/tour.merge.pull.it	Mon Aug 10 21:59:18 2009 +0200
    16.3 @@ -0,0 +1,11 @@
    16.4 +<!-- BEGIN tour.merge.pull -->
    16.5 +<screen><prompt>$</prompt> <userinput>hg pull ../my-hello</userinput>
    16.6 +estraggo da ../my-hello
    16.7 +cerco i cambiamenti
    16.8 +aggiungo i changeset
    16.9 +aggiungo i manifest
   16.10 +aggiungo i cambiamenti ai file
   16.11 +aggiunti 1 changeset con 1 cambiamenti a 1 file (+1 teste)
   16.12 +(eseguite 'hg heads' per vedere le teste, 'hg merge' per unire)
   16.13 +</screen>
   16.14 +<!-- END tour.merge.pull -->
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/it/examples/tour.merge.tip.it	Mon Aug 10 21:59:18 2009 +0200
    17.3 @@ -0,0 +1,12 @@
    17.4 +<!-- BEGIN tour.merge.tip -->
    17.5 +<screen><prompt>$</prompt> <userinput>hg tip</userinput>
    17.6 +changeset:   7:e300c3dcceca
    17.7 +tag:         tip
    17.8 +parent:      5:1c343117a2e3
    17.9 +parent:      6:764347e47e75
   17.10 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   17.11 +date:        Fri Jun 05 15:52:07 2009 +0000
   17.12 +summary:     Unisce i cambiamenti.
   17.13 +
   17.14 +</screen>
   17.15 +<!-- END tour.merge.tip -->
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/it/examples/tour.merge.update.it	Mon Aug 10 21:59:18 2009 +0200
    18.3 @@ -0,0 +1,6 @@
    18.4 +<!-- BEGIN tour.merge.update -->
    18.5 +<screen><prompt>$</prompt> <userinput>hg update</userinput>
    18.6 +abortito: attraversa i rami (usate 'hg merge' o 'hg update -C')
    18.7 +<!-- in realtà... "aborto", n. più che agg. o p.p. -->
    18.8 +</screen>
    18.9 +<!-- END tour.merge.update -->