Commits

gpiancastelli  committed 11a6ba6

Final editing for chapters 0-3.

  • Participants
  • Parent commits ae54f56

Comments (0)

Files changed (31)

File it/ch00-preface.xml

 
     <para id="x_72e">Alcuni anni fa, quando cominciai a sentire il desiderio di spiegare perché credevo che il controllo di revisione distribuito fosse importante, questo campo era talmente nuovo che la letteratura pubblicata da offrire come riferimento alle persone interessate era quasi inesistente.</para>
 
-    <para id="x_72f">Sebbene a quel tempo fossi abbastanza impegnato a lavorare ai meccanismi interni di Mercurial, mi misi a scrivere questo libro perché sembrava il modo più efficace di aiutare il software a raggiungere il grande pubblico, accompagnandolo con l'idea che il controllo di revisione dovesse essere distribuito per natura. Rendo il libro disponibile online secondo i termini di una licenza liberale per la stessa ragione: per diffondere il messaggio.</para>
+    <para id="x_72f">Sebbene a quel tempo fossi abbastanza impegnato a lavorare sui meccanismi interni di Mercurial, mi misi a scrivere questo libro perché sembrava il modo più efficace di aiutare il software a raggiungere il grande pubblico, accompagnandolo con l'idea che il controllo di revisione dovesse essere distribuito per natura. Rendo il libro disponibile online secondo i termini di una licenza liberale per la stessa ragione: per diffondere il messaggio.</para>
 
     <para id="x_730">Un buon libro di software possiede un ritmo familiare che assomiglia da vicino al racconto di una storia: che cos'è questa cosa? Perché è importante? Come mi aiuterà? Come si usa? In questo libro, provo a rispondere a queste domande per il controllo di revisione distribuito in generale e per Mercurial in particolare.</para>
   </sect1>
   <sect1>
     <title>Grazie per il vostro sostegno a Mercurial</title>
 
-    <para id="x_731">Acquistando una copia di questo libro state sostenendo l'evoluzione e la libertà ininterrotta di Mercurial in particolare e del software free e open source in generale. O'Reilly Media e io stiamo donando le mie royalty sulle vendite di questo libro alla Software Freedom Conservancy (<ulink
+    <para id="x_731">Acquistando una copia di questo libro state sostenendo il continuo sviluppo e la libertà ininterrotta di Mercurial in particolare e del software libero e open source in generale. O'Reilly Media e io stiamo donando le mie royalty sulle vendite di questo libro alla Software Freedom Conservancy (<ulink
 	url="http://www.softwarefreedom.org/">http://www.softwarefreedom.org/</ulink>) che fornisce supporto in termini di personale e di assistenza legale a Mercurial e a un certo numero di altri progetti software open source importanti e meritevoli.</para>
   </sect1>
 
 
     <para id="x_732">Questo libro non esisterebbe se non fosse per gli sforzi di Matt Mackall, l'autore e capo progetto di Mercurial. Lo assistono abilmente centinaia di collaboratori volontari sparsi in tutto il mondo.</para>
 
-    <para id="x_733">I miei figli, Cian e Ruairi, si sono sempre fatti trovare pronti ad aiutarmi a rilassarmi con meravigliosi e spericolati giochi per bambini. Vorrei anche ringraziare la mia ex moglie, Shannon, per il suo supporto.</para>
+    <para id="x_733">I miei figli, Cian e Ruairi, si sono sempre fatti trovare pronti per aiutarmi a rilassarmi con meravigliosi e spericolati giochi da bambini. Vorrei anche ringraziare la mia ex moglie, Shannon, per il suo supporto.</para>
 
     <para id="x_734">I miei colleghi e amici hanno fornito aiuto e sostegno in innumerevoli modi. Questa lista di persone non può che essere decisamente incompleta: Stephen Hahn, Karyn Ritter, Bonnie Corwin, James Vasile, Matt Norwood, Eben Moglen, Bradley Kuhn, Robert Walsh, Jeremy Fitzhardinge, Rachel Chalmers.</para>
 
   <sect1>
     <title>Convenzioni usate in questo libro</title>
 
-    <para id="x_73a">Questo libro adotta le seguenti convenzioni tipografiche:</para>
+    <para id="x_73a">Per il testo di questo libro sono state adottate le seguenti convenzioni tipografiche.</para>
 
     <variablelist>
       <varlistentry>
         <term><literal>Spaziatura fissa</literal></term>
 
         <listitem>
-          <para id="x_73c">Usato per i listati dei programmi, così come all'interno di paragrafi che fanno riferimento a elementi di programmazione come variabili o nomi di funzione, database, tipi di dato, variabili d'ambiente, istruzioni e parole chiave.</para>
+          <para id="x_73c">Usato per i listati dei programmi e all'interno di paragrafi che fanno riferimento a elementi di programmazione come variabili o nomi di funzione, database, tipi di dato, variabili d'ambiente, istruzioni e parole chiave.</para>
         </listitem>
       </varlistentry>
 
     </tip>
 
     <caution>
-      <para id="x_740">Questa icona indica un avviso o avvertimento.</para>
+      <para id="x_740">Questa icona indica un avvertimento.</para>
     </caution>
   </sect1>
 

File it/ch01-intro.xml

 
     <para id="x_6d">Il controllo di revisione è il processo tramite il quale si gestiscono molteplici versioni di una qualsiasi unità di informazione. Molte persone eseguono a mano questo processo nella sua forma più semplice, ogni volta che modificano un file e lo salvano con un nuovo nome che contiene un numero più alto del numero della versione precedente.</para>
 
-    <para id="x_6e">Tuttavia, gestire più versioni anche solo di un singolo file è un'operazione soggetta a errori, quindi strumenti software per automatizzare questo processo sono stati disponibili per molto tempo. I primi strumenti automatizzati per il controllo di revisione erano deputati ad assistere un singolo utente nella gestione delle revisioni di un singolo file. Nel corso delle ultime decadi, il campo d'azione degli strumenti di controllo di revisione si è ampiamente esteso, e ora sono in grado di gestire un grande numero di file e di aiutare più persone a lavorare insieme. I migliori strumenti moderni di controllo di revisione non hanno alcun problema a fronteggiare gruppi di migliaia di persone che lavorano insieme su progetti composti da centinaia di migliaia di file.</para>
+    <para id="x_6e">Tuttavia, gestire più versioni anche solo di un singolo file è un'operazione soggetta a errori, quindi gli strumenti software per automatizzare questo processo sono stati disponibili per molto tempo. I primi strumenti automatizzati per il controllo di revisione erano deputati ad assistere un singolo utente nella gestione delle revisioni di un singolo file. Nel corso delle ultime decadi, il campo d'azione degli strumenti di controllo di revisione si è ampiamente esteso, e ora sono in grado di gestire un grande numero di file e di aiutare più persone a lavorare insieme. I migliori strumenti moderni di controllo di revisione non hanno alcun problema a fronteggiare gruppi di migliaia di persone che lavorano insieme su progetti composti da centinaia di migliaia di file.</para>
 
-    <para id="x_6f">La comparsa del controllo di revisione distribuito è relativamente recente, e finora questo nuovo campo è cresciuto grazie alla propensione umana per l'esplorazione di territori sconosciuti.</para>
+    <para id="x_6f">La comparsa del controllo di revisione distribuito è relativamente recente, e finora questo nuovo campo si è sviluppato grazie alla propensione umana per l'esplorazione di territori sconosciuti.</para>
 
     <para id="x_70">Sto scrivendo un libro sul controllo di revisione distribuito perché credo che sia una materia importante che merita una guida sul campo. Ho scelto di trattare Mercurial perché è lo strumento più facile con cui saggiare il terreno, e tuttavia è in grado di scalare fino a soddisfare le richieste di ambienti reali e impegnativi dove molti altri strumenti di controllo di revisione si sono dovuti arrendere.</para>
 
       <para id="x_71">Esiste un certo numero di ragioni per le quali voi o il vostro gruppo potreste voler usare uno strumento automatico per il controllo di revisione su un progetto.</para>
 
       <itemizedlist>
-	<listitem><para id="x_72">Terrà traccia della storia e dell'evoluzione del vostro progetto, così voi non dovete farlo. Per ogni modifica, registrerà informazioni riguardanti <emphasis>chi</emphasis> l'ha fatta, <emphasis>perché</emphasis> l'ha fatta, <emphasis>quando</emphasis> è stata fatta e <emphasis>cosa</emphasis> è stato modificato.</para></listitem>
+	<listitem><para id="x_72">Lo strumento terrà traccia della storia e dell'evoluzione del vostro progetto, così voi non dovete farlo. Per ogni modifica, registrerà informazioni riguardanti <emphasis>chi</emphasis> l'ha fatta, <emphasis>perché</emphasis> l'ha fatta, <emphasis>quando</emphasis> è stata fatta e <emphasis>cosa</emphasis> è stato modificato.</para></listitem>
 	<listitem><para id="x_73">Quando state lavorando con altre persone, il software di controllo di revisione facilita la collaborazione. Per esempio, quando due persone effettuano cambiamenti incompatibili più o meno simultaneamente, il software vi aiuterà a identificare e risolvere questi conflitti.</para></listitem>
-	<listitem><para id="x_74">Può aiutarvi a rettificare i vostri errori. Se fate una modifica che più tardi si rivela essere un errore, potete ritornare a una versione precedente di uno o più file. In effetti, uno strumento di controllo di revisione <emphasis>davvero</emphasis> buono vi aiuterà a calcolare efficientemente il momento esatto in cui un problema è stato introdotto (si veda la <xref linkend="sec:undo:bisect"/> per i dettagli).</para></listitem>
-	<listitem><para id="x_75">Vi aiuterà a lavorare simultaneamente su molteplici versioni del vostro progetto e a gestire gli spostamenti tra una versione e l'altra.</para></listitem>
+	<listitem><para id="x_74">Lo strumento può aiutarvi a rettificare i vostri errori. Se fate una modifica che più tardi si rivela essere un errore, potete ritornare a una versione precedente di uno o più file. In effetti, uno strumento di controllo di revisione <emphasis>davvero</emphasis> buono vi aiuterà a calcolare efficientemente il momento esatto in cui un problema è stato introdotto (si veda la <xref linkend="sec:undo:bisect"/> per i dettagli).</para></listitem>
+	<listitem><para id="x_75">Il software vi aiuterà a lavorare simultaneamente su molteplici versioni del vostro progetto e a gestire gli spostamenti tra una versione e l'altra.</para></listitem>
       </itemizedlist>
 
       <para id="x_76">La maggior parte di queste ragioni sono altrettanto valide&emdash;almeno in teoria&emdash;sia che lavoriate su un progetto da soli sia che collaboriate insieme a un centianio di altre persone.</para>
 
       <para id="x_79">D'altra parte, il <quote>lavoretto veloce</quote> di una singola persona potrebbe sembrare il contesto meno adatto per impiegare uno strumento di controllo di revisione, perché sicuramente il costo di usarne uno deve essere vicino al costo complessivo del progetto. Giusto?</para>
 
-      <para id="x_7a">Mercurial supporta in maniera unica <emphasis>entrambe</emphasis> queste dimensioni di sviluppo. Potete impararne le basi in pochi minuti appena, e grazie al suo basso costo di gestione potete applicare il controllo di revisione al più piccolo dei progetti con facilità. La sua semplicità vi permetterà di concentrarvi su qualunque cosa stiate <emphasis>davvero</emphasis> cercando di fare senza farvi distrarre da schiere di concetti astrusi o lunghe sequenze di comandi. Allo stesso tempo, le elevate prestazioni e la natura peer-to-peer di Mercurial vi permetteranno di scalare in maniera indolore per gestire grandi progetti.</para>
+      <para id="x_7a">Mercurial supporta in maniera unica <emphasis>entrambe</emphasis> queste dimensioni di sviluppo. Potete impararne le basi in pochi minuti appena, e grazie al suo basso costo di gestione potete applicare il controllo di revisione al più piccolo dei progetti con facilità. La sua semplicità vi permetterà di concentrarvi su qualunque cosa stiate <emphasis>davvero</emphasis> cercando di fare senza distrarvi con schiere di concetti astrusi o lunghe sequenze di comandi. Allo stesso tempo, le elevate prestazioni e la natura peer-to-peer di Mercurial vi permetteranno di scalare in maniera indolore per gestire grandi progetti.</para>
 
-      <para id="x_7b">Nessuno strumento di controllo di revisione può salvare un progetto gestito male, ma la scelta degli strumenti adeguati può fare una notevole differenza nella fluidità con cui potete lavorare su un progetto.</para>
+      <para id="x_7b">Nessuno strumento di controllo di revisione può salvare un progetto gestito male, ma la scelta degli strumenti adeguati può fare una notevole differenza nella facilità con cui potete lavorare su un progetto.</para>
 
     </sect2>
 
   <sect1>
     <title>A proposito degli esempi in questo libro</title>
 
-    <para id="x_84">Questo libro tratta gli esempi di codice in maniera inusuale. Tutti gli esempi sono <quote>vivi</quote>&emdash;ognuno di essi è in effetti il risultato di uno script di shell che esegue i comandi Mercurial che vedete. Ogni volta che un'immagine del libro viene costruita dai suoi sorgenti, tutti gli script di esempio vengono automaticamente eseguiti e i loro risultati correnti vengono confrontati con i loro risultati attesi.</para>
+    <para id="x_84">Questo libro tratta gli esempi di codice in maniera inusuale. Tutti gli esempi sono <quote>vivi</quote>&emdash;ognuno di essi è in effetti il risultato di uno script di shell che esegue i comandi Mercurial che vedete. Ogni volta che un'immagine del libro viene assemblata dai suoi sorgenti, tutti gli script di esempio vengono automaticamente eseguiti e i loro risultati correnti vengono confrontati con i loro risultati attesi.</para>
 
     <para id="x_85">Il vantaggio di questo approccio è che gli esempi sono sempre accurati, in quanto descrivono <emphasis>esattamente</emphasis> il comportamento della versione di Mercurial menzionata sulla copertina del libro. Se aggiorno la versione di Mercurial che sto documentando e il risultato di qualche comando cambia, il processo di assemblaggio del libro fallisce.</para>
 
-    <para id="x_86">C'è un piccolo svantaggio in questo approccio, cioè che le date e gli orari che vedete negli esempi tendono a venire <quote>compressi</quote> insieme in modo anomalo, diversamente da quanto accadrebbe se gli stessi comandi fossero digitati da un essere umano. Laddove un essere umano non può inviare più di un comando ogni pochi secondi, le cui marcature temporali sarebbero analogamente intervallate, i miei script d'esempio automatizzati sono in grado di eseguire molti comandi in un secondo.</para>
+    <para id="x_86">C'è un piccolo svantaggio in questo approccio: le date e gli orari che vedete negli esempi tendono a venire <quote>compressi</quote> insieme in modo anomalo, diversamente da quanto accadrebbe se gli stessi comandi fossero digitati da un essere umano. Laddove un essere umano non può inviare più di un comando ogni pochi secondi, le cui marcature temporali sarebbero analogamente intervallate, i miei script d'esempio automatizzati sono in grado di eseguire molti comandi in un secondo.</para>
 
     <para id="x_87">Come conseguenza di questo fatto, potrebbe sembrare che molti inserimenti (in inglese, commit) consecutivi vengano eseguiti durante lo stesso secondo. Potete osservare la presenza di questa anomalia nell'esempio di <literal role="hg-ext">bisect</literal> nella <xref linkend="sec:undo:bisect"/>, tanto per farvi un'idea.</para>
 
-    <para id="x_88">Quindi, mentre leggete gli esempi, non date troppo peso alle date e agli orari che vedete nei risultati dei comandi, ma potete <emphasis>decisamente</emphasis> fare affidamento sulla consistenza e riproducibilità del comportamento illustrato.</para>
+    <para id="x_88">Quindi, mentre leggete gli esempi, non date troppo peso alle date e agli orari che vedete nei risultati dei comandi, ma fate <emphasis>decisamente</emphasis> affidamento sulla consistenza e riproducibilità del comportamento illustrato.</para>
 
   </sect1>
 
 
     <para id="x_8a">La prima generazione ha cominciato col gestire singoli file su singoli computer. Sebbene questi strumenti rappresentassero un enorme progresso rispetto al controllo di revisione manuale effettuato ad hoc, il loro modello di bloccaggio (in inglese, locking) e la restrizione a un singolo computer limitarono il loro impiego a piccoli gruppi strettamente uniti.</para>
 
-    <para id="x_8b">La seconda generazione ha rilassato questi vincoli spostandosi su architetture di rete e gestendo interi progetti alla volta. Con l'aumentare delle dimensioni dei progetti, gli strumenti incontrarono nuovi problemi. A causa della frequenza elevata con cui i client avevano bisogno di parlare con i server, la scalabilità dei server divenne un problema per progetti di grandi dimensioni. Una connessione di rete inaffidabile poteva completamente impedire agli utenti remoti di essere in grado di parlare al server. Man mano che i progetti open source cominciarono a rendere l'accesso in sola lettura disponibile a chiunque in forma anonima, persone senza privilegi di inserimento scoprivano di non poter usare gli strumenti per interagire con un progetto in modo naturale, in quanto non erano in grado di registrare le modifiche da loro effettuate.</para>
+    <para id="x_8b">La seconda generazione ha rilassato questi vincoli spostandosi su architetture di rete e gestendo interi progetti alla volta. Con l'aumentare delle dimensioni dei progetti, gli strumenti incontrarono nuovi problemi. A causa della frequenza elevata con cui i client avevano bisogno di parlare con i server, la scalabilità dei server divenne un problema per progetti di grandi dimensioni. Una connessione di rete inaffidabile poteva completamente impedire agli utenti remoti di parlare con il server. Man mano che i progetti open source cominciarono a rendere l'accesso in sola lettura disponibile a chiunque in forma anonima, persone senza privilegi di inserimento scoprivano di non poter usare gli strumenti per interagire con un progetto in modo naturale, in quanto non erano in grado di registrare le modifiche da loro effettuate.</para>
 
     <para id="x_8c">La generazione attuale degli strumenti di controllo di revisione è di natura peer-to-peer. Tutti questi sistemi hanno abbandonato la dipendenza da un singolo server centrale e permettono alle persone di distribuire i propri dati di controllo di revisione laddove sono effettivamente necessari. La collaborazione attraverso Internet non è più vincolata dalla tecnologia, ma è diventata una questione di scelta e consenso. Gli strumenti moderni possono operare offline indefinitamente e autonomamente, utilizzando una connessione di rete solo quando è necessario sincronizzare i cambiamenti con un altro repository.</para>
 
 
     <para id="x_8d">Sebbene per diversi anni gli stumenti per il controllo di revisione distribuito si siano mantenuti robusti e usabili tanto quanto le loro controparti delle generazioni precedenti, questo non vuol dire che le persone che utilizzavano strumenti più vecchi si siano necessariamente accorte dei loro vantaggi. Ci sono diversi modi in cui gli strumenti distribuiti brillano rispetto a quelli centralizzati.</para>
 
-    <para id="x_8e">Per un singolo sviluppatore, gli strumenti distribuiti sono quasi sempre più veloci di quelli centralizzati. Questo avviene per una semplice ragione: uno strumento centralizzato ha bisogno di utilizzare la rete per molte operazioni comuni, perché la maggior parte dei metadati sono memorizzati in una singola copia sul server centrale. Uno strumento distribuito memorizza tutti i suoi metadati localmente. A parità di altre condizioni, utilizzare la rete aggiunge un costo aggiuntivo a uno strumento centralizzato. Non sottovalutate l'importanza di uno strumento veloce e reattivo: vi troverete a passare molto tempo interagendo con il vostro software di controllo di revisione.</para>
+    <para id="x_8e">Per un singolo sviluppatore, gli strumenti distribuiti sono quasi sempre più veloci di quelli centralizzati. Questo avviene per una semplice ragione: uno strumento centralizzato ha bisogno di utilizzare la rete per molte operazioni comuni, perché la maggior parte dei metadati sono memorizzati in una singola copia sul server centrale. Uno strumento distribuito memorizza tutti i suoi metadati localmente. A parità di altre condizioni, utilizzare la rete aggiunge un costo supplementare a uno strumento centralizzato. Non sottovalutate l'importanza di uno strumento veloce e reattivo: vi troverete a passare molto tempo interagendo con il vostro software di controllo di revisione.</para>
 
     <para id="x_8f">Gli strumenti distribuiti sono indifferenti alle stravaganze dell'infrastruttura dei vostri server, sempre perché replicano i metadati in così tanti luoghi. Se usate un sistema centralizzato e il vostro server si guasta, fareste meglio a sperare che il vostro sistema di backup sia affidabile e che il vostro ultimo backup sia recente ed effettivamente funzionante. Con uno strumento distribuito, avete molti backup disponibili sui computer di ogni singolo collaboratore.</para>
 
 	  <listitem><para id="x_97">rendono più facile riconciliarsi dopo un fork sociale, perché l'unica operazione che viene coinvolta dal punto di vista del software di controllo di revisione è semplicemente un'altra unione.</para></listitem>
     </itemizedlist>
 
-	<para id="x_98">Alcune persone oppongono resistenza agli strumenti distribuiti perché vogliono mantenere uno stretto controllo sui propri progetti e credono che gli strumenti centralizzati diano loro questo controllo. Tuttavia, se siete tra quelli che hanno questa convinzione, e il vostro repository CVS o Subversion è disponibile pubblicamente, sappiate che esistono numerosi strumenti in grado di estrarre l'intera cronologia del vostro progetto (anche se lentamente) e ricrearla da qualche altra parte al di là del vostro controllo. Quindi non solo il vostro controllo in questo caso è illusorio, ma state anche rinunciando alla possibilità di collaborare fluidamente con chiunque si senta in dovere di duplicare la cronologia del vostro progetto.</para>
+	<para id="x_98">Alcune persone oppongono resistenza agli strumenti distribuiti perché vogliono mantenere uno stretto controllo sui propri progetti e credono che gli strumenti centralizzati diano loro questo controllo. Tuttavia, se siete tra quelli che hanno questa convinzione, e il vostro repository CVS o Subversion è disponibile pubblicamente, sappiate che esistono numerosi strumenti in grado di estrarre l'intera cronologia del vostro progetto (anche se lentamente) e ricrearla da qualche altra parte al di là del vostro controllo. Quindi non solo il vostro controllo in questo caso è illusorio, ma state anche rinunciando alla possibilità di collaborare facilmente con chiunque si senta in dovere di duplicare la cronologia del vostro progetto.</para>
 
       </sect3>
     </sect2>
 
     <para id="x_a1">Se avete una vaga familiarità con i sistemi di controllo di revisione, dovreste essere in grado di cominciare a usare Mercurial in meno di cinque minuti. Anche se non è così, non vi ci vorrà più di qualche altro minuto. L'insieme di comandi e caratteristiche di Mercurial è generalmente uniforme e consistente, così potete tenere a mente poche regole generali piuttosto che una nutrita schiera di eccezioni.</para>
 
-    <para id="x_a2">Potete cominciare a lavorare con Mercurial su un piccolo progetto in pochi minuti, creando nuove modifiche e rami di sviluppo, trasferendo cambiamenti sia localmente che attraverso la rete, sfruttando la velocità di tutte le operazioni di stato e cronologia. Mercurial tenta di essere agile e di non starvi tra i piedi combinando un basso costo cognitivo con operazioni estremamente veloci.</para>
+    <para id="x_a2">Potete cominciare a lavorare con Mercurial su un piccolo progetto in pochi minuti, creando nuove modifiche e rami di sviluppo, trasferendo cambiamenti sia localmente che attraverso la rete, sfruttando la velocità di tutte le operazioni di stato e cronologia. Mercurial cerca di essere agile e di non starvi tra i piedi combinando un basso costo cognitivo con operazioni estremamente veloci.</para>
 
     <para id="x_a3">L'utilità di Mercurial non si limita ai piccoli progetti: è usato da progetti contenenti decine di migliaia di file e centinaia di megabyte di codice sorgente su cui collaborano centinaia di migliaia di sviluppatori.</para>
 
-    <para id="x_a4">Se le funzioni principali di Mercurial non sono sufficienti per voi, è facile aggiungerne di nuove. Mercurial è particolarmente adatto alla programmazione delle proprie operazioni, e il codice pulito della sua implementazione in Python facilita l'aggiunta di funzioni sotto forma di estensioni. Esistono già un certo numero di estensioni utili e popolari, che spaziano dal supporto alla identificazione dei bug fino al miglioramento delle prestazioni.</para>
+    <para id="x_a4">Se le funzioni principali di Mercurial non sono sufficienti per voi, è facile aggiungerne di nuove. Mercurial è particolarmente adatto alla programmazione delle proprie operazioni, e il codice pulito della sua implementazione in Python facilita l'aggiunta di funzioni sotto forma di estensioni. Esistono già un certo numero di estensioni utili e popolari, che spaziano dal supporto all'identificazione dei bug fino al miglioramento delle prestazioni.</para>
 
   </sect1>
   <sect1>
 
       <para id="x_b7">CVS ha una nozione confusa di etichette e rami di lavoro che non cercherò nemmeno di descrivere. Non gestisce per bene il cambiamento dei nomi di file o directory, esponendo il repository al rischio di danneggiamenti. Non ha quasi alcuna funzionalità per il controllo della consistenza interna, quindi tipicamente non è nemmeno possibile dire se un repository è danneggiato. Non raccomanderei CVS per nessun progetto, nuovo o esistente.</para>
 
-      <para id="x_b8">Mercurial può importare la cronologia di revisione da CVS. Tuttavia, ci sono alcune avvertenze da considerare, valide anche per qualsiasi altro strumento di controllo di revisione che importi dati da CVS. A causa della mancanza di inserimenti atomici in CVS e della mancanza di versioni per la gerarchia dei file, non è possibile ricostruire la cronologia di CVS in maniera completa e accurata, bensì devono essere fatte alcune supposizioni, e le modifiche ai nomi dei file di solito non verranno mostrate. Dato che buona parte dell'amministrazione avanzata di CVS deve essere fatta a mano e quindi è soggetta a errori, i programmi che importano dati da CVS incorrono comunemente in molteplici problemi dovuti a repository danneggiati (marcature temporali completamente fasulle per le revisioni e file che sono rimasti bloccati per più di un decennio sono solo due dei problemi meno interessanti che posso ricordare dalla mia esperienza personale).</para>
-
+      <para id="x_b8">Mercurial può importare la cronologia di revisione da un repository CVS. Tuttavia, ci sono alcune avvertenze da considerare, valide anche per qualsiasi altro strumento di controllo di revisione che importi dati da CVS. A causa della mancanza di inserimenti atomici in CVS e della mancanza di versioni per la gerarchia dei file, non è possibile ricostruire la cronologia di CVS in maniera completa e accurata, bensì devono essere fatte alcune supposizioni, e le modifiche ai nomi dei file di solito non verranno mostrate. Dato che buona parte dell'amministrazione avanzata di CVS deve essere fatta a mano e quindi è soggetta a errori, i programmi che importano dati da CVS incorrono comunemente in molteplici problemi dovuti a repository danneggiati (marcature temporali completamente fasulle per le revisioni e file che sono rimasti bloccati per più di un decennio sono solo due dei problemi meno interessanti che posso ricordare dalla mia esperienza personale).</para>
+<!--
       <para id="x_b9">Mercurial può importare la cronologia di revisione da un repository CVS.</para>
-
+-->
     </sect2>
     <sect2>
       <title>Strumenti commerciali</title>
     <sect2>
       <title>Scegliere uno strumento di controllo di revisione</title>
 
-      <para id="x_bc">Con l'eccezione di CVS, tutti gli strumenti elencati sopra hanno qualità uniche che li rendono adatti a particolari stili di lavoro. Non esiste un singolo strumento di controllo di revisione che sia il migliore in tutte le situazioni.</para>
+      <para id="x_bc">Con l'eccezione di CVS, tutti gli strumenti appena elencati hanno qualità uniche che li rendono adatti a particolari stili di lavoro. Non esiste un singolo strumento di controllo di revisione che sia il migliore in tutte le situazioni.</para>
 
       <para id="x_bd">Per fare un esempio, Subversion è una buona scelta per chi lavora con file binari frequentemente modificati, a causa della sua natura centralizzata e del supporto per il bloccaggio dei file.</para>
 
   <sect1>
     <title>Passare da un altro strumento a Mercurial</title>
 
-    <para id="x_bf">Mercurial viene distribuito con un'estensione chiamata <literal role="hg-ext">convert</literal>, che può importare incrementalmente la cronologia delle revisioni da diversi altri strumenti di controllo di revisione. Con <quote>incrementale</quote> voglio dire che potete convertire tutta la cronologia di un progetto in un'unica seduta, poi rieseguire la conversione più tardi per ottenere i nuovi cambiamenti che sono avvenuti dopo la conversione iniziale.</para>
+    <para id="x_bf">Mercurial viene distribuito con un'estensione chiamata <literal role="hg-ext">convert</literal> che può importare in maniera incrementale la cronologia delle revisioni da diversi altri strumenti di controllo di revisione. Con <quote>incrementale</quote> voglio dire che potete convertire tutta la cronologia di un progetto in un'unica seduta, poi rieseguire la conversione più tardi per ottenere i nuovi cambiamenti che sono avvenuti dopo la conversione iniziale.</para>
 
     <para id="x_c0">Gli strumenti di controllo di revisione supportati da <literal role="hg-ext">convert</literal> sono i seguenti:</para>
     <itemizedlist>
 
     <para id="x_cb">All'inizio degli anni '90, Sun Microsystems sviluppò un primo sistema per il controllo di revisione distribuito chiamato TeamWare. Uno spazio di lavoro in TeamWare contiene una copia completa della cronologia del progetto. TeamWare non possiede alcuna nozione di un repository centrale. (CVS si basava su RCS per la memorizzazione della cronologia, TeamWare usava SCCS.)</para>
 
-    <para id="x_cc">Durante gli anni '90 crebbe la consapevolezza dei numerosi problemi di CVS. CVS registra individualmente cambiamenti simultanei a più di un file, invece di raggrupparli insieme come una singola operazione logicamente atomica; non gestisce bene la sua gerarchia di file, ed è facile danneggiare un repository cambiando i nomi di file e directory. Le difficoltà di lettura e manutenzione del suo codice sorgente resero proibitiva la <quote>soglia del dolore</quote> da oltrepassare per correggere questi problemi architetturali.</para>
+    <para id="x_cc">Durante gli anni '90 crebbe la consapevolezza dei numerosi problemi di CVS. CVS registra individualmente cambiamenti simultanei a più di un file, invece di raggrupparli insieme come una singola operazione logicamente atomica, inoltre non gestisce bene la propria gerarchia di file, ed è facile danneggiare un repository cambiando i nomi di file e directory. Le difficoltà di lettura e manutenzione del suo codice sorgente resero proibitiva la <quote>soglia del dolore</quote> da oltrepassare per correggere questi problemi architetturali.</para>
 
     <para id="x_cd">Nel 2001, Jim Blandy e Karl Fogel, due sviluppatori che avevano lavorato su CVS, diedero vita a un progetto per sostituirlo con uno strumento che avrebbe avuto un'architettura migliore e un codice più pulito. Il risultato, Subversion, non si allontana dal modello client/server centralizzato di CVS, ma aggiunge inserimenti atomici per più file alla volta, una miglior gestione degli spazi di nomi e un certo numero di altre caratteristiche che lo rendono uno strumento generalmente migliore di CVS. Dal suo rilascio iniziale, la sua popolarità è rapidamente cresciuta.</para>
 
-    <para id="x_ce">Più o meno simultaneamente, Graydon Hoare cominciò a lavorare su un ambizioso sistema distribuito di controllo di revisione che chiamò Monotone. Monotone non si limita a risolvere molti dei problemi di progettazione di CVS e a possedere un'architettura peer-to-peer, ma va oltre ai primi (e ai successivi) strumenti di controllo di revisione in un certo numero di modi innovativi, usando hash crittografici come identificatori e adottando una nozione integrale di <quote>fiducia</quote> per autenticare il codice che proviene da sorgenti differenti.</para>
+    <para id="x_ce">Più o meno simultaneamente, Graydon Hoare cominciò a lavorare su un ambizioso sistema distribuito di controllo di revisione che chiamò Monotone. Monotone non si limita a risolvere molti dei problemi di progettazione di CVS e a possedere un'architettura peer-to-peer, ma va oltre i primi (e i successivi) strumenti di controllo di revisione in un certo numero di modi innovativi, usando hash crittografici come identificatori e adottando una nozione integrale di <quote>fiducia</quote> per autenticare il codice che proviene da sorgenti differenti.</para>
 
     <para id="x_cf">Mercurial nacque nel 2005. Mentre alcuni aspetti della sua progettazione sono stati influenzati da Monotone, Mercurial si concentra su facilità d'uso, prestazioni elevate e scalabilità verso progetti molto grandi.</para>
   </sect1>

File it/ch02-tour-basic.xml

 
       <para id="x_2">Dato che ogni distribuzione Linux ha i propri stumenti di impacchettamento, le proprie politiche e il proprio ritmo di sviluppo, è difficile dare un insieme completo di istruzioni su come installare i pacchetti eseguibili di Mercurial. La versione di Mercurial che finirete per ottenere può variare a seconda di quanto sia attiva la persona che mantiene il pacchetto di installazione per la vostra distribuzione.</para>
 
-      <para id="x_3">Per semplificare le cose, mi concentrerò sull'installazione di Mercurial dalla linea di comando sotto le distribuzioni Linux più popolari. La maggior parte di queste distribuzioni fornisce un gestore grafico per i pacchetti di installazione che vi permetterà di installare Mercurial con un singolo click sulla voce relativa al pacchetto chiamato <literal>mercurial</literal>.</para>
+      <para id="x_3">Per semplificare le cose, mi concentrerò sull'installazione di Mercurial dalla linea di comando sulle distribuzioni Linux più popolari. La maggior parte di queste distribuzioni fornisce un gestore grafico per i pacchetti di installazione che vi permetterà di installare Mercurial con un singolo click sulla voce relativa al pacchetto chiamato <literal>mercurial</literal>.</para>
 
       <itemizedlist>
 	<listitem><para id="x_4">Ubuntu e Debian:</para>
 
     <para id="x_11">In Mercurial, tutto accade all'interno di un <emphasis>repository</emphasis>. Il repository di un progetto contiene tutti i file che <quote>appartengono</quote> a quel progetto insieme a una registrazione cronologica delle loro modifiche.</para>
 
-    <para id="x_12">Non c'è niente di particolarmente magico in un repository: è semplicemente un albero di directory nel vostro file system che Mercurial tratta in modo speciale. Potete cancellare un repository o modificarne il nome in ogni momento, usando sia la linea di comando sia il vostro programma preferito di gestione dei file.</para>
+    <para id="x_12">Non c'è niente di particolarmente magico in un repository: è semplicemente un albero di directory nel vostro file system che Mercurial tratta in modo speciale. Potete cancellare un repository o modificarne il nome in ogni momento, usando sia la riga di comando sia il vostro programma preferito di gestione dei file.</para>
 
     <sect2>
       <title>Fare una copia locale di un repository</title>
     <itemizedlist>
       <listitem><para id="x_1e"><literal>changeset</literal>: questo campo ha il formato di un numero, seguito dal carattere di due punti, seguito da una stringa esadecimale. Questi sono gli <emphasis>identificatori</emphasis> del changeset. La stringa esadecimale è un identificatore unico: la stessa stringa esadecimale si riferirà sempre allo stesso changeset in ogni copia di questo repository. Il numero è più corto e facile da digitare rispetto alla stringa esadecimale, ma non è unico: lo stesso numero potrebbe identificare changeset differenti in due cloni differenti di uno stesso repository.</para>
       </listitem>
-      <listitem><para id="x_1f"><literal>user</literal>: l'identità della persona che ha creato il changeset. Questo è un campo di testo libero, ma il più delle volte contiene il nome e l'indirizzo email di una persona.</para></listitem>
-      <listitem><para id="x_20"><literal>date</literal>: la data, l'orario e il fuso orario in cui il changeset è stato creato. (La data e l'orario sono locali per quel fuso orario e mostrano il giorno e l'ora per la persona che ha creato il changeset.)</para></listitem>
-      <listitem><para id="x_21"><literal>summary</literal>: la prima riga del messaggio di testo che il creatore del changeset ha utilizzato per descrivere il changeset.</para></listitem>
+      <listitem><para id="x_1f"><literal>utente</literal> (in inglese, <literal>user</literal>): l'identità della persona che ha creato il changeset. Questo è un campo di testo libero, ma il più delle volte contiene il nome e l'indirizzo email di una persona.</para></listitem>
+      <listitem><para id="x_20"><literal>data</literal> (in inglese, <literal>date</literal>): la data, l'orario e il fuso orario in cui il changeset è stato creato. (La data e l'orario sono locali per quel fuso orario e mostrano il giorno e l'ora per la persona che ha creato il changeset.)</para></listitem>
+      <listitem><para id="x_21"><literal>sommario</literal> (in inglese, <literal>summary</literal>): la prima riga del messaggio di testo che il creatore del changeset ha utilizzato per descrivere il changeset.</para></listitem>
       <listitem>
-	<para id="x_67d">Alcuni changeset, come il primo della lista mostrata qui sopra, sono contrassegnati da un'etichetta contenuta in un campo <literal>tag</literal>. Un'etichetta è un altro modo di identificare un changeset, dandogli un nome facile da ricordare. (L'etichetta chiamata <literal>tip</literal> è speciale: si riferisce sempre alla modifica più recente nel repository.)</para>
+	<para id="x_67d">Alcuni changeset, come il primo della lista mostrata qui sopra, sono contrassegnati da un'etichetta contenuta in un campo <literal>etichetta</literal> (in inglese, <literal>tag</literal>). Un'etichetta è un altro modo di identificare un changeset, dandogli un nome facile da ricordare. (L'etichetta chiamata <literal>tip</literal> è speciale: si riferisce sempre alla modifica più recente nel repository.)</para>
       </listitem>
     </itemizedlist>
 
     <sect2>
       <title>Parlare di changeset o revisioni con altre persone</title>
 
-      <para id="x_25">Dato che l'inglese è una lingua notoriamente trasandata e che l'informatica ha una storia consacrata alla confusione terminologica (perché usare un solo termine quando se ne possono usare quattro?), il controllo di revisione usa una varietà di termini ed espressioni per indicare la stessa cosa. Se parlate della cronologia di Mercurial con altre persone, scoprirete che il termine <quote>changeset</quote> è spesso abbreviato in <quote>change</quote> (in italiano, cambiamento) o in <quote>cset</quote> (nella sua forma scritta) e che talvolta ci si riferisce a un changeset chiamandolo <quote>revisione</quote> oppure <quote>rev</quote>.</para>
+      <para id="x_25">Dato che l'inglese è una lingua notoriamente trasandata e che l'informatica ha una storia consacrata alla confusione terminologica (perché usare un solo termine quando se ne possono usare quattro?), il controllo di revisione impiega una varietà di termini ed espressioni per indicare la stessa cosa. Se parlate della cronologia di Mercurial con altre persone, scoprirete che il termine <quote>changeset</quote> è spesso abbreviato in <quote>change</quote> (in italiano, cambiamento) o in <quote>cset</quote> (nella sua forma scritta) e che talvolta ci si riferisce a un changeset chiamandolo <quote>revisione</quote> oppure <quote>rev</quote>.</para>
 
       <para id="x_26">Mentre non ha importanza quale <emphasis>parola</emphasis> voi usiate per riferirvi al concetto di <quote>un changeset</quote>, l'<emphasis>identificatore</emphasis> che usate per riferirvi a <quote>uno <emphasis>specifico</emphasis> changeset</quote> è di grande importanza. Ricordatevi che il campo <literal>changeset</literal> nel riepilogo mostrato da <command role="hg-cmd">hg log</command> identifica un changeset utilizzando sia un numero che una stringa esadecimale.</para>
       <itemizedlist>
   <sect1>
     <title>Tutto quello che dovete sapere sulle opzioni dei comandi</title>
 
-    <para id="x_30">Facciamo una piccola pausa nella nostra esplorazione dei comandi di Mercurial per discutere lo schema secondo cui quei comandi lavorano, perché potreste trovarlo utile da tenere a mente nel seguito di questa parnoramica.</para>
+    <para id="x_30">Facciamo una piccola pausa nella nostra esplorazione dei comandi di Mercurial per discutere lo schema secondo cui quei comandi lavorano, perché potreste trovarlo utile da tenere a mente nel seguito di questa panoramica.</para>
 
     <para id="x_31">Mercurial adotta un approccio semplice e consistente per gestire le opzioni che potete passare ai comandi. Segue l'insieme di convenzioni per le opzioni comunemente usato nei moderni sistemi Linux e Unix.</para>
 
     <title>Registrare i cambiamenti in un nuovo changeset</title>
 
     <para id="x_40">Possiamo modificare i file, compilare e collaudare i nostri cambiamenti, e usare <command role="hg-cmd">hg status</command> e <command
-	role="hg-cmd">hg diff</command> per rivisitare le nostre modifiche fino a quando non  siamo soddisfatti di quello che abbiamo ottenuto e arriviamo a un naturale punto fermo in cui vogliamo registrare il nostro lavoro in un nuovo changeset.</para>
+	role="hg-cmd">hg diff</command> per rivedere le nostre modifiche fino a quando non  siamo soddisfatti di quello che abbiamo ottenuto e arriviamo a un naturale punto fermo in cui vogliamo registrare il nostro lavoro in un nuovo changeset.</para>
 
     <para id="x_41">Il comando <command role="hg-cmd">hg commit</command> ci permette di creare un nuovo changeset. Faremo riferimento a questa operazione con le espressioni <quote>effettuare un commit</quote> o <quote>eseguire un commit</quote> oppure con il termine inglese <quote>commit</quote> e talvolta con il termine italiano <quote>inserimento</quote>.</para>
 
       <sect3 id="sec:tour-basic:username">
 	<title>Creare un file di configurazione per Mercurial</title>
 
-	<para id="x_4a">Per impostare un nome utente, usate il vostro editor preferito e create un file chiamato <filename role="special">.hgrc</filename> nella vostra directory personale. Mercurial userà questo file per cercare le vostre impostazioni di configurazione personalizzate. Il contenuto iniziale del vostro file<filename role="special">.hgrc</filename> dovrebbe somigliare al seguente.</para>
+	<para id="x_4a">Per impostare un nome utente, usate il vostro editor preferito e create un file chiamato <filename role="special">.hgrc</filename> nella vostra directory personale. Mercurial userà questo file per cercare le vostre impostazioni di configurazione personalizzate. Il contenuto iniziale del vostro file <filename role="special">.hgrc</filename> dovrebbe somigliare al seguente.</para>
 
 	<tip>
 	  <title>La <quote>directory personale</quote> sotto Windows</title>
 
-	  <para id="x_716">In una installazione italiana di Windows, la vostra directory perosnale di solito corrisponde a una cartella chiamata con il vostro nome utente che si trova in <filename>C:\Documents and Settings</filename>. Potete scoprire l'esatto nome della vostra directory personale aprendo una finestra del prompt dei comandi e invocando il comando seguente.</para>
+	  <para id="x_716">In una installazione italiana di Windows, la vostra directory personale di solito corrisponde a una cartella chiamata con il vostro nome utente che si trova in <filename>C:\Documents and Settings</filename>. Potete scoprire l'esatto nome della vostra directory personale aprendo una finestra del prompt dei comandi e invocando il comando seguente.</para>
 
 	  <screen><prompt>C:\></prompt> <userinput>echo %UserProfile%</userinput></screen>
 	</tip>
 
       <programlisting>
 changeset:   73:584af0e231be
-user:        Persona Censurata &lt;persona.censurata@example.org&gt;
-date:        Tue Sep 26 21:37:07 2006 -0700
-summary:     incluso buildmeister/commondef. Aggiunti gli export.</programlisting>
+utente:      Persona Censurata &lt;persona.censurata@example.org&gt;
+data:        Tue Sep 26 21:37:07 2006 -0700
+sommario:    incluso buildmeister/commondef. Aggiunti gli export.</programlisting>
 
       <para id="x_52">Non ci sono regole ferree da seguire per quanto riguarda il resto del contenuto del messaggio di commit. Lo stesso Mercurial non interpreta né si occupa del contenuto del messaggio, sebbene il vostro progetto possa adottare politiche che vi obbligano a un certo tipo di formattazione.</para>
       <para id="x_53">Personalmente, prediligo messaggi di commit brevi ma informativi che mi dicano qualcosa che non sono in grado di capire attraverso una veloce occhiata al risultato del comando <command role="hg-cmd">hg log --patch</command>.</para>
-      <para id="x_55">Se eseguiamo <command role="hg-cmd">hg commit</command> senza argomenti, il comando registra tutti i cambiamenti che abbiamo effettuato, come riportati dai comandi <command role="hg-cmd">hg status</command> e <command role="hg-cmd">hg diff</command>.</para>
+      <para id="x_55">Se eseguiamo <command role="hg-cmd">hg commit</command> senza argomenti, il comando registra tutti i cambiamenti che abbiamo effettuato, come segnalati dai comandi <command role="hg-cmd">hg status</command> e <command role="hg-cmd">hg diff</command>.</para>
 
       <note>
 	<title>Una sorpresa per gli utenti Subversion</title>
     <sect2 id="sec:tour:pull">
       <title>Estrarre i cambiamenti da altri repository</title>
 
-      <para id="x_59">Per cominciare, cloniamo il nostro repository <filename class="directory">hello</filename> originale, che non contiene la modifica che abbiamo appena introdotto. Chiameremo <filename class="directory">hello-pull</filename> il nostro repository temporaneo.</para>
+      <para id="x_59">Per cominciare, cloniamo il nostro repository <filename class="directory">hello</filename> originale, che non contiene la modifica che abbiamo appena introdotto. Chiameremo <filename class="directory">hello-estrazione</filename> il nostro repository temporaneo.</para>
 
       &interaction.tour.clone-pull;
 
-      <para id="x_5a">Useremo il comando <command role="hg-cmd">hg pull</command> per propagare i cambiamenti dal repository <filename class="directory">mio-hello</filename> al repository <filename class="directory">hello-pull</filename>. Tuttavia, estrarre alla cieca cambiamenti sconosciuti da un repository è una prospettiva che può incutere qualche timore. Mercurial fornisce il comando <command role="hg-cmd">hg incoming</command> proprio allo scopo di elencare quali cambiamenti <emphasis>verrebbero</emphasis> estratti dal repository senza effettivamente procedere con l'operazione.</para>
+      <para id="x_5a">Useremo il comando <command role="hg-cmd">hg pull</command> per propagare i cambiamenti dal repository <filename class="directory">mio-hello</filename> al repository <filename class="directory">hello-estrazione</filename>. Tuttavia, estrarre alla cieca cambiamenti sconosciuti da un repository è una prospettiva che può incutere qualche timore. Mercurial fornisce il comando <command role="hg-cmd">hg incoming</command> proprio allo scopo di elencare quali cambiamenti <emphasis>verrebbero</emphasis> estratti dal repository senza effettivamente procedere con l'operazione.</para>
 
       &interaction.tour.incoming;
 

File it/ch03-tour-merge.xml

     <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>
     <itemizedlist>
       <listitem>
-	<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>
+	<para id="x_33a">Alice e Bruno hanno entrambi 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>
       </listitem>
       <listitem>
-	<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>
+	<para id="x_33b">Cinzia lavora frequentemente su più attività differenti alla volta per un singolo progetto, 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>
       </listitem>
     </itemizedlist>
 
 
     &interaction.tour.merge.pull;
 
-    <para id="x_340">Tuttavia, il comando <command role="hg-cmd">hg pull</command> dice qualcosa a proposito di <quote>teste</quote> (in inglese, <quote>heads</quote>).</para>
+    <para id="x_340">Tuttavia, il comando <command role="hg-cmd">hg pull</command> dice qualcosa a proposito di <quote>teste</quote> (in inglese, heads).</para>
 
     <sect2>
       <title>Le teste di un repository</title>
   <sect1>
     <title>Risolvere i conflitti tra cambiamenti</title>
 
-    <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>
+    <para id="x_34b">La maggior parte delle unioni è semplice, ma a volte 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, questa situazione risulterà in un <emphasis>conflitto</emphasis> che dovrete cercare di riconciliare decidendo come combinare i diversi cambiamenti in un risultato coerente.</para>
 
     <figure id="fig:tour-merge:conflict">
       <title>Modifiche in conflitto a un documento</title>
 
     <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>
 
-    <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>
+    <para id="x_34f">&Egrave; anche possibile far eseguire a Mercurial uno specifico programma, impostando il valore della variable d'ambiente <envar>HGMERGE</envar> al nome del vostro programma preferito.</para>
 
     <sect2>
       <title>Usare uno strumento grafico di unione</title>
 
     <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>
 
-    <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>
+    <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 altre lavorano <quote>dietro le quinte</quote>, per esempio accrescendo la funzionalità della modalità server predefinita di Mercurial.</para>
 
     <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>
 

File it/examples/tour-merge-conflict.commit.it

 <prompt>$</prompt> <userinput>hg commit -m 'Mandatemi i vostri soldi'</userinput>
 <prompt>$</prompt> <userinput>hg tip</userinput>
 changeset:   3:df19ae0ef4d4
-tag:         tip
-parent:      1:ae14113af250
-parent:      2:11ab3b2b6d1b
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Fri Jun 05 15:52:13 2009 +0000
-summary:     Mandatemi i vostri soldi
+etichetta:   tip
+genitore:    1:ae14113af250
+genitore:    2:11ab3b2b6d1b
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Fri Jun 05 15:52:13 2009 +0000
+sommario:    Mandatemi i vostri soldi
 
 </screen>
 <!-- END tour-merge-conflict.commit -->

File it/examples/tour-merge-conflict.pull.it

 1 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
 <prompt>$</prompt> <userinput>cd truffa-unione</userinput>
 <prompt>$</prompt> <userinput>hg pull -u ../truffa-figlio</userinput>
-estraggo da ../scam-son
+estraggo da ../truffa-figlio
 cerco i cambiamenti
 aggiungo i changeset
 aggiungo i manifest

File it/examples/tour-merge-conflict.wife.it

 <prompt>></prompt> <userinput>Sono Mariam Abacha, moglie dell'ex</userinput>
 <prompt>></prompt> <userinput>dittatore nigeriano Sani Abacha.</userinput>
 <prompt>></prompt> <userinput>EOF</userinput>
-<prompt>$</prompt> <userinput>hg add letter.txt</userinput>
+<prompt>$</prompt> <userinput>hg add lettera.txt</userinput>
 <prompt>$</prompt> <userinput>hg commit -m 'truffa 419, prima bozza'</userinput>
 </screen>
 <!-- END tour-merge-conflict.wife -->

File it/examples/tour.cat1.it

 <!-- BEGIN tour.cat1 -->
 <screen><prompt>$</prompt> <userinput>cat hello.c</userinput>
 /*
- * Rilasciato nel pubblico dominio da Bryan O'Sullivan. Questo
+ * Rilasciato al pubblico dominio da Bryan O'Sullivan. Questo
  * programma non è protetto da brevetti negli Stati Uniti o in
  * altri paesi.
  */

File it/examples/tour.cat2.it

 <screen># ... modifichiamo il file ...
 <prompt>$</prompt> <userinput>cat hello.c</userinput>
 /*
- * Rilasciato nel pubblico dominio da Bryan O'Sullivan. Questo
+ * Rilasciato al pubblico dominio da Bryan O'Sullivan. Questo
  * programma non è protetto da brevetti negli Stati Uniti o in
  * altri paesi.
  */

File it/examples/tour.clone-pull.it

 <!-- BEGIN tour.clone-pull -->
 <screen><prompt>$</prompt> <userinput>cd ..</userinput>
-<prompt>$</prompt> <userinput>hg clone hello hello-pull</userinput>
+<prompt>$</prompt> <userinput>hg clone hello hello-estrazione</userinput>
 aggiorno la directory di lavoro
 2 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
 </screen>

File it/examples/tour.clone-push.it

 <!-- BEGIN tour.clone-push -->
 <screen><prompt>$</prompt> <userinput>cd ..</userinput>
-<prompt>$</prompt> <userinput>hg clone hello hello-push</userinput>
+<prompt>$</prompt> <userinput>hg clone hello hello-trasmissione</userinput>
 aggiorno la directory di lavoro
 2 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
 </screen>

File it/examples/tour.incoming.it

 <!-- BEGIN tour.incoming -->
-<screen><prompt>$</prompt> <userinput>cd hello-pull</userinput>
+<screen><prompt>$</prompt> <userinput>cd hello-estrazione</userinput>
 <prompt>$</prompt> <userinput>hg incoming ../mio-hello</userinput>
 confronto con ../mio-hello
 cerco i cambiamenti
 changeset:   5:764347e47e75
-tag:         tip
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Fri Jun 05 15:51:52 2009 +0000
-summary:     Inserisce una riga con un messaggio aggiuntivo.
+etichetta:   tip
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Fri Jun 05 15:51:52 2009 +0000
+sommario:    Inserisce una riga con un messaggio aggiuntivo.
 
 </screen>
 <!-- END tour.incoming -->

File it/examples/tour.log-r.it

 <!-- BEGIN tour.log-r -->
 <screen><prompt>$</prompt> <userinput>hg log -r 3</userinput>
 changeset:   3:0272e0d5a517
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Sat Aug 16 22:08:02 2008 +0200
-summary:     Induce make a generare l'eseguibile finale dal file .o.
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Sat Aug 16 22:08:02 2008 +0200
+sommario:    Induce make a generare l'eseguibile finale dal file .o.
 
 <prompt>$</prompt> <userinput>hg log -r 0272e0d5a517</userinput>
 changeset:   3:0272e0d5a517
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Sat Aug 16 22:08:02 2008 +0200
-summary:     Induce make a generare l'eseguibile finale dal file .o.
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Sat Aug 16 22:08:02 2008 +0200
+sommario:    Induce make a generare l'eseguibile finale dal file .o.
 
 <prompt>$</prompt> <userinput>hg log -r 1 -r 4</userinput>
 changeset:   1:82e55d328c8c
-user:        mpm@selenic.com
-date:        Fri Aug 26 01:21:28 2005 -0700
-summary:     Crea un makefile.
+utente:      mpm@selenic.com
+data:        Fri Aug 26 01:21:28 2005 -0700
+sommario:    Crea un makefile.
 
 changeset:   4:2278160e78d4
-tag:         tip
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Sat Aug 16 22:16:53 2008 +0200
-summary:     Aggiusta i commenti.
+etichetta:   tip
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Sat Aug 16 22:16:53 2008 +0200
+sommario:    Aggiusta i commenti.
 
 </screen>
 <!-- END tour.log-r -->

File it/examples/tour.log-v.it

 <!-- BEGIN tour.log-v -->
 <screen><prompt>$</prompt> <userinput>hg log -v -r 3</userinput>
 changeset:   3:0272e0d5a517
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Sat Aug 16 22:08:02 2008 +0200
-files:       Makefile
-description:
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Sat Aug 16 22:08:02 2008 +0200
+file:        Makefile
+descrizione:
 Induce make a generare l'eseguibile finale dal file .o.
 
 

File it/examples/tour.log-vp.it

 <!-- BEGIN tour.log-vp -->
 <screen><prompt>$</prompt> <userinput>hg log -v -p -r 2</userinput>
 changeset:   2:fef857204a0c
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Sat Aug 16 22:05:04 2008 +0200
-files:       hello.c
-description:
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Sat Aug 16 22:05:04 2008 +0200
+file:        hello.c
+descrizione:
 Introduce un errore in hello.c.
 
 

File it/examples/tour.log.it

 <!-- BEGIN tour.log -->
 <screen><prompt>$</prompt> <userinput>hg log</userinput>
 changeset:   4:2278160e78d4
-tag:         tip
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Sat Aug 16 22:16:53 2008 +0200
-summary:     Aggiusta i commenti.
+etichetta:   tip
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Sat Aug 16 22:16:53 2008 +0200
+sommario:    Aggiusta i commenti.
 
 changeset:   3:0272e0d5a517
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Sat Aug 16 22:08:02 2008 +0200
-summary:     Induce make a generare l'eseguibile finale dal file .o.
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Sat Aug 16 22:08:02 2008 +0200
+sommario:    Induce make a generare l'eseguibile finale dal file .o.
 
 changeset:   2:fef857204a0c
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Sat Aug 16 22:05:04 2008 +0200
-summary:     Introduce un errore in hello.c.
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Sat Aug 16 22:05:04 2008 +0200
+sommario:    Introduce un errore in hello.c.
 
 changeset:   1:82e55d328c8c
-user:        mpm@selenic.com
-date:        Fri Aug 26 01:21:28 2005 -0700
-summary:     Crea un makefile.
+utente:      mpm@selenic.com
+data:        Fri Aug 26 01:21:28 2005 -0700
+sommario:    Crea un makefile.
 
 changeset:   0:0a04b987be5a
-user:        mpm@selenic.com
-date:        Fri Aug 26 01:20:50 2005 -0700
-summary:     Crea il classico programma "ciao, mondo".
+utente:      mpm@selenic.com
+data:        Fri Aug 26 01:20:50 2005 -0700
+sommario:    Crea il classico programma "ciao, mondo".
 
 </screen>
 <!-- END tour.log -->

File it/examples/tour.log.range.it

 <!-- BEGIN tour.log.range -->
 <screen><prompt>$</prompt> <userinput>hg log -r 2:4</userinput>
 changeset:   2:fef857204a0c
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Sat Aug 16 22:05:04 2008 +0200
-summary:     Introduce un errore in hello.c.
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Sat Aug 16 22:05:04 2008 +0200
+sommario:    Introduce un errore in hello.c.
 
 changeset:   3:0272e0d5a517
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Sat Aug 16 22:08:02 2008 +0200
-summary:     Induce make a generare l'eseguibile finale dal file .o.
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Sat Aug 16 22:08:02 2008 +0200
+sommario:    Induce make a generare l'eseguibile finale dal file .o.
 
 changeset:   4:2278160e78d4
-tag:         tip
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Sat Aug 16 22:16:53 2008 +0200
-summary:     Aggiusta i commenti.
+etichetta:   tip
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Sat Aug 16 22:16:53 2008 +0200
+sommario:    Aggiusta i commenti.
 
 </screen>
 <!-- END tour.log.range -->

File it/examples/tour.merge.cat1.it

 <!-- BEGIN tour.merge.cat1 -->
 <screen><prompt>$</prompt> <userinput>cat hello.c</userinput>
 /*
- * Rilasciato nel pubblico dominio da Bryan O'Sullivan. Questo
+ * Rilasciato al pubblico dominio da Bryan O'Sullivan. Questo
  * programma non è protetto da brevetti negli Stati Uniti o in
  * altri paesi.
  */

File it/examples/tour.merge.cat2.it

 <!-- BEGIN tour.merge.cat2 -->
 <screen><prompt>$</prompt> <userinput>cat ../mio-hello/hello.c</userinput>
 /*
- * Rilasciato nel pubblico dominio da Bryan O'Sullivan. Questo
+ * Rilasciato al pubblico dominio da Bryan O'Sullivan. Questo
  * programma non è protetto da brevetti negli Stati Uniti o in
  * altri paesi.
  */

File it/examples/tour.merge.heads.it

 <!-- BEGIN tour.merge.heads -->
 <screen><prompt>$</prompt> <userinput>hg heads</userinput>
 changeset:   6:764347e47e75
-tag:         tip
-parent:      4:2278160e78d4
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Fri Jun 05 15:51:52 2009 +0000
-summary:     Inserisce una riga con un messaggio aggiuntivo.
+etichetta:   tip
+genitore:    4:2278160e78d4
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Fri Jun 05 15:51:52 2009 +0000
+sommario:    Inserisce una riga con un messaggio aggiuntivo.
 
 changeset:   5:1c343117a2e3
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Fri Jun 05 15:52:03 2009 +0000
-summary:     Un nuovo saluto per un nuovo giorno.
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Fri Jun 05 15:52:03 2009 +0000
+sommario:    Un nuovo saluto per un nuovo giorno.
 
 </screen>
 <!-- END tour.merge.heads -->

File it/examples/tour.merge.parents.it

 <!-- BEGIN tour.merge.parents -->
 <screen><prompt>$</prompt> <userinput>hg parents</userinput>
 changeset:   5:1c343117a2e3
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Fri Jun 05 15:52:03 2009 +0000
-summary:     Un nuovo saluto per un nuovo giorno.
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Fri Jun 05 15:52:03 2009 +0000
+sommario:    Un nuovo saluto per un nuovo giorno.
 
 changeset:   6:764347e47e75
-tag:         tip
-parent:      4:2278160e78d4
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Fri Jun 05 15:51:52 2009 +0000
-summary:     Inserisce una riga con un messaggio aggiuntivo.
+etichetta:   tip
+genitore:    4:2278160e78d4
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Fri Jun 05 15:51:52 2009 +0000
+sommario:    Inserisce una riga con un messaggio aggiuntivo.
 
 <prompt>$</prompt> <userinput>cat hello.c</userinput>
 /*
- * Rilasciato nel pubblico dominio da Bryan O'Sullivan. Questo
+ * Rilasciato al pubblico dominio da Bryan O'Sullivan. Questo
  * programma non è protetto da brevetti negli Stati Uniti o in
  * altri paesi.
  */

File it/examples/tour.merge.tip.it

 <!-- BEGIN tour.merge.tip -->
 <screen><prompt>$</prompt> <userinput>hg tip</userinput>
 changeset:   7:e300c3dcceca
-tag:         tip
-parent:      5:1c343117a2e3
-parent:      6:764347e47e75
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Fri Jun 05 15:52:07 2009 +0000
-summary:     Unisce i cambiamenti.
+etichetta:   tip
+genitore:    5:1c343117a2e3
+genitore:    6:764347e47e75
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Fri Jun 05 15:52:07 2009 +0000
+sommario:    Unisce i cambiamenti.
 
 </screen>
 <!-- END tour.merge.tip -->

File it/examples/tour.older.it

 2 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
 <prompt>$</prompt> <userinput>hg parents</userinput>
 changeset:   2:fef857204a0c
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Sat Aug 16 22:05:04 2008 +0200
-summary:     Introduce un errore in hello.c.
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Sat Aug 16 22:05:04 2008 +0200
+sommario:    Introduce un errore in hello.c.
 
 <prompt>$</prompt> <userinput>hg update</userinput>
 2 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
 <prompt>$</prompt> <userinput>hg parents</userinput>
 changeset:   5:764347e47e75
-tag:         tip
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Fri Jun 05 15:51:52 2009 +0000
-summary:     Inserisce una riga con un messaggio aggiuntivo.
+etichetta:   tip
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Fri Jun 05 15:51:52 2009 +0000
+sommario:    Inserisce una riga con un messaggio aggiuntivo.
 
 </screen>
 <!-- END tour.older -->

File it/examples/tour.outgoing.it

 <!-- BEGIN tour.outgoing -->
 <screen><prompt>$</prompt> <userinput>cd mio-hello</userinput>
-<prompt>$</prompt> <userinput>hg outgoing ../hello-push</userinput>
-confronto con ../hello-push
+<prompt>$</prompt> <userinput>hg outgoing ../hello-trasmissione</userinput>
+confronto con ../hello-trasmissione
 cerco i cambiamenti
 changeset:   5:764347e47e75
-tag:         tip
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Fri Jun 05 15:51:52 2009 +0000
-summary:     Inserisce una riga con un messaggio aggiuntivo.
+etichetta:   tip
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Fri Jun 05 15:51:52 2009 +0000
+sommario:    Inserisce una riga con un messaggio aggiuntivo.
 
 </screen>
 <!-- END tour.outgoing -->

File it/examples/tour.outgoing.net.it

 confronto con http://hg.serpentine.com/tutorial/hello
 cerco i cambiamenti
 changeset:   5:764347e47e75
-tag:         tip
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Fri Jun 05 15:51:52 2009 +0000
-summary:     Inserisce una riga con un messaggio aggiuntivo.
+etichetta:   tip
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Fri Jun 05 15:51:52 2009 +0000
+sommario:    Inserisce una riga con un messaggio aggiuntivo.
 
 </screen>
 <!-- END tour.outgoing.net -->

File it/examples/tour.parents.it

 <!-- BEGIN tour.parents -->
 <screen><prompt>$</prompt> <userinput>hg parents</userinput>
 changeset:   5:764347e47e75
-tag:         tip
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Fri Jun 05 15:51:52 2009 +0000
-summary:     Inserisce una riga con un messaggio aggiuntivo.
+etichetta:   tip
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Fri Jun 05 15:51:52 2009 +0000
+sommario:    Inserisce una riga con un messaggio aggiuntivo.
 
 </screen>
 <!-- END tour.parents -->

File it/examples/tour.pull.it

 <!-- BEGIN tour.pull -->
 <screen><prompt>$</prompt> <userinput>hg tip</userinput>
 changeset:   4:2278160e78d4
-tag:         tip
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Sat Aug 16 22:16:53 2008 +0200
-summary:     Aggiusta i commenti.
+etichetta:   tip
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Sat Aug 16 22:16:53 2008 +0200
+sommario:    Aggiusta i commenti.
 
 <prompt>$</prompt> <userinput>hg pull ../mio-hello</userinput>
 estraggo da ../mio-hello
 (eseguite 'hg update' per ottenere una copia di lavoro)
 <prompt>$</prompt> <userinput>hg tip</userinput>
 changeset:   5:764347e47e75
-tag:         tip
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Fri Jun 05 15:51:52 2009 +0000
-summary:     Inserisce una riga con un messaggio aggiuntivo.
+etichetta:   tip
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Fri Jun 05 15:51:52 2009 +0000
+sommario:    Inserisce una riga con un messaggio aggiuntivo.
 
 </screen>
 <!-- END tour.pull -->

File it/examples/tour.push.it

 <!-- BEGIN tour.push -->
-<screen><prompt>$</prompt> <userinput>hg push ../hello-push</userinput>
-trasmetto a ../hello-push
+<screen><prompt>$</prompt> <userinput>hg push ../hello-trasmissione</userinput>
+trasmetto a ../hello-trasmissione
 cerco i cambiamenti
 aggiungo i changeset
 aggiungo i manifest

File it/examples/tour.push.nothing.it

 <!-- BEGIN tour.push.nothing -->
-<screen><prompt>$</prompt> <userinput>hg push ../hello-push</userinput>
-trasmetto a ../hello-push
+<screen><prompt>$</prompt> <userinput>hg push ../hello-trasmissione</userinput>
+trasmetto a ../hello-trasmissione
 cerco i cambiamenti
 nessun cambiamento trovato
 </screen>

File it/examples/tour.tip.it

 <!-- BEGIN tour.tip -->
 <screen><prompt>$</prompt> <userinput>hg tip -vp</userinput>
 changeset:   5:764347e47e75
-tag:         tip
-user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
-date:        Fri Jun 05 15:51:52 2009 +0000
-files:       hello.c
-description:
+etichetta:   tip
+utente:      Bryan O'Sullivan &lt;bos@serpentine.com&gt;
+data:        Fri Jun 05 15:51:52 2009 +0000
+file:        hello.c
+descrizione:
 Inserisce una riga con un messaggio aggiuntivo.
 
 

File it/examples/tour.version.it

 Copyright (C) 2005-2008 Matt Mackall &lt;mpm@selenic.com&gt; e altri
 Questo è software libero, si vedano i sorgenti per le condizioni di
 copia. NON c'è alcuna garanzia, neppure di COMMERCIABILIT&Agrave; o IDONEIT&Agrave;
-AD UNO SCOPO PARTICOLARE.
+A UNO SCOPO PARTICOLARE.
 </screen>
 <!-- END tour.version -->