[svnbook commit] r2403 - trunk/src/it/book

bpietro noreply at red-bean.com
Tue Sep 5 11:57:45 CDT 2006


Author: bpietro
Date: Tue Sep  5 11:57:44 2006
New Revision: 2403

Modified:
   trunk/src/it/book/appa.xml
   trunk/src/it/book/appc.xml
   trunk/src/it/book/ch01.xml
   trunk/src/it/book/ch04.xml
   trunk/src/it/book/copyright.xml

Log:
chap 04 all done - need proofread

Modified: trunk/src/it/book/appa.xml
==============================================================================
--- trunk/src/it/book/appa.xml	(original)
+++ trunk/src/it/book/appa.xml	Tue Sep  5 11:57:44 2006
@@ -57,7 +57,7 @@
   <!-- ================================================================= -->
   <sect1 id="svn.forcvs.directories">
     <title>Directory Versions</title>
-    
+
     <para>Subversion tracks tree structures, not just file contents.
       It's one of the biggest reasons Subversion was written to
       replace CVS.</para>
@@ -100,7 +100,7 @@
       that would be a lie too; there may be other changes to
       <filename>foo</filename> we haven't yet received, because we
       haven't updated yet.</para>
-    
+
     <para>Subversion deals with this problem by quietly tracking
       committed adds and deletes in the <filename>.svn</filename>
       area.  When you eventually run <command>svn update</command>,
@@ -110,7 +110,7 @@
       say that you have a <quote>perfect</quote> revision of a
       directory.</emphasis> Most of the time, your working copy will
       contain <quote>imperfect</quote> directory revisions.</para>
-    
+
     <para>Similarly, a problem arises if you attempt to commit
       property changes on a directory.  Normally, the commit would
       bump the working directory's local revision number.  But again,
@@ -142,9 +142,9 @@
       directory, except that it also stores read-only,
       <quote>pristine</quote> copies of your files.  This allows you
       to do many things off-line:</para>
-    
+
     <variablelist>
-      
+
       <varlistentry>
         <term><command>svn status</command></term>
         <listitem>
@@ -342,7 +342,7 @@
 
 
     <warning>
-      <para>Since Subversion treats branches and tags as ordinary
+      <para lang="en">Since Subversion treats branches and tags as ordinary
         directories, always remember to check out the
         <literal>trunk</literal>
         (<literal>http://svn.example.com/repos/calc/trunk/</literal>)
@@ -354,6 +354,16 @@
         have.<footnote><para>That is, providing you don't run out of
         disk space before your checkout
         finishes.</para></footnote></para>
+    <para>Perché in Subversion rami e targhe sono cartelle ordinarie,
+        ricordati sempre di tirar fuori (check out) il
+        <literal>tronco</literal>
+        (<literal>http://svn.example.com/repos/calc/trunk/</literal>)
+        del tuo progetto, e non progetto stesso
+        (<literal>http://svn.example.com/repos/calc/</literal>).
+        Se fai errore di tirar fuori intero progetto, finirai con
+        la copia di lavoro contenente oltre tronco anche ogni ramo e targa.
+        <footnote><para>Proprio così, ma solo se prima di finire checkout
+            non si esaurisce lo spazio sul tuo disco fisso.</para></footnote></para>
     </warning>
 
   </sect1>
@@ -370,7 +380,7 @@
       directories.  Properties are arbitrary name/value pairs
       associated with files and directories in your working
       copy.</para>
-    
+
     <para>To set or get a property name, use the <command>svn
       propset</command> and <command>svn propget</command>
       subcommands.  To list all properties on an object, use
@@ -415,7 +425,7 @@
       binary-differencing algorithm, regardless of whether they
       contain textual or binary data.  That means that all files are
       stored differentially (compressed) in the repository.</para>
-    
+
     <para>CVS users have to mark binary files with
       <option>-kb</option> flags, to prevent data from being garbled
       (due to keyword expansion and line-ending translations).  They
@@ -546,7 +556,7 @@
 </appendix>
 
 <!--
-local variables: 
+local variables:
 sgml-parent-document: ("book.xml" "appendix")
 end:
 -->

Modified: trunk/src/it/book/appc.xml
==============================================================================
--- trunk/src/it/book/appc.xml	(original)
+++ trunk/src/it/book/appc.xml	Tue Sep  5 11:57:44 2006
@@ -1,9 +1,10 @@
 <appendix id="svn.3rdparty">
-  <title>Third Party Tools</title>
+  <!-- <title>Third Party Tools</title> -->
+  <title>Strumenti dai terzi</title>
 
   <simplesect>
 
-    <para>Subversion's modular design (covered in <xref
+    <para lang="en">Subversion's modular design (covered in <xref
       linkend="svn.developer.layerlib"/>) and the availability of
       language bindings (as described in <xref
       linkend="svn.developer.usingapi.otherlangs"/>) make it a likely
@@ -13,12 +14,22 @@
       Subversion website (<ulink
         url="http://subversion.tigris.org/project_links.html"/>).</para>
 
+    <para>Il design modulare di Subversion (coperto in <xref
+      linkend="svn.developer.layerlib"/>) e disponibilità di
+      binding per vari linguaggi di programmazione (come descritto in <xref
+      linkend="svn.developer.usingapi.otherlangs"/>) fanno di lui probabile
+      candidato per uso come una estensione o backend per altri programmi.
+      Per la lista di molti strumenti da terzi che usano le funzionalità di
+      Subversion dietro le quinte, controllate la pagina di likn sul sito web di
+      Subversion (<ulink
+      url="http://subversion.tigris.org/project_links.html"/>).</para>
+
   </simplesect>
 
 </appendix>
 
 <!--
-local variables: 
+local variables:
 sgml-parent-document: ("book.xml" "appendix")
 end:
 -->

Modified: trunk/src/it/book/ch01.xml
==============================================================================
--- trunk/src/it/book/ch01.xml	(original)
+++ trunk/src/it/book/ch01.xml	Tue Sep  5 11:57:44 2006
@@ -20,14 +20,14 @@
       per poi cancellare i cambiamenti il giorno seguente. Ma l'utilità
       di un software di versionamento si estende ben fuori dai limiti
       del mondo dello sviluppo software. Ovunque è possibile incontrare
-      persone che utilizzano il computer per gestire informazioni che 
+      persone che utilizzano il computer per gestire informazioni che
       cambiano di frequente, lì trova spazio il controllo di versione.
       E qui entra in gioco Subversion.</para>
 
     <para lang="en">This chapter contains a high-level introduction to
       Subversion&mdash;what it is; what it does; how to get it.</para>
 
-    <para>Questo capitolo contiene un'introduzione di alto livello a 
+    <para>Questo capitolo contiene un'introduzione di alto livello a
       Subversion&mdash;cos'è; cosa fa; come ottenerlo.</para>
 
   </simplesect>
@@ -39,7 +39,7 @@
   <sect1 id="svn.intro.whatis">
 
     <title>Cos'è Subversion?</title>
-      
+
     <para lang="en">Subversion is a free/open-source version control system.
       That is, Subversion manages files and directories over time.  A
       tree of files is placed into a central
@@ -58,10 +58,10 @@
       ad un file server, in più esso ricorda qualsiasi cambiamento
       fatto ai files e alle directories. Ciò permette di ripristinare
       vecchie versioni o esaminare lo storico dei cambiamenti dei dati.
-      Per questo motivo, molte persone pensano che un sistema di 
+      Per questo motivo, molte persone pensano che un sistema di
       versionamento assomigli ad una sorta di <quote>macchina del
       tempo</quote>.</para>
-    
+
     <para lang="en">Subversion can access its repository across networks, which
       allows it to be used by people on different computers.  At some
       level, the ability for various people to modify and manage the
@@ -78,13 +78,19 @@
       la possibilità per più persone di modificare e gestire lo
 nebiac
       la possibilità per più persone di modificare e maneggiare lo
-      stesso elenco di dati, ognuno dalle rispettive postazioni, 
+      stesso elenco di dati,
+[bpietro-
+      la possibilità per più persone di modificare e gestire lo
+      stesso insieme di dati]
+      ognuno dalle rispettive postazioni,
       alimenta la collaborazione. Miglioramenti possono intervenire
       più velocemente se non tutte le modifiche devono per forza
       passare per un unico canale. E dato che il lavoro è sotto controllo,
-      di versione non c'è da temere che la qualità sia il prezzo da 
-      pagare&mdash;se vengono applicate alla data alcune modifiche 
-      non corrette, basta annullare tali cambiamenti.</para>
+      di versione non c'è da temere che la qualità sia il prezzo da
+      pagare&mdash;se vengono applicate alla data
+[bpietro-
+      ai dati]
+      alcune modifiche non corrette, basta annullare tali cambiamenti.</para>
 
     <para lang="en">Some version control systems are also software configuration
       management (SCM) systems.  These systems are specifically
@@ -99,20 +105,21 @@
       beyond.</para>
 
     <para>Alcuni sistemi per il controllo di versione sono anche
-      sistemi 'software configuration management' (SCM). Questi 
+      sistemi 'software configuration management' (SCM). Questi
 nebiac
-      sistemi di software configuration management (SCM). Questi 
-      sistemi sono orientati specificatamente alla gestione di 
+      sistemi di software configuration management (SCM). Questi
+      sistemi sono orientati specificatamente alla gestione di
 nebiac
-      sistemi sono tagliati specificatamente alla gestione di 
+      sistemi sono tagliati specificatamente alla gestione di
       alberature di codice sorgente, e hanno molte caratteristiche
       che sono specifiche allo sviluppo software&mdash;come
       comprendere nativamente i linguaggi di programmazione o
       integrare strumenti per la compilazione del software.
-      Subversion, tuttavia, non è uno di questi sistemi. E' un 
-      sistema generale che può essere utilizzato per gestire 
+      Subversion, tuttavia, non è uno di questi sistemi. E' un
+      sistema generale
+[bpietro- sistema generico] che può essere utilizzato per gestire
       <emphasis>qualsiasi</emphasis> insieme di files. Per qualcuno
-      questi files possono contenere codice sorgente&mdash;per 
+      questi files possono contenere codice sorgente&mdash;per
       altri qualunque cosa, dalla lista della spesa a montaggi video
       digitali, e così via.</para>
 
@@ -147,7 +154,7 @@
 
     <para>All'inizio del 2000, CollabNet,
       Inc. (<ulink url="http://www.collab.net"/>) iniziò a cercare
-      sviluppatori per scrivere un software che sostituisse CVS. 
+      sviluppatori per scrivere un software che sostituisse CVS.
       CollabNet offre una suite di software collaborativi chiamata
       CollabNet Enterprise Edition (CEE)
       <footnote>
@@ -155,18 +162,18 @@
         Edition (CTE) pensata per gruppi più piccoli.</para>
       </footnote>
       di cui un componente è il controllo di versione. Sebbene
-      CEE usasse proprio CVS come suo  sistema di 
+      CEE usasse proprio CVS come suo  sistema di
       versionamento iniziale, fin dall'inizio fu chiaro che tale software
 nebiac (2 righe)
-      CEE usasse proprio CVS come suo iniziale sistema di 
+      CEE usasse proprio CVS come suo iniziale sistema di
       versionamento, fin dall'inizio fu chiaro che tale software
-      portava con se alcune limitazioni e CollabNet capì che 
+      portava con se alcune limitazioni e CollabNet capì che
       avrebbe dovuto trovare qualcosa di meglio.
-      Sfortunatamente, CVS nel frattempo era ampiamente diventato 
+      Sfortunatamente, CVS nel frattempo era ampiamente diventato
       lo standard <foreignphrase>de facto</foreignphrase> nel
       mondo dell'open source, poichè non c'è nulla di meglio, per
       lo meno non sotto una licenza free. Così CollabNet decise di
-      di scrivere da zero un nuovo sistema per il controllo di 
+      di scrivere da zero un nuovo sistema per il controllo di
       versione, mantenendo l'idea base di CVS, evitando i suoi bugs
       e aggiungendo features.</para>
 
@@ -195,18 +202,18 @@
       frustrating experiences with CVS, and welcomed the chance to
       finally do something about it.</para>
 
-    <para>Nel febbraio del 2000, fu contattato Karl Fogel, l'autore 
+    <para>Nel febbraio del 2000, fu contattato Karl Fogel, l'autore
       del libro <citetitle>Sviluppare Open Source con CVS</citetitle>
       (Coriolis, 1999), al quale fu chiesto se avesse avuto piacere
-      di lavorare su questo nuovo progetto. Coincidenza volle che, 
+      di lavorare su questo nuovo progetto. Coincidenza volle che,
       in quel periodo, Karl, stava già lavorando a un progetto per
       un nuovo sistema di versionamento con il suo amico Jim Blandy.
-      Nel 1995, i due avevano fondato la Cyclic Software, una 
+      Nel 1995, i due avevano fondato la Cyclic Software, una
       compagnia che si occupava di stipulare contratti di supporto
-      all'utilizzo di CVS, e sebbene più tardi essi cedettero la 
-      loro attività, continuarono ancora ad utilizzare, per lavoro, 
+      all'utilizzo di CVS, e sebbene più tardi essi cedettero la
+      loro attività, continuarono ancora ad utilizzare, per lavoro,
       CVS ogni giorno. La loro frustrazione con CVS, condusse Jim a
-      pensare seriamente ad un modo migliore per gestire dati 
+      pensare seriamente ad un modo migliore per gestire dati
       versionati; egli aveva già non solo ideato il nome
       <quote>Subversion</quote>, ma anche la concezione base del
       repository. Quando CollabNet li contattò, Karl accettò
@@ -215,13 +222,13 @@
       potersi dedicare al progetto a tempo indeterminato. CollabNet assunse
       Karl e Ben Collins-Sussman e il lavoro vero e proprio sul
       progetto inizio nel mese di maggio. Con l'aiuto di alcuni
-      ben piazzati sostenitori, da Brian Behlendorf e Jason Robbins 
+      ben piazzati sostenitori, da Brian Behlendorf e Jason Robbins
       of CollabNet, a Greg Stein (al tempo sviluppatore indipendente
       attivo nel processo di specifica di WebDAV/DeltaV), Subversion
       in breve tempo attrasse intorno a se una gruppo di attivi
-      sviluppatori. Ciò dimostrava che molte persone avevano le 
-      stesse frustranti esperienze con CVS, e accolsero con 
-      entusiasmo la possibilità di fare finalmente qualcosa per 
+      sviluppatori. Ciò dimostrava che molte persone avevano le
+      stesse frustranti esperienze con CVS, e accolsero con
+      entusiasmo la possibilità di fare finalmente qualcosa per
       migliorarlo.</para>
 
     <para lang="en">The original design team settled on some simple goals.  They
@@ -233,7 +240,7 @@
       similar enough that any CVS user could make the switch with
       little effort.</para>
 
-    <para>Il team di sviluppo originario si concentrò su alcuni 
+    <para>Il team di sviluppo originario si concentrò su alcuni
       semplici obiettivi. Essi non volevano introdurre un nuovo
       approccio nella metodologia del controllo di versione, essi
       volevano solamente migliorare CVS. Decisero che Subversion
@@ -242,7 +249,7 @@
       sue più ovvie debolezze. E sebbene il loro software non avesse
       bisogno di presentarsi come una copia di CVS, sarebbe comunque
       dovuto essere abbastanza simile per permettere che qualsiasi
-      utente di CVS, potesse cambiare e utilizzare Subversion con 
+      utente di CVS, potesse cambiare e utilizzare Subversion con
       pochissima fatica.</para>
 
     <para lang="en">After fourteen months of coding, Subversion became
@@ -250,14 +257,14 @@
       Subversion developers stopped using CVS to manage Subversion's
       own source code, and started using Subversion instead.</para>
 
-    <para>Dopo quattordici mesi passati a scrivere codice, 
+    <para>Dopo quattordici mesi passati a scrivere codice,
       Subversion divenne <quote>autogestente (self-hosted)</quote> il 31 agosto 2001.
 nebiac
       Subversion divenne <quote>self-hosted</quote> il 31 agosto 2001.
-      Da quel momento, cioè, gli sviluppatori smisero di utilizzare 
-      CVS per gestire il codice di Subversion e iniziarono ad 
+      Da quel momento, cioè, gli sviluppatori smisero di utilizzare
+      CVS per gestire il codice di Subversion e iniziarono ad
       utilizzare Subversion stesso.</para>
- 
+
     <para lang="en">While CollabNet started the project, and still funds a large
       chunk of the work (it pays the salaries of a few full-time
       Subversion developers), Subversion is run like most open-source
@@ -270,15 +277,15 @@
 
     <para>Mentre CollabNet iniziava il progetto e tuttora finanzia la
       maggior parte del lavoro (paga lo stipendio di un piccolo gruppo
-      di sviluppatori che lavorano su Subversion a tempo pieno), Subversion 
-      viene portato avanti come la maggior parte dei progetti open-source, 
-      gestito attraverso un insieme di regole aperto e trasparente  che 
+      di sviluppatori che lavorano su Subversion a tempo pieno), Subversion
+      viene portato avanti come la maggior parte dei progetti open-source,
+      gestito attraverso un insieme di regole aperto e trasparente  che
 nebiac
-      gestito attraverso un aperto e trasparente insieme di regole che 
+      gestito attraverso un aperto e trasparente insieme di regole che
       incoraggiano la meritocrazia. La licenza di copyright di CollabNet
       rispetta pienamente le linee guida Debian Free Software. In altre
-      parole, chiunque è libero di scaricare, modificare e redistribuire 
-      Subversion come preferisce; senza richiedere alcun permesso da 
+      parole, chiunque è libero di scaricare, modificare e redistribuire
+      Subversion come preferisce; senza richiedere alcun permesso da
       CollabNet o chiunque altro.</para>
 
   </sect1>
@@ -299,13 +306,13 @@
       linkend="svn.basic"/>, in which we provide a gentle introduction
       to version control in general.</para>
 
-    <para>Discutere delle caratteristiche che Subversion porta 
+    <para>Discutere delle caratteristiche che Subversion porta
       al tavolo del controllo di versione, è spesso utile approfondire
       in che modo tali peculiarità apportino miglioramenti alla struttura
-      di CVS. Se non si ha familiarità con CVS, si rischia di non 
-      comprenderne a dovere l'efficacia. Se, poi, il lettore non ha 
+      di CVS. Se non si ha familiarità con CVS, si rischia di non
+      comprenderne a dovere l'efficacia. Se, poi, il lettore non ha
       dimestichezza con il controllo di versione in generale, i suoi occhi
-      potrebbero coprirsi di una patina a meno che non si legga prima 
+      potrebbero coprirsi di una patina a meno che non si legga prima
       <xref linkend="svn.basic"/>, nel quale viene fornita una precisa
       introduzione al generale concetto di versionamento.</para>
 
@@ -323,7 +330,7 @@
             versioned.</para>
 
           <para>Solo CVS traccia la storia dei soli files, mentre
-            Subversion implementa il versionamento di un filesystem 
+            Subversion implementa il versionamento di un filesystem
             <quote>virtuale</quote> che traccia i cambiamenti nel tempo
             degli interi alberi directory. I files <emphasis>e</emphasis> le
             directories vengono quindi versionati.</para>
@@ -344,9 +351,9 @@
             delete, copy, and rename both files and directories.  And
             every newly added file begins with a fresh, clean
             history all its own.</para>
-          
-          <para>Dal momento che CVS è limitato al versionamento dei 
-            soli files, operazioni come copia e rinomina&mdash;che 
+
+          <para>Dal momento che CVS è limitato al versionamento dei
+            soli files, operazioni come copia e rinomina&mdash;che
             dovrebbero essere propri dei files, ma che poi non sono
             altro che modifiche ai contenuti di ciò che contiene una
             directory&mdash;non sono supportate in CVS.
@@ -369,17 +376,17 @@
             chunks, and prevents problems that can occur when only a
             portion of a set of changes is successfully sent to the
             repository.</para>
-         
-  	  <para>Un insieme di modifiche o vengono inserite nel repository
-  	    tutte insieme o non ne viene inserita nessuna. Ciò permette agli 
-  	    sviluppatori di costruire ed effettuare commit di cambiamenti come 
+
+          <para>Un insieme di modifiche o vengono inserite nel repository
+            tutte insieme o non ne viene inserita nessuna. Ciò permette agli
+            sviluppatori di costruire ed effettuare commit di cambiamenti come
 nebiac
-  	    sviluppatori di costruire e committare i cambiamenti come 
- 	    un blocco logico unico, prevenendo problemi che possono 
- 	    occorrere quando solo una parte d'un insieme di modifiche 
+            sviluppatori di costruire e committare i cambiamenti come
+            un blocco logico unico, prevenendo problemi che possono
+            occorrere quando solo una parte d'un insieme di modifiche
 nebiac
- 	    occorrere quando solo una parte di un set di modifiche 
- 	    vengono inviate con successo al repository.</para>
+            occorrere quando solo una parte di un set di modifiche
+            vengono inviate con successo al repository.</para>
         </listitem>
       </varlistentry>
 
@@ -392,13 +399,13 @@
             pairs you wish.  Properties are versioned over time, just
             like file contents.</para>
 
-	  <para>
-	  Ogni file e directory ha un set di proprietà&mdash;chiavi
-	    e rispettivi valori&mdash;associati ad esso. L'utilizzatore
-	    può creare e memorizzare qualsiasi coppia di chiave/valore 
-	    che preferisce, arbitrariamente. Le proprietà sono
-	    soggette a versionamento esattamente come il file a cui sono
-	    associate.</para>
+          <para>
+          Ogni file e directory ha un set di proprietà&mdash;chiavi
+            e rispettivi valori&mdash;associati ad esso. L'utilizzatore
+            può creare e memorizzare qualsiasi coppia di chiave/valore
+            che preferisce, arbitrariamente. Le proprietà sono
+            soggette a versionamento esattamente come il file a cui sono
+            associate.</para>
         </listitem>
       </varlistentry>
 
@@ -417,18 +424,18 @@
             speaks a custom protocol which can be easily tunneled over
             SSH.</para>
 
-	  <para>Subversion ha una nozione astratta di accesso al
-	    repository, che rende semplice per chiunque implementare 
-	    nuovi meccanismi di rete. Inoltre è possibile 
-	    integrarlo con Apache HTTP Server, come modulo di
-	    estensione. Ciò conferisce a Subversion un grande 
-	    vantaggio in stabilità e interoperabilità, oltrechè un
-	    accesso istantaneo alle caratteristiche che tale webserver
-	    mette a disposizione&mdash;autenticazione, autorizzazione,
-	    wire compression, e così via. E' tuttavia disponibile 
+          <para>Subversion ha una nozione astratta di accesso al
+            repository, che rende semplice per chiunque implementare
+            nuovi meccanismi di rete. Inoltre è possibile
+            integrarlo con Apache HTTP Server, come modulo di
+            estensione. Ciò conferisce a Subversion un grande
+            vantaggio in stabilità e interoperabilità, oltrechè un
+            accesso istantaneo alle caratteristiche che tale webserver
+            mette a disposizione&mdash;autenticazione, autorizzazione,
+            wire compression, e così via. E' tuttavia disponibile
             anche un processo server standalone proprio di Subversion
-	    più leggero. Questo server è progettato su un protocollo 
-	    proprio che può essere facilmente veicolato su SSH.</para>
+            più leggero. Questo server è progettato su un protocollo
+            proprio che può essere facilmente veicolato su SSH.</para>
         </listitem>
       </varlistentry>
 
@@ -443,13 +450,13 @@
             repository, and differences are transmitted in both
             directions across the network.</para>
 
-	  <para>Subversion esprime le differenze di un file usando 
-	    un algoritmo di differenziazione binario, che lavora
-	    ugualmente sia sui files di testo (leggibili dall'uomo) 
-	    che sui files binari (illeggibili dall'uomo). Entrambi
-	    i tipi di files sono memorizzati ugualmente compressi
-	    nel repository e le differenze sono trasmesse in 
-	    entrambi i casi attraverso la rete.</para>
+          <para>Subversion esprime le differenze di un file usando
+            un algoritmo di differenziazione binario, che lavora
+            ugualmente sia sui files di testo (leggibili dall'uomo)
+            che sui files binari (illeggibili dall'uomo). Entrambi
+            i tipi di files sono memorizzati ugualmente compressi
+            nel repository e le differenze sono trasmesse in
+            entrambi i casi attraverso la rete.</para>
         </listitem>
       </varlistentry>
 
@@ -463,21 +470,21 @@
             take only a very small, constant amount of time.
           </para>
 
-	  <para>Il costo in termini di tempo e spazio dedicato al 
+          <para>Il costo in termini di tempo e spazio dedicato al
 nebiac: direi di non mettere le doppie virgolette, cosa dici?
-	   Il "costo" in termini di tempo e spazio dedicato al 
-	    branching e al tagging non deve essere proporzionale 
-	    alla grandezza del progetto. Subversion crea branches e 
-  	    tags utilizzando un meccanismo simile all'hard-link unix 
-	    (collegamento) per copiare il progetto. In questo modo, 
-	    tali operazioni occupano solo una quantità di tempo 
-	    molto piccolo e costante.
+           Il "costo" in termini di tempo e spazio dedicato al
+            branching e al tagging non deve essere proporzionale
+            alla grandezza del progetto. Subversion crea branches e
+            tags utilizzando un meccanismo simile all'hard-link unix
+            (collegamento) per copiare il progetto. In questo modo,
+            tali operazioni occupano solo una quantità di tempo
+            molto piccolo e costante.
 nebiac
-	    molto breve e costante.
-	    </para>
+            molto breve e costante.
+            </para>
         </listitem>
       </varlistentry>
-      
+
       <varlistentry>
         <term>Versatilità</term>
         <listitem>
@@ -487,11 +494,11 @@
             maintainable and usable by other applications and
             languages.</para>
 
-	  <para>Subversion non ha alcun bagaglio storico; esso è 
-	    implementato come una collezione di librerie C condivise
-	    con delle APIs ben definite. Ciò lo rende estremamente 
-	    manutenibile e usabile da altre applicazioni e in 
-	    altre lingue.</para>
+          <para>Subversion non ha alcun bagaglio storico; esso è
+            implementato come una collezione di librerie C condivise
+            con delle APIs ben definite. Ciò lo rende estremamente
+            manutenibile e usabile da altre applicazioni e in
+            altre lingue.</para>
         </listitem>
       </varlistentry>
 
@@ -508,7 +515,7 @@
 
     <para><xref linkend="svn.intro.architecture.dia-1"/>  illustra ciò che si può chiamare
       una vista <quote>dall'altezza di un miglio</quote> dell'architettura di Subversion.</para>
-    
+
     <figure id="svn.intro.architecture.dia-1">
       <title>Architettura di Subversion</title>
       <graphic fileref="images/ch01dia1.png"/>
@@ -525,15 +532,15 @@
           repository.  Others bypass the network altogether and access the
       repository directly.
     </para>
-    
+
     <para>
-    Ad un estremo c'è il repository Subversion che contiene tutti i vostri dati 
-    sotto controllo di versione. All'altro estremo c'è il vostro client Subversion, 
-    che gestisce le specchiature locali di parte dei dati sotto controllo 
-    di versione (chiamate  <quote>copie locali</quote>). 
-    Tra questi estremi vi sono diversi percorsi tramite vari strati per l'Accesso al Repository 
-    (AR). Alcune di queste strade attraversano reti di computer e reti di server che che a loro volta 
-    accedono il repository.  
+    Ad un estremo c'è il repository Subversion che contiene tutti i vostri dati
+    sotto controllo di versione. All'altro estremo c'è il vostro client Subversion,
+    che gestisce le specchiature locali di parte dei dati sotto controllo
+    di versione (chiamate  <quote>copie locali</quote>).
+    Tra questi estremi vi sono diversi percorsi tramite vari strati per l'Accesso al Repository
+    (AR). Alcune di queste strade attraversano reti di computer e reti di server che che a loro volta
+    accedono il repository.
     Altre scavalcano del tutto la rete ed accedono direttamente il repository.
     </para>
 
@@ -560,14 +567,14 @@
       the Apache httpd server runs on: Windows, Linux, all flavors of
       BSD, Mac OS X, Netware, and others.
       </para>
-     
+
     <para>
       Subversion è costruito su uno strato portabile chiamato APR&mdash;
       la libreria Apache Portable Runtime. La libreria APR fornisce tutte le interfaccie
-      per le funzioni richieste da Subversion per funzionare su diversi sistemi operativi: 
+      per le funzioni richieste da Subversion per funzionare su diversi sistemi operativi:
       l'accesso al disco, alla rete, la gestione della memoria e così via.
-      Anche se Subversion è in grado di utilizzare Apache come uno dei possibili componenti lato server, 
-      la sua dipendenza da APR <emphasis>non</emphasis> significa che Apache sia un 
+      Anche se Subversion è in grado di utilizzare Apache come uno dei possibili componenti lato server,
+      la sua dipendenza da APR <emphasis>non</emphasis> significa che Apache sia un
       componente rihiesto per funzionare. Significa, comunque, che come Apache, i client
       ed i server di Subversion funzionano su ogni sistema operativo sul quale gira il server httpd Apache:
       Windows, Linux, tutte le varianti di BSD, MAc OS X, Netware ed altri.
@@ -595,7 +602,7 @@
       Se siete utenti di un sistema operativo di tipo Unix, per ottenere Subversion potete utilizzare
       i sistemi di distribuzione nativi per il vostro sistema (RPMs. DEBs, ports tree, etc.).
      </para>
-     
+
      <para lang="en">
     Alternately, you can build Subversion directly from source
       code.  From the Subversion website, download the latest
@@ -615,19 +622,19 @@
       </para>
 
     <para>
-	Come alternativa, si può costruire Subversion direttamente dai codici sorgenti.
-	Scaricate l'ultima release del codice sorgente dal sito web di Subversion.
-	Dopo averlo spacchettato, seguite le istruzioni contenute nel file 
-	<filename>INSTALL</filename> per costruirlo.
-	Da notare che un pacchetto di sorgenti rilasciato, contiene tutto ciò di 
-	cui si necessiti per costruire un client a linea di comando in grado di parlare con
-	un repository remoto (in particolare, apr, apr-util, e le librerie neon).
-	Ma parti opzionali di Subversion hanno molte altre dipendenze, come il DB Berkeley ed anche
-	Apace httpd. 
-	Se volete realizzare una costruzione completa, siate sicuri di avere tutti i pacchetti 
-	descritti nel file <filename>INSTALL</filename>.
-	Se avete intenzione di lavorare su Subversion stesso, potete utilizzare il client
-	per ottenere l'ultima copia dei sorgenti allineata con la frontiera degli sviluppi.
+        Come alternativa, si può costruire Subversion direttamente dai codici sorgenti.
+        Scaricate l'ultima release del codice sorgente dal sito web di Subversion.
+        Dopo averlo spacchettato, seguite le istruzioni contenute nel file
+        <filename>INSTALL</filename> per costruirlo.
+        Da notare che un pacchetto di sorgenti rilasciato, contiene tutto ciò di
+        cui si necessiti per costruire un client a linea di comando in grado di parlare con
+        un repository remoto (in particolare, apr, apr-util, e le librerie neon).
+        Ma parti opzionali di Subversion hanno molte altre dipendenze, come il DB Berkeley ed anche
+        Apace httpd.
+        Se volete realizzare una costruzione completa, siate sicuri di avere tutti i pacchetti
+        descritti nel file <filename>INSTALL</filename>.
+        Se avete intenzione di lavorare su Subversion stesso, potete utilizzare il client
+        per ottenere l'ultima copia dei sorgenti allineata con la frontiera degli sviluppi.
       Ciò è documentato in <xref
       linkend="svn.developer.contrib.get-code"/>.
       </para>
@@ -640,8 +647,8 @@
   <sect1 id="svn.intro.components">
 
     <title>I Componenti di Subversion</title>
-    
-    <para lang="en"> 
+
+    <para lang="en">
       Subversion, once installed, has a number of different
       pieces.  The following is a quick overview of what you get.
       Don't be alarmed if the brief descriptions leave you scratching
@@ -649,11 +656,11 @@
       in this book devoted to alleviating that confusion.
      </para>
 
-    <para lang="en"> 
+    <para lang="en">
     Subversion, una volta installato,  possiede un certo numero di differenti
     pezzi. Segue un veloce riferimento al riguardo.
     Non allarmatevi se le brevi descrizioni vi lasciano dei grattacapi&mdash;
-    in questo libro ci sono <emphasis>molte</emphasis> altre pagine 
+    in questo libro ci sono <emphasis>molte</emphasis> altre pagine
     dedicate ad alleviare la vostra confusione.
     </para>
 
@@ -672,8 +679,8 @@
         <listitem>
           <para lang="en">A program for reporting the state (in terms of
             revisions of the items present) of a working copy.</para>
-	    
-          <para>Un programma per conoscere lo stato (in termini di 
+
+          <para>Un programma per conoscere lo stato (in termini di
             revisione degli elementi presenti) di una copia di lavoro.</para>
         </listitem>
       </varlistentry>
@@ -682,7 +689,7 @@
         <term>svnlook</term>
         <listitem>
           <para lang="en">A tool for inspecting a Subversion repository.</para>
-	  
+
           <para>Un tool per ispezionare una repository Subversion.</para>
         </listitem>
       </varlistentry>
@@ -691,7 +698,7 @@
         <term>svnadmin</term>
         <listitem>
           <para lang="en">A tool for creating, tweaking or repairing a Subversion </para>
-	  
+
           <para>Un tool per creare, operare e riparare una repository Subversion.</para>
         </listitem>
       </varlistentry>
@@ -711,8 +718,8 @@
           <para lang="en">A plug-in module for the Apache HTTP Server, used to
             make your repository available to others over a
             network.</para>
-	    
-          <para>Un modulo plug-in per il Server Apache HTTP, usato per rendere disponibile ad altri la 
+
+          <para>Un modulo plug-in per il Server Apache HTTP, usato per rendere disponibile ad altri la
             vostra repository via rete.</para>
         </listitem>
       </varlistentry>
@@ -724,7 +731,7 @@
             daemon process or invokable by SSH; another way to make
             your repository available to others over a network.</para>
 
-          <para >Un programma server specializzato per essere eseguito come un processo demone 
+          <para >Un programma server specializzato per essere eseguito come un processo demone
           oppure essere invocato tramite SSH; un altro modo per rendere accessibile via rete
           ad altri il vostro repository.</para>
         </listitem>
@@ -733,9 +740,9 @@
 
     <para lang="en">Assuming you have Subversion installed correctly, you should
       be ready to start.  The next two chapters will walk you through
-      the use of <command>svn</command>, Subversion's command-line client 
+      the use of <command>svn</command>, Subversion's command-line client
       program.</para>
-      
+
     <para>Assumendo di avere Subversion correttamente installato, dovreste essere pronti a partire.
     I prossimi due capitoli vi condurranno attraverso l'uso di <command>svn</command> il client command line
     di Subversion.
@@ -749,7 +756,7 @@
   <sect1 id="svn.intro.quickstart">
 
     <title>Un rapido inizio</title>
-    
+
     <para lang="en">Some people have trouble absorbing a new technology by
       reading the sort of <quote>top down</quote> approach provided by
       this book.  This section is a very short introduction to
@@ -759,13 +766,13 @@
       running.  Along the way, we give links to the relevant chapters
       of this book.</para>
 
-	<para>Alcune persone hanno dei problemi ad assorbire una nuova tecnologia 
-	tramite l'approccio <quote>top down</quote> di questo libro.  
-	Questa sezione è un'introduzione a Subversion molto sintetica, ed è pensata per
-	fornire una possibilità  in più a chi è abituato ad imparare con un approccio <quote>bottom up</quote>.
-	Se si preferisce imparare sperimentando, gli esempi seguenti vi permetteranno di essere
-	subito operativi.
-	Strada facendo, saranno evidenziati i collegamenti ai capitoli più importanti di questo libro.
+        <para>Alcune persone hanno dei problemi ad assorbire una nuova tecnologia
+        tramite l'approccio <quote>top down</quote> di questo libro.
+        Questa sezione è un'introduzione a Subversion molto sintetica, ed è pensata per
+        fornire una possibilità  in più a chi è abituato ad imparare con un approccio <quote>bottom up</quote>.
+        Se si preferisce imparare sperimentando, gli esempi seguenti vi permetteranno di essere
+        subito operativi.
+        Strada facendo, saranno evidenziati i collegamenti ai capitoli più importanti di questo libro.
         </para>
 
 
@@ -775,7 +782,7 @@
       before going any further.</para>
 
     <para>Se per voi sono nuovi sia l'insieme dei concetti di controllo di versione, sia il modello
-         <quote>copia-modifica-fusione (copy-modify-merge)</quote> usato sia da CVS che da Subversion, 
+         <quote>copia-modifica-fusione (copy-modify-merge)</quote> usato sia da CVS che da Subversion,
          allora dovreste leggere <xref linkend="svn.basic"/>
       prima di andare avanti.</para>
 
@@ -788,7 +795,7 @@
         later (run <command>svn --version</command> to check.)</para>
 
       <para>Il seguente esempio assume di avere  pronti all'uso <command>svn</command>, il client a linea di comando di Subversion,
-        e <command>svnadmin</command>, il tool di amministrazione.  
+        e <command>svnadmin</command>, il tool di amministrazione.
         Si assume anche che stiate usando Subversion 1.2 o successivo
         (usare il comando <command>svn --version</command> per controllare.)</para>
     </note>
@@ -796,7 +803,7 @@
     <para lang="en">Subversion stores all versioned data in a central
       repository.  To begin, create a new repository:</para>
 
-    <para>Subversion memorizza tutti i dati sotto controllo di versione in un repository centrale. 
+    <para>Subversion memorizza tutti i dati sotto controllo di versione in un repository centrale.
     Per iniziare, creiamo un nuovo repoitory:</para>
 
     <screen>
@@ -835,7 +842,7 @@
       ever talking about some directory (or collection of directories)
       in the repository.</para>
 
-    <para>Subversion non ha il concetto di <quote>progetto</quote>.  
+    <para>Subversion non ha il concetto di <quote>progetto</quote>.
     Il repository è solo un filesystem virtuale versionato, un albero di directory molto vasto
     che può conservare ciò che si desidera. Alcuni sistemisti preferiscono memorizzare
     solo un progetto per repository alti memorizzano più progetti in un repository
@@ -843,12 +850,12 @@
     I pregi di ogni approcci sono discussi in  <xref linkend="svn.reposadmin.projects.chooselayout"/>.
     Ad ogni modo il repository gestisce solo file e directory,
     in tal senso è copito degli umani interpretare le particolari directory,
-    come <quote>projects</quote>.  
+    come <quote>projects</quote>.
     Per questo ogni qual volta in questo libro venga fatto riferimento ai progetti,
     si tenga presente che è come se si parlasse di directory (od insiemi di directories) nel
     repository.</para>
 
-	
+
     <para lang="en"> In this example, we assume that you already have some sort
       of project (a collection of files and directories) that you wish
       to import into your newly created Subversion repository.  Begin
@@ -867,9 +874,9 @@
     <para> In questo esempio,  si assume di avere una qualche sorta di progetto
     (un insieme di files e directories) che vorreste importare in un repository
     appena creato.
-    Iniziamo organizzandoli in una sola directory chiamata <filename>myproject</filename> 
+    Iniziamo organizzandoli in una sola directory chiamata <filename>myproject</filename>
     (oppure un qualunque altro nome vi piaccia).
-    Per ragioni che saranno chiare tra poco (vedi <xref linkend="svn.branchmerge"/>), 
+    Per ragioni che saranno chiare tra poco (vedi <xref linkend="svn.branchmerge"/>),
     l'alberatura del vostro progetto dovrà  contenere tre directory di livello piu' alto
     chiamate <filename>branches</filename>,
       <filename>tags</filename>, and
@@ -903,7 +910,7 @@
       (see <xref linkend="svn.tour.other.import"/>):</para>
 
       <para>Non appena la vostra struttura di directory è pronta, importatela in una
-        repository svn con il comando <command>svn import</command> 
+        repository svn con il comando <command>svn import</command>
       (see <xref linkend="svn.tour.other.import"/>):</para>
 <screen>
 $ svn import /tmp/myproject file:///path/to/repos/myproject -m "initial import"
@@ -915,7 +922,7 @@
 Adding         /tmp/myproject/trunk/Makefile
 &hellip;
 Committed revision 1.
-$ 
+$
 </screen>
 
     <para lang="en">Now the repository contains this tree of data.  As mentioned
@@ -943,11 +950,11 @@
       <para>Notare che la directory originaria <filename>/tmp/myproject</filename>
       non e' cambiata; Subversion non lo sa.  (Infatti, potete anche cancellare quella
       directory se volete.)  Per essere in grado di iniziare a manipolare i dati nel repository,
-      avete bisogno di creare una nuova <quote>copia di lavoro (working copy)</quote> dei dati, 
-      una sorta di spazio di lavoro privato. 
+      avete bisogno di creare una nuova <quote>copia di lavoro (working copy)</quote> dei dati,
+      una sorta di spazio di lavoro privato.
       Domandate a Subversion di effettuare un  <quote>check out</quote> della copia di lavoro
       della directory <filename>myproject/trunk</filename> memorizzata nel repository:</para>
-  
+
 
     <screen>
 $ svn checkout file:///path/to/repos/myproject/trunk myproject
@@ -964,7 +971,7 @@
       back into the repository.</para>
 
     <para>Ora avete una copia personale di parte del repository
-    in una nuova directory chiamata <filename>myproject</filename>.  
+    in una nuova directory chiamata <filename>myproject</filename>.
     Potete modificare i files nella copia di lavoro e poi sottomettere a svn (commit)
     i cambiamenti nel repository.</para>
 
@@ -994,7 +1001,7 @@
     <para lang="en">For a full tour of all the things you can do with your
       working copy, read <xref linkend="svn.tour"/>.</para>
 
-    <para>Per un tour completo riguado tutte le cose che si possono fare con la copia locale, 
+    <para>Per un tour completo riguado tutte le cose che si possono fare con la copia locale,
     leggere <xref linkend="svn.tour"/>.</para>
 
     <para lang="en">At this point, you have the option of making your repository
@@ -1003,7 +1010,7 @@
       server processes available and how to configure them.</para>
 
     <para> A questo punto, potete scegliere di rendere accessibile il vostro repository via rete.
-    Consultare anche <xref linkend="svn.serverconfig"/> per imparare riguardo i diversi tipi di processi server disponibili 
+    Consultare anche <xref linkend="svn.serverconfig"/> per imparare riguardo i diversi tipi di processi server disponibili
       e come configurarli.</para>
 
   </sect1>
@@ -1012,7 +1019,7 @@
 </chapter>
 
 <!--
-local variables: 
+local variables:
 sgml-parent-document: ("book.xml" "chapter")
 end:
 -->

Modified: trunk/src/it/book/ch04.xml
==============================================================================
--- trunk/src/it/book/ch04.xml	(original)
+++ trunk/src/it/book/ch04.xml	Tue Sep  5 11:57:44 2006
@@ -10,11 +10,11 @@
       see how Subversion implements these ideas.</para>
 
     <para>Ramificazioni, etichette e fusioni sono concetti comuni a
-      quasi tutti sistemi di controllo di versione.  Se non si conoscono
+      quasi tutti sistemi di controllo delle versioni.  Se non si conoscono
       abbastanza queste idee, forniamo noi la buona introduzione in
       questo capitolo. Se le conoscete già, si spera che troverete interesante
       di vedere come Subversion implementa queste idee.</para>
-    
+
     <para lang="en">Branching is a fundamental part of version control.  If
       you're going to allow Subversion to manage your data, then this
       is a feature you'll eventually come to depend on.  This chapter
@@ -26,7 +26,7 @@
       dipenderete da questa caratteristica. In questo capitolo si assume
       che siete già al corrente di concetti base di Subversion
       (<xref linkend="svn.basic"/>).</para>
-    
+
   </simplesect>
 
   <!-- ================================================================= -->
@@ -44,9 +44,9 @@
     <para>Supponiamo che vostro compito è mantenere un certo documento per
       un dipartimento della vostra società. Un giorno un altro dipartimento
       chiede lo stesso documento, ma con alcune parti
-      <quote>modificate</quote> per loro, perché in quel dipartimento alcune
-      cose le fanno in modo legermente diverso.</para>
-    
+      <quote>modificate</quote> per loro, perché in quel dipartimento le
+      cose fanno in modo legermente diverso.</para>
+
     <para lang="en">What do you do in this situation?  You do the obvious thing:
       you make a second copy of your document, and begin maintaining
       the two copies separately.  As each department asks you to make
@@ -55,9 +55,9 @@
 
     <para>Che cosa fatte in questa situazione?  Una cosa ovvia:
       fatte la seconda copia del vostro documento e cominciate mantenere
-      queste due copie separatamente. Quando uno o altro dipartimento
+      le due copie separatamente. Quando uno o altro dipartimento
       chede di fare modifiche, voi le fatte in una o altra copia.</para>
-    
+
     <para lang="en">You often want to make the same change to both copies.  For
       example, if you discover a typo in the first copy, it's very
       likely that the same typo exists in the second copy.  The two
@@ -69,7 +69,7 @@
       molto probabilmente lo stesso errore è anche nell'altra. Dopo tutto,
       le due copie sono quasi identiche, diferiscono solo nelle piccole,
       specifiche parti.</para>
-    
+
     <para lang="en">This is the basic concept of a
       <firstterm>branch</firstterm>&mdash;namely, a line of
       development that exists independently of another line, yet still
@@ -83,7 +83,7 @@
       sviluppo che esiste independemente dall'altra, anche se sempre
       condividono la storia comune se si guarda abbastanza indietro in tempo.
       Un ramo sempre comincia la sua vita come copia di qualcosa e
-      muovendosi da questo punto genera la sua propria storia
+      prosegue da questo punto generando la sua propria storia
       (vedi <xref linkend="svn.branchmerge.whatis.dia-1"/>).</para>
 
       <figure id="svn.branchmerge.whatis.dia-1">
@@ -102,14 +102,14 @@
 
     <para>Subversion ha i comandi per aiutarvi mantenere rami paralleli
       di vostri file e cartelle. Vi permette di creare rami copiando i vostri dati
-      e ricordare che le copie sono in relazione con altre. Vi aiuta anche
-      di dupplicare cambiamenti da un ramo ad altro. Infine, vi permette
-      di creare parti della vostra copia di lavoro che riflettono rami
-      differenti così che potete <quote>mescolare e abbinare</quote>
-      le linee differenti dello sviluppo nel vostro lavoro giornaliero.</para>
-  
+      e si ricorda che le copie sono in relazione con altre. Vi aiuta anche
+      di dupplicare cambiamenti da un ramo ad altro. Infine, può
+      creare parti della vostra copia di lavoro che riflettono rami
+      diversi così che potete <quote>mescolare e abbinare</quote>
+      le linee diverse dello sviluppo nel vostro lavoro giornaliero.</para>
+
   </sect1>
-  
+
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <!-- ================================================================= -->
@@ -124,8 +124,8 @@
     <para>A questo punto dovete già capire come ogni commit crea
       in deposito un albero di filesystem completamente nuovo (chiamato una
       <quote>revisione</quote>).  Se no, tornate dietro a leggere riguardo le
-      revisioni in <xref linkend="svn.basic.in-action.revs"/>.</para>
-    
+      revisioni <xref linkend="svn.basic.in-action.revs"/>.</para>
+
     <para lang="en">For this chapter, we'll go back to the same example from
       Chapter 2.  Remember that you and your collaborator, Sally, are
       sharing a repository that contains two projects,
@@ -134,7 +134,7 @@
       project directory now contains subdirectories named
       <filename>trunk</filename> and <filename>branches</filename>.
       The reason for this will soon become clear.</para>
-    
+
     <para>Per questo capitolo torniamo allo stesso esempio del Capitolo 2.
       Ricordate che voi e vostra collaboratrice, Sally, state condividere
       un deposito che contiene due progetti,
@@ -143,10 +143,15 @@
       ogni cartella di progetto adesso contiene sottocartelle denominate
       <filename>trunk</filename> e <filename>branches</filename>.
       La ragione di ciò diventa presto chiara.</para>
-    
-      <figure id="svn.branchmerge.using.dia-1">
+
+      <!-- <figure id="svn.branchmerge.using.dia-1">
         <title>Starting repository layout</title>
         <graphic fileref="images/ch04dia2.png"/>
+      </figure> -->
+
+      <figure id="svn.branchmerge.using.dia-1">
+        <title>Forma iniziale del deposito</title>
+        <graphic fileref="images/ch04dia2.png"/>
       </figure>
 
     <para lang="en">As before, assume that Sally and you both have working
@@ -160,12 +165,12 @@
 
     <para>Come prima, assumiamo che tutti e due, Sally e voi, avete
       copia di lavoro del progetto <quote>calc</quote>. Specificamente,
-      entrambi avete copia di lavoro di <filename>/calc/trunk</filename>.
+      entrambi avete una copia di lavoro di <filename>/calc/trunk</filename>.
       Tutti i file del progetto sono in questa sottocartella invece nella
       cartella <filename>/calc</filename> stessa, perché vostro gruppo ha deciso
       che <filename>/calc/trunk</filename> è il posto dove va posizionata la
       <quote>linea principale</quote> dello sviluppo.</para>
-    
+
     <para lang="en">Let's say that you've been given the task of performing a
       radical reorganization of the project.  It will take a long time
       to write, and will affect all the files in the project.  The
@@ -179,11 +184,11 @@
     <para>Diciamo che vi hanno dato lavoro di radicale riorganizazione del
       progetto. Questo prende lungo tempo per scriverlo e toccherà tutti i file
       nell progetto. Il problema è che voi non volete interferire con lavoro di
-      Sally, che sta correggendo piccoli errori qua e là. Ella dipende sul fatto
+      Sally, che sta correggendo piccoli errori qua e là. Ella dipende dall fatto
       che l'ultima versione del progetto (in <filename>/calc/trunk</filename>)
       è sempre usabile. Se voi cominciate commit dei vostri cambiamenti
-      pezzo-per-pezzo, sicuramente rompete le cose per Sally.</para>
-    
+      pezzo-per-pezzo, sicuramente rompete le cose a Sally.</para>
+
     <para lang="en">One strategy is to crawl into a hole: you and Sally can stop
       sharing information for a week or two.  That is, start gutting
       and reorganizing all the files in your working copy, but don't
@@ -217,9 +222,9 @@
       molto sicuro. A molte persone piace conservare suo lavoro
       nel deposito frequentemente, nel caso che accidentalmente succede
       qualcosa brutto alla loro copia di lavoro. Seconda, non è molto
-      flessibile. Se state svolgendo vostro lavoro su differenti computer
+      flessibile. Se state svolgendo vostro lavoro su diversi computer
       (magari avete le copie di lavoro del <filename>/calc/trunk</filename>
-      su due macchine differenti), avete bisogno di copiare manualmente
+      su due macchine diverse), avete bisogno di copiare manualmente
       i vostri cambiamenti avanti e dietro o fare il lavoro solo su un computer.
       E per la stessa ragione, è difficile condividere i vostri cambiamenti-in-corso
       con qualcun altro. <quote>Miglior attegiamento</quote> comune
@@ -229,11 +234,11 @@
       Alla fine, quando avete finito con tutti i vostri cambiamenti,
       potete magari trovare molto difficile di ri-fondere vostro lavoro finale
       con il resto del corpo principale del codice della vostra società.
-      Sally (o altri) poteva fare molti diversi cambiamenti nel deposito
-      che sono difficili a incorporare nella vostra copia di
+      Sally (o altri) poteva fare molti altri cambiamenti nel deposito
+      che sono difficili da incorporare nella vostra copia di
       lavoro&mdash;specialmente se fatte <command>svn update</command>
       dopo settimane di isolamento.</para>
-    
+
     <para lang="en">The better solution is to create your own branch, or line of
       development, in the repository.  This allows you to save your
       half-broken work frequently without interfering with others, yet
@@ -243,15 +248,15 @@
 
     <para>La soluzione migliore è creare vostro ramo, o linea di
       sviluppo, nel deposito.  Questo vi permette di salvare vostro
-      lavoro fatto-a-metà frequentemente senza interferire con altri,
+      lavoro fatto-a-metà[??incompiuto?] frequentemente senza interferire con altri,
       ma nello stesso tempo selettivamente condividere le informazioni
       con i vostri collaboratori. Vediamo in seguito esattamente come questo
       approcio funziona.</para>
-    
+
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.using.create">
       <title>Creare un ramo</title>
-      
+
       <para lang="en">Creating a branch is very simple&mdash;you make a copy of
         the project in the repository using the <command>svn
         copy</command> command.  Subversion is not only able to copy
@@ -279,18 +284,18 @@
         e voi volete chiamare vostro ramo <literal>my-calc-branch</literal>.
         State per creare nuova cartella,
         <filename>/calc/branches/my-calc-branch</filename>, che nasce come
-        cop lang="en"ia di <filename>/calc/trunk</filename>.</para>
-      
+        copia di <filename>/calc/trunk</filename>.</para>
+
       <para lang="en">There are two different ways to make a copy.  We'll
         demonstrate the messy way first, just to make the concept
         clear.  To begin, check out a working copy of the project's
         root directory, <filename>/calc</filename>:</para>
 
-      <para>Ci sono due modi differenti di fare una copia. Vi dimostriamo
+      <para>Ci sono due modi diversi di fare una copia. Vi dimostriamo
         prima quello ingarbugliato, solo per fare chiaro il concetto.
         Per cominciare, tiriamo fuori una copia di lavoro della cartella
         principale del progetto, <filename>/calc</filename>:</para>
-      
+
       <screen>
 $ svn checkout http://svn.example.com/repos/calc bigwc
 A  bigwc/trunk/
@@ -307,7 +312,7 @@
 
       <para>Creare una copia è adesso semplice ??matter? di passare due
         percorsi di copia di lavoro al comando <command>svn copy</command>:</para>
-      
+
       <screen>
 $ cd bigwc
 $ svn copy trunk branches/my-calc-branch
@@ -333,16 +338,16 @@
       <para>In questo caso, il comando <command>svn copy</command>
         copia ricorsivamente cartella di lavoro <filename>trunk</filename>
         nella nuova cartella di lavoro, <filename>branches/my-calc-branch</filename>.
-        Come si può vedere dal comendo <command>svn status</command>,
+        Come si può vedere dal comando <command>svn status</command>,
         la nuova cartella è adesso pianificata per essere aggiunta
         al deposito. Notare anche che il segno <quote>+</quote> vicono la lettera
-        A.  Questo indica che la aggiunta pianificata è una <emphasis>copy</emphasis>
+        A.  Questo indica che la aggiunta pianificata è una <emphasis>copia</emphasis>
         di qualcosa, non qualcosa di nuovo. Quando fatte il commit degli vostri
         cambiamenti, Subversion creerà
         <filename>/calc/branches/my-calc-branch</filename> nel deposito
         copiando <filename>/calc/trunk</filename>, invece di re-inviare tramite
         la rete tutti i dati dalla cartella di lavoro:</para>
-      
+
       <screen>
 $ svn commit -m "Creating a private branch of /calc/trunk."
 Adding         branches/my-calc-branch
@@ -354,9 +359,9 @@
         copy</command> is able to operate directly on two URLs.</para>
 
       <para>E adesso il metodo più semplice di creare un ramo, di cui
-        dovevamo parlare per primo: <command>svn
+        si doveva parlare per primo: <command>svn
         copy</command> può operare direttamente su due URL.</para>
-    
+
       <screen>
 $ svn copy http://svn.example.com/repos/calc/trunk \
            http://svn.example.com/repos/calc/branches/my-calc-branch \
@@ -371,7 +376,7 @@
         <filename>/calc/trunk</filename>.  This is shown in <xref
         linkend="svn.branchmerge.using.create.dia-1"/>.  Notice that the second method,
         however, performs an <emphasis>immediate</emphasis> commit.
-        <footnote> 
+        <footnote>
           <para>Subversion does not support
             cross-repository copying.  When using URLs with <command>svn
             copy</command> or <command>svn move</command>, you can only
@@ -381,14 +386,14 @@
         check out a large mirror of the repository.  In fact, this
         technique doesn't even require you to have a working copy at
         all.</para>
-      
+
       <para>Realmente non c'è differenza tra questi due metodi.
         Entrambe le procedure creano una nuova cartella nella revisione 341 e
         la nuova cartella è una copia di <filename>/calc/trunk</filename>.
         Come mostrato in <xref
         linkend="svn.branchmerge.using.create.dia-1"/>.  Notare che il secondo
         metodo, tuttavia, fa anche commit <emphasis>immediato</emphasis>.
-        <footnote> 
+        <footnote>
           <para>Subversion non supporta la copia tra due depositi
             (cross-repository). Usando gli URL con <command>svn
             copy</command> o <command>svn move</command>, si possono
@@ -397,15 +402,15 @@
         Questa è una procedura più semplice, perché non richiede di fare
         checkout di grande parte del deposito.  Infatti, questa tecnica
         non richiede addirittura neanche di avere la copia di lavoro.</para>
-      
+
       <figure id="svn.branchmerge.using.create.dia-1">
         <title>Deposito con la nuova copia</title>
         <graphic fileref="images/ch04dia3.png"/>
       </figure>
-      
+
       <sidebar>
         <title>Le copie economiche</title>
-                
+
         <para lang="en">Subversion's repository has a special design.  When you
           copy a directory, you don't need to worry about the
           repository growing huge&mdash;Subversion doesn't actually
@@ -418,7 +423,7 @@
           changes&mdash;the rest of the files continue to exist as
           links to the original files in the original
           directory.</para>
-      
+
         <para>Il deposito di Subversion ha un design speciale.
           Quando si fa la copia della cartella, non dovete preoccuparvi
           della massice crescita del deposito&mdash;Subversion in verità
@@ -430,7 +435,7 @@
           della cartella copiata, solo quel file cambia&mdash;il resto
           dei file continua esistere come i link ai file originali nella
           cartella originale.</para>
-        
+
         <para lang="en">This is why you'll often hear Subversion users talk
           about <quote>cheap copies</quote>.  It doesn't matter how
           large the directory is&mdash;it takes a very tiny, constant
@@ -445,29 +450,29 @@
         <para>E per questo spesso sentirette utenti di Subversion parlare
           delle <quote>copie economiche</quote>. Non importa quanto è
           grande la cartella&mdash;fare la sua copia prende sempre
-          molto piccola, costante, quantità del tempo. Infatti, questa
+          molto piccola, costante quantità del tempo. Infatti, questa
           caratteristica è la base del funzionamento di commit in Subversion:
           ogni revisione è <quote>copia economica</quote> della
           revisione precedente, con dentro poche voci pigramente cambiate.
           (Per leggere di più, visitate il sito web di Subversion e leggete
-          di metodo <quote>bubble up</quote>negli documenti riguardo design
+          di metodo <quote>bubble up</quote> negli documenti riguardo design
           di Subversion.)</para>
-        
+
         <para lang="en">Of course, these internal mechanics of copying and
           sharing data are hidden from the user, who simply sees
           copies of trees.  The main point here is that copies are
           cheap, both in time and space.  Make branches as often as
           you want.</para>
-        
+
         <para>Ovviamente, questo mecanismo interno di copiatura e
           condivisione dei dati è per utenti nascosto, loro semplicemente vedono
           le copie delle strutture. Qui il punto cardinale è che le copie
-          sono economiche, parlando di spazio e tempo. Fatte i rami ogni volta
+          sono economiche, parlando di tempo e spazio. Fatte i rami ogni volta
           che volete.</para>
       </sidebar>
 
     </sect2>
-    
+
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.using.work">
       <title>Lavorare con il vostro ramo</title>
@@ -477,7 +482,7 @@
 
       <para>Adesso che avete creato un ramo del progetto, potete tirare fuori
         (check out) una nuova copia di lavoro per cominciar ad usarla:</para>
-      
+
       <screen>
 $ svn checkout http://svn.example.com/repos/calc/branches/my-calc-branch
 A  my-calc-branch/Makefile
@@ -496,7 +501,7 @@
         creating a working copy of a branch.)</para>
 
       <para>Non c'è niente speciale di questa copia di lavoro; semplicemente
-        rispecchia una cartella differente del deposito.
+        rispecchia una cartella diversa del deposito.
         Quando pubblicate le vostre modifiche (commit), tuttavia, Sally
         non può nenche vederle quando fa aggiornamento (update). La sua
         copia di lavoro è di <filename>/calc/trunk</filename>.
@@ -510,7 +515,7 @@
 
       <para>Facciamo finta che le settimane passano e succedono sequenti pubblicazioni
         (commit):</para>
-      
+
       <!--<itemizedlist>
         <listitem><para>
           You make a change to
@@ -537,33 +542,46 @@
             <filename>/calc/branches/my-calc-branch/button.c</filename>,
             che crea revisione 342.</para>
         </listitem>
-        
+
         <listitem><para>
             Fatte modifica di
             <filename>/calc/branches/my-calc-branch/integer.c</filename>,
             che crea revisione 343.</para>
         </listitem>
-        
+
         <listitem><para>
             Sally modifica
             <filename>/calc/trunk/integer.c</filename>, che crea
             revisione 344.</para>
         </listitem>
       </itemizedlist>
-      
-      <para>There are now two independent lines of development, shown
+
+      <para lang="en">There are now two independent lines of development, shown
         in <xref linkend="svn.branchmerge.using.work.dia-1"/>, happening on
         <filename>integer.c</filename>.</para>
 
-      <figure id="svn.branchmerge.using.work.dia-1">
+      <para>Ci sono adesso due linee di sviluppo independenti, mostrate
+        in <xref linkend="svn.branchmerge.using.work.dia-1"/>, che toccano
+        <filename>integer.c</filename>.</para>
+
+      <!-- <figure id="svn.branchmerge.using.work.dia-1">
         <title>The branching of one file's history</title>
         <graphic fileref="images/ch04dia4.png"/>
+      </figure> -->
+
+      <figure id="svn.branchmerge.using.work.dia-1">
+        <title>Ramificazione della storia d'un file</title>
+        <graphic fileref="images/ch04dia4.png"/>
       </figure>
 
-      <para>Things get interesting when you look at the history of
+      <para lang="en">Things get interesting when you look at the history of
         changes made to your copy of
         <filename>integer.c</filename>:</para>
 
+      <para>Le cose diventano interessanti quando guardate la storia delle
+        modifiche della vostra copia di
+        <filename>integer.c</filename>:</para>
+
       <screen>
 $ pwd
 /home/user/my-calc-branch
@@ -600,7 +618,7 @@
 ------------------------------------------------------------------------
 </screen>
 
-      <para>Notice that Subversion is tracing the history of your
+      <para lang="en">Notice that Subversion is tracing the history of your
         branch's <filename>integer.c</filename> all the way back
         through time, even traversing the point where it was copied.
         It shows the creation of the branch as an event in the
@@ -609,6 +627,15 @@
         copied.  Now look what happens when Sally runs the same
         command on her copy of the file:</para>
 
+      <para>Notare che Subversion tiene traccia della storia di
+        <filename>integer.c</filename> del vostro ramo dietro tutto il tempo,
+        attraversando anche il punto dov'è stato copiato.
+        Mostra la creazione del ramo come evento nella storia,
+        perché <filename>integer.c</filename> era stato implicitamente copiato
+        quando tutto il <filename>/calc/trunk/</filename> era stato copiato.
+        Adesso guardate che sucede quando Sally avvia lo stesso comando
+        sulla sua copia del file:</para>
+
       <screen>
 $ pwd
 /home/sally/calc
@@ -638,7 +665,7 @@
 ------------------------------------------------------------------------
 </screen>
 
-      <para>Sally sees her own revision 344 change, but not the change
+      <para lang="en">Sally sees her own revision 344 change, but not the change
         you made in revision 343.  As far as Subversion is concerned,
         these two commits affected different files in different
         repository locations.  However, Subversion
@@ -647,25 +674,42 @@
         341, they used to be the same file.  That's why you and Sally
         both see the changes made in revisions 303 and 98.</para>
 
+      <para>Sally vede la sua modifica nella versione 344, ma non la modifica
+        che voi avete fatto nella versione 343. ??As far as Subversion is concerned,?
+        questi due commit riguardano i file diversi nelle diverse locazioni
+        del deposito.  Tuttavia, Subversion <emphasis>mostra</emphasis> che questi
+        due file condividono una storia comune. Prima che era fatta copia del ramo
+        nella versione 341, essi erano l'unico file. E per questo entrambi, voi e Sally,
+        vedete le modifiche fatte nelle versioni 303 e 98.</para>
+
     </sect2>
 
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.using.concepts">
-      <title>The Key Concepts Behind Branches</title> 
+    <!-- <title>The Key Concepts Behind Branches</title> -->
+      <title>Concetti chiave dietro i rami</title>
 
-      <para>There are two important lessons that you should remember
+      <para lang="en">There are two important lessons that you should remember
         from this section.</para>
 
+      <para>Ci sono due lezioni importanti che covete ricordare
+        da questa sezione.</para>
+
       <orderedlist>
         <listitem>
-          <para>Unlike many other version control systems,
+          <para lang="en">Unlike many other version control systems,
             Subversion's branches exist as <emphasis>normal filesystem
             directories</emphasis> in the repository, not in an extra
             dimension.  These directories just happen to carry some
             extra historical information.</para>
+          <para>Diversamente da molti altri sistemi di controllo di vesione,
+            rami di Subversion esistono  come <emphasis>normali cartelle
+            del filesystem</emphasis> in deposito, non in una dimensione extra.
+            Succede solo che queste cartelle portano qualche
+            storica informazione extra.</para>
         </listitem>
         <listitem>
-          <para>Subversion has no internal concept of a
+          <para lang="en">Subversion has no internal concept of a
             branch&mdash;only copies.  When you copy a directory, the
             resulting directory is only a <quote>branch</quote>
             because <emphasis>you</emphasis> attach that meaning to
@@ -673,6 +717,12 @@
             it differently, but to Subversion it's just an ordinary
             directory that happens to have been created by
             copying.</para>
+          <para>Subversion non ha un concetto interno dei rami&mdash;solo copie.
+            Quando copiate una cartella, la cartella risultante
+            è un <quote>ramo</quote> solo perché <emphasis>voi</emphasis> le date
+            questo significato. Potete pensare alla cartella diversamente o
+            trattarla diversamente, ma per Subversion essa è solo normale
+            cartella, a quall'è successo di esser creata tramite copiatura.</para>
         </listitem>
       </orderedlist>
 
@@ -684,42 +734,69 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.branchmerge.copychanges">
-    <title>Copying Changes Between Branches</title>
+    <!-- <title>Copying Changes Between Branches</title> -->
+    <title>Copiare modifiche tra i rami</title>
 
-    <para>Now you and Sally are working on parallel branches of the
+    <para lang="en">Now you and Sally are working on parallel branches of the
       project: you're working on a private branch, and Sally is
       working on the <firstterm>trunk</firstterm>, or main line of
       development.</para>
 
-    <para>For projects that have a large number of contributors, it's
+    <para>Adesso voi e Sally state lavorando sui rami paralleli del progetto:
+      voi lavorate su un ramo privato e Sally lavora su
+      <firstterm>trunk</firstterm>, o linea principale dello sviluppo.</para>
+
+    <para lang="en">For projects that have a large number of contributors, it's
       common for most people to have working copies of the trunk.
       Whenever someone needs to make a long-running change that is
       likely to disrupt the trunk, a standard procedure is to create a
       private branch and commit changes there until all the work is
       complete.</para>
 
-    <para>So, the good news is that you and Sally aren't interfering
+    <para>Per progetti che hanno grande numero di contribuenti, è comune
+      per molta gente di avere copie di lavoro del trunk.
+      Ogni volta che qualcuno ha bisogno di fare ??long-running? modifiche,
+      che potrebbero disturbare il trunk, procedura standard è di creare
+      un ramo privato e pubblicare (commit) le modifiche là finché tutto
+      il lavoro no è completo.</para>
+
+    <para lang="en">So, the good news is that you and Sally aren't interfering
       with each other.  The bad news is that it's very easy to drift
       <emphasis>too</emphasis> far apart.  Remember that one of the
       problems with the <quote>crawl in a hole</quote> strategy is
       that by the time you're finished with your branch, it may be
       near-impossible to merge your changes back into the trunk
       without a huge number of conflicts.</para>
-    
-    <para>Instead, you and Sally might continue to share changes as
+
+    <para>Allora, la notizia buona è che voi e Sally non vi disturbate
+      a vicenda. La notizia cativa è che è molto facile slittare
+      <emphasis>tropo</emphasis> lontano.  Ricordate che uno dei problemi
+      della strategia <quote>nascondersi in una buca</quote> è
+      che quando avrete finito con il vostro ramo, potrebbe essere
+      quasi impossibile fondere vostre modifiche nel tronco principale senza
+      largo numero di conflitti.</para>
+
+    <para lang="en">Instead, you and Sally might continue to share changes as
       you work.  It's up to you to decide which changes are worth
       sharing; Subversion gives you the ability to selectively
       <quote>copy</quote> changes between branches.  And when you're
       completely finished with your branch, your entire set of branch
       changes can be copied back into the trunk.</para>
-    
+
+    <para>??Instead?, voi e Sally potrette continuare di scambiarsi modifiche
+      mentre lavorate.  Spetta a voi decidere qualle modifiche vale la pena
+      condividere; Subversion vi dà l'abilità di <quote>copiare</quote>
+      modifiche tra i rami selettivamente.  E quando avrete completamente
+      finito con il vostro ramo, vostro completto insieme di modifiche del ramo
+      può essere copiato dietro nel tronco (trunk).</para>
+
 
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.copychanges.specific">
-      <title>Copying Specific Changes</title>
-      
+      <!-- <title>Copying Specific Changes</title> -->
+      <title>Copiare modifiche specifiche</title>
 
-      <para>In the previous section, we mentioned that both you and
+      <para lang="en">In the previous section, we mentioned that both you and
         Sally made changes to <filename>integer.c</filename> on
         different branches.  If you look at Sally's log message for
         revision 344, you can see that she fixed some spelling errors.
@@ -731,7 +808,20 @@
         now, <emphasis>before</emphasis> you start working too heavily
         in the same places.</para>
 
-      <para>It's time to use the <command>svn merge</command> command.
+      <para>Nella precedente sezione, abbiamo menzionato che
+        entrambi, voi e Sally avete fatto modifiche su
+        <filename>integer.c</filename> nei rami diversi.
+        Se date un sguardo al messaggio di log di Sally (versione
+        344), potete vedere che ella ha corretto qualche errore di battitura.
+        Senza dubbio, vostra copy dello stesso file ancora ha gli stessi
+        errori.  È probabile che le vostr future modifich al file toccheranno
+        gli stessi posti che hanno errori di battitura, così sorgeranno alcuni
+        potenziali conflitti, quando un giorno andrete a fondere il vostro ramo.
+        Meglio incorporare le modifiche di Sally adesso
+        <emphasis>prima</emphasis> che cominciate lavoro troppo pesante
+        sugli stessi posti.</para>
+
+      <para lang="en">It's time to use the <command>svn merge</command> command.
         This command, it turns out, is a very close cousin to the
         <command>svn diff</command> command (which you read about in
         Chapter 3).  Both commands are able to compare any two objects
@@ -739,13 +829,21 @@
         you can ask <command>svn diff</command> to show you the exact
         change made by Sally in revision 344:</para>
 
+      <para>È ora di usare comando <command>svn merge</command>.
+        Questo comando, come si vedrà, è cugino molto stretto del
+        comando <command>svn diff</command> (di quale avete letto nel
+        Capitolo 3).  Entrambi comandi sono capaci di comparare aulsiasi
+        due oggetti in deposito e descrivere le differenze. Per esempio,
+        potete chiedere a <command>svn diff</command> di mostrare
+        esatta modifica fatta da Sally nella versione 344:</para>
+
       <screen>
 $ svn diff -r 343:344 http://svn.example.com/repos/calc/trunk
 
 Index: integer.c
 ===================================================================
---- integer.c	(revision 343)
-+++ integer.c	(revision 344)
+--- integer.c   (revision 343)
++++ integer.c   (revision 344)
 @@ -147,7 +147,7 @@
      case 6:  sprintf(info-&gt;operating_system, "HPFS (OS/2 or NT)"); break;
      case 7:  sprintf(info-&gt;operating_system, "Macintosh"); break;
@@ -761,34 +859,39 @@
      high = high &lt;&lt; 8;  /* interpret MSB correctly */
 -    total = low + high; /* add them togethe for correct total */
 +    total = low + high; /* add them together for correct total */
- 
+
      info-&gt;extra_header = (unsigned char *) my_malloc(total);
      fread(info-&gt;extra_header, total, 1, gzfile);
 @@ -241,7 +241,7 @@
       Store the offset with ftell() ! */
- 
+
    if ((info-&gt;data_offset = ftell(gzfile))== -1) {
 -    printf("error: ftell() retturned -1.\n");
 +    printf("error: ftell() returned -1.\n");
      exit(1);
    }
- 
+
 @@ -249,7 +249,7 @@
    printf("I believe start of compressed data is %u\n", info-&gt;data_offset);
    #endif
-   
+
 -  /* Set postion eight bytes from the end of the file. */
 +  /* Set position eight bytes from the end of the file. */
- 
+
    if (fseek(gzfile, -8, SEEK_END)) {
      printf("error: fseek() returned non-zero\n");
 </screen>
-      
-      <para>The <command>svn merge</command> command is almost exactly
+
+      <para lang="en">The <command>svn merge</command> command is almost exactly
         the same.  Instead of printing the differences to your
         terminal, however, it applies them directly to your working
         copy as <emphasis>local modifications</emphasis>:</para>
-    
+
+      <para>Il comando <command>svn merge</command> è quasi esattamente
+        uguale.  Invece di mostrare le differenze sullo schermo
+        terminal, tuttavia, le applica direttamente nella vostra
+        copia di lavoro come <emphasis>modifiche locali</emphasis>:</para>
+
       <screen>
 $ svn merge -r 343:344 http://svn.example.com/repos/calc/trunk
 U  integer.c
@@ -797,7 +900,7 @@
 M  integer.c
 </screen>
 
-      <para>The output of <command>svn merge</command> shows that your
+      <para lang="en">The output of <command>svn merge</command> shows that your
         copy of <filename>integer.c</filename> was patched.  It now
         contains Sally's change&mdash;the change has been
         <quote>copied</quote> from the trunk to your working copy of
@@ -805,24 +908,51 @@
         At this point, it's up to you to review the local modification
         and make sure it works correctly.</para>
 
-      <para>In another scenario, it's possible that things may not have
+      <para>L'output di <command>svn merge</command> mostra che vostra
+        copia di <filename>integer.c</filename> era stata modificata. Adesso
+        contiene le modifiche di Sally&mdash;le modifiche erano state
+        <quote>copiate</quote> dal tronco(trunk) nella copia di lavoro
+        del vostro ramo privato e adesso esistono come modifiche locali.
+        A questo punto, tocca a voi rivedere le modifiche locali ed assicurare
+        che funzionano correttamente.</para>
+
+      <para lang="en">In another scenario, it's possible that things may not have
         gone so well, and that <filename>integer.c</filename> may have
         entered a conflicted state.  You might need to resolve the
         conflict using standard procedures (see Chapter 3), or if you
         decide that the merge was a bad idea altogether, simply give up
         and <command>svn revert</command> the local change.</para>
 
-      <para>But assuming that you've reviewed the merged change, you can
+      <para>In un altro scenario, è possibile che le cose possono no andare
+        cos' bene e perciò <filename>integer.c</filename> può entrare
+        nello stato di conflitto.  Potrette avere bisogno di risolvere
+        il conflitto usando procedure standard (vedi Capitolo 3), oppure
+        se decidete che fusione era una cativa idea ??altogether?,
+        semplicemente ??give up? e scartare con <command>svn revert</command>
+        le modifiche locali.</para>
+
+      <para lang="en">But assuming that you've reviewed the merged change, you can
         <command>svn commit</command> the change as usual.  At that
         point, the change has been merged into your repository branch.
         In version control terminology, this act of copying changes
         between branches is commonly called
         <firstterm>porting</firstterm> changes.</para>
 
-      <para>When you commit the local modification, make sure your log
+      <para>Ma assumendo che avete ispezionato le modifiche incorporate,
+        potete pubblicare modifica con <command>svn commit</command>
+        come al solito. A questo punto, la modifica sarà fusa dentro
+        il vostro ramo del deposito. Nella terminologia di controlo delle
+        versioni, questo atto di copiatura delle modifiche tra i rami
+        è comunemnte chaimato <firstterm>porting</firstterm> dele modifiche.</para>
+
+      <para lang="en">When you commit the local modification, make sure your log
         message mentions that you're porting a specific change from
         one branch to another.  For example:</para>
 
+      <para>Facendo commit delle modifiche locali, assicuratevi che
+        vostro messaggio menziona che state portando una modifica specifica
+        da un ramo ad altro. Per esempio:</para>
+
       <screen>
 $ svn commit -m "integer.c: ported r344 (spelling fixes) from trunk."
 Sending        integer.c
@@ -830,18 +960,28 @@
 Committed revision 360.
 </screen>
 
-      <para>As you'll see in the next sections, this is a very
+      <para lang="en">As you'll see in the next sections, this is a very
         important <quote>best practice</quote> to follow.</para>
 
+      <para>Come verdrete nella prossima sezione, questa è molto importante
+        <quote>regola d'arte</quote> da seguire.</para>
+
       <sidebar>
-        <title>Why Not Use Patches Instead?</title>
-        
-        <para>A question may be on your mind, especially if you're a
+        <!-- <title>Why Not Use Patches Instead?</title> -->
+        <title>Perché non usare invece Patch?</title>
+
+        <para lang="en">A question may be on your mind, especially if you're a
           Unix user: why bother to use <command>svn merge</command> at
           all?  Why not simply use the operating system's
           <command>patch</command> command to accomplish the same job?
           For example:</para>
 
+        <para>Potete pensare a una domanda, specialmente se siete utenti
+          Unix: perchè disturbarsi con <command>svn merge</command>?
+          Perché semplicemente non usare comando di sistema operativo
+          <command>patch</command> per svolgere lo stesso lavoro?
+          Per esempio:</para>
+
         <screen>
 $ svn diff -r 343:344 http://svn.example.com/repos/calc/trunk &gt; patchfile
 $ patch -p0  &lt; patchfile
@@ -853,7 +993,7 @@
 done
 </screen>
 
-        <para>In this particular case, yes, there really is no
+        <para lang="en">In this particular case, yes, there really is no
           difference.  But <command>svn merge</command> has special
           abilities that surpass the <command>patch</command> program.
           The file format used by <command>patch</command> is quite
@@ -874,9 +1014,29 @@
           changes in tree structure and properties by directly applying
           them to your working copy.</para>
 
+        <para>In questo caso particolare, sì, veramente non c'è
+          differenza.  Ma <command>svn merge</command> ha le
+          abilità speciali che sorpassano il programma <command>patch</command>.
+          Formato di file usato da <command>patch</command> è un po'
+          limitato; è capace di maneggare contenuto del file.  Non c'è
+          modo di rappresentare modifiche delle <emphasis>strutture</emphasis>,
+          come aggiunta, rimozione o cambio del nome dei file e delle
+          cartelle.  Se la modifica di Sally ha, diciamo, aggiunto una
+          nuova cartella, output di <command>svn diff</command>
+          non la menziona neanche.  <command>svn
+          diff</command> mostra solo patch-format limitato, così ci sono
+          alcune idee che semplicemente non può esprimere.
+          <footnote>
+            <para>In futuro, progetto Subversion pianifica du usare
+              (o inventare) patch format estesso che descrive modifiche
+              delle struture e properietà.</para>
+          </footnote>
+          Il comando <command>svn merge</command>, tuttavia, può esprimere
+          modifiche della struttura e properietà applicandole direttamente
+          sulla vostra copia di lavoro.</para>
       </sidebar>
-      
-      <para>A word of warning: while <command>svn diff</command> and
+
+      <para lang="en">A word of warning: while <command>svn diff</command> and
         <command>svn merge</command> are very similar in concept, they
         do have different syntax in many cases.  Be sure to read about
         them in Chapter 9 for details, or ask <command>svn
@@ -886,31 +1046,60 @@
         specified, it assumes you are trying to perform one of the
         following common operations:</para>
 
+      <para>Una parola di avvertimento: anche se <command>svn diff</command> e
+        <command>svn merge</command> sono nel concetto molto simili, hanno
+        in molti casi la sintassi diversa.  Assicuratevi di leggere dettagli
+        nel Capitolo 9 o chiedete lumi a <command>svn help</command>.
+        Per esempio, <command>svn merge</command> richiede percorso
+        di copia di lavoro come destinazione, i.e. un posto dove può applicare
+        le modifiche della struttura,
+        it should apply the tree-changes.  Se la destinazione non è specificata,
+        assume che state provando di fare una delle seguenti comuni
+        operazioni:</para>
+
       <orderedlist>
         <listitem>
-          <para>You want to merge directory changes into your current
+          <para lang="en">You want to merge directory changes into your current
             working directory.</para>
+          <para>Volete fondere modifiche delle cartelle nella vostra
+            cartella di lavoro.</para>
         </listitem>
         <listitem>
-          <para>You want to merge the changes in a specific file into
-            a file by the same name which exists in your current working 
+          <para lang="en">You want to merge the changes in a specific file into
+            a file by the same name which exists in your current working
             directory.</para>
+          <para>Volete fondere le modifiche d'un file specifico
+            dentro un file con lo stesso nome che esiste nella vostra
+            cartella di lavoro.</para>
         </listitem>
       </orderedlist>
 
-      <para>If you are merging a directory and haven't specified a
+      <para lang="en">If you are merging a directory and haven't specified a
         target path, <command>svn merge</command> assumes the first case
         above and tries to apply the changes into your current
         directory.  If you are merging a file, and that file (or a file
         by the same name) exists in your current working directory,
         <command>svn merge</command> assumes the second case and tries
         to apply the changes to a local file with the same name.</para>
-      
-      <para>If you want changes applied somewhere else, you'll
+
+      <para>Se state fondendo una cartella e non avete specificato percorso
+        di destinazione, <command>svn merge</command> assume il primo caso
+        sopra e prova applicare le modifiche dentro vostra cartella attuale.
+        Se state fondendo un file e questo file (o un file con lo stesso nome)
+        esiste dentro vostra cartella attuale,
+        <command>svn merge</command> assume il secondo caso e prova
+        applicare le modifiche dentro file locale con lo stesso nome.</para>
+
+      <para lang="en">If you want changes applied somewhere else, you'll
         need to say so.  For example, if you're sitting in the parent
         directory of your working copy, you'll have to specify the
         target directory to receive the changes:</para>
-      
+
+      <para>Se volete applicare le modifiche in un altro posto, dovete dirlo.
+        Per esempio, se siete nella cartella parente della vostra copia di
+        lavoro, dovete specificare cartella destinazione per ricevere
+        le modifiche:</para>
+
       <screen>
 $ svn merge -r 343:344 http://svn.example.com/repos/calc/trunk my-calc-branch
 U   my-calc-branch/integer.c
@@ -920,9 +1109,10 @@
 
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.copychanges.keyconcept">
-      <title>The Key Concept Behind Merging</title>
+<!--       <title>The Key Concept Behind Merging</title> -->
+      <title>Concetto chiave dietro ??Merging?</title>
 
-      <para>You've now seen an example of the <command>svn
+      <para lang="en">You've now seen an example of the <command>svn
           merge</command> command, and you're about to see several
           more.  If you're feeling confused about exactly how merging
           works, you're not alone.  Many users (especially those new
@@ -933,7 +1123,19 @@
           understanding exactly how <command>svn merge</command>
           behaves.</para>
 
-      <para>The main source of confusion is the
+        <para>Abbiamo visto un esempio di comando <command>svn
+            merge</command>, e stiamo per vedere di più.
+          Se vi sentite confusi riguardo come funziona esattamente
+          ??merging?, non siete soli. Molti utenti (specialmente
+          quelli nuovi a cotrollo delle versioni) rimangono inizialmente
+          perplessi riguardo la giusta sintassi del comando e come
+          e quando usare questa caratteristica.
+          ??But fear not?, questo comando è in verità molto più
+          semplice che si pensa. C'è una tecnica molto semplice
+          per capire esattamente come <command>svn merge</command>
+          ??behaves?.</para>
+
+      <para lang="en">The main source of confusion is the
         <emphasis>name</emphasis> of the command.  The term
         <quote>merge</quote> somehow denotes that branches are
         combined together, or that there's some sort of mysterious
@@ -943,25 +1145,40 @@
         two repository trees are compared, and the differences are
         applied to a working copy.</para>
 
-      <para>The command takes three arguments:</para>
+      <para>La fonte primaria della confusione è il
+        <emphasis>nome</emphasis> del comando.  Il termine
+        <quote>merge</quote>(fondere) qualche volta denota che i rami sono
+        combinati tra loro, oppure che ci sta qualche sorta di misterioso
+        ??blending of data going on?.  Non è il caso.  Più appropriato
+        nome per questo comando forse sarebbe
+        <command>svn diff-and-apply</command>(trova-differenze-e-applicale),
+        perché questo è tutto che accade: due strutture del deposito sono comparate
+        e le differenze sono applicate alla copia di lavoro.</para>
+
+      <para lang="en">The command takes three arguments:</para>
+      <para>Il comando prende tre argomenti:</para>
 
       <orderedlist>
 
-        <listitem><para>An initial repository tree (often called the
+        <listitem><para lang="en">An initial repository tree (often called the
         <firstterm>left side</firstterm> of the
-        comparison),</para></listitem>
+        comparison),</para><para>Una struttura del deposito iniziale (spesso chiamata il
+        <firstterm>lato sinistro</firstterm> della comparazione),</para></listitem>
 
-        <listitem><para>A final repository tree (often called the
+        <listitem><para lang="en">A final repository tree (often called the
         <firstterm>right side</firstterm> of the
-        comparison),</para></listitem>
+        comparison),</para><para>Una struttura del deposito finale (spesso chiamata il
+        <firstterm>lato destro</firstterm>  della comparazione),</para></listitem>
 
-        <listitem><para>A working copy to accept the differences as
+        <listitem><para lang="en">A working copy to accept the differences as
         local changes (often called the <firstterm>target</firstterm>
-        of the merge).</para></listitem>
-        
+        of the merge).</para><para>Una copia di lavoro per ricevere le differenze
+        come modifiche locali (spesso chiamata la <firstterm>destinazione</firstterm>
+        della fusione).</para></listitem>
+
       </orderedlist>
 
-      <para>Once these three arguments are specified, the two trees
+    <para lang="en">Once these three arguments are specified, the two trees
         are compared, and the resulting differences are applied to the
         target working copy as local modifications.  When the command
         is done, the results are no different than if you had
@@ -971,21 +1188,35 @@
         you don't like the results, you can simply <command>svn
         revert</command> all of the changes.</para>
 
-      <para>The syntax of <command>svn merge</command> allows you to
+    <para>Una volta specificati questi tre argomenti, le due strutture
+      sono comparate e le differenze risultanti sono applicate
+      alla copia di lavoro destinataria come midifiche locali.
+      Quando il comando finisce il suo lavoro, il risultato non è diverso
+      da come aveste editato i file manualmente o aveste da soli avviato
+      svariati comandi <command>svn add</command> o <command>svn delete</command>.
+      Se il risultato vi piace, potete fare commit. Se non vi piace,
+      con semplice comando <command>svn revert</command> scartate tutte le
+      modifiche.</para>
+
+      <para lang="en">The syntax of <command>svn merge</command> allows you to
         specify the three necessary arguments rather flexibly.  Here
         are some examples:</para>
 
-      <screen>      
+      <para>La sintassi di comando <command>svn merge</command> vi permete
+        di specificare i tre argomenti necessari in modo molto flessibile
+        Qui ci sono alcuni esempi:</para>
+
+      <screen>
 $ svn merge http://svn.example.com/repos/branch1@150 \
             http://svn.example.com/repos/branch2@212 \
             my-working-copy
-            
+
 $ svn merge -r 100:200 http://svn.example.com/repos/trunk my-working-copy
 
 $ svn merge -r 100:200 http://svn.example.com/repos/trunk
 </screen>
 
-      <para>The first syntax lays out all three arguments explicitly,
+      <para lang="en">The first syntax lays out all three arguments explicitly,
         naming each tree in the form <emphasis>URL at REV</emphasis> and
         naming the working copy target.  The second syntax can be used
         as a shorthand for situations when you're comparing two
@@ -993,17 +1224,26 @@
         how the working-copy argument is optional; if omitted, it
         defaults to the current directory.</para>
 
+      <para>La prima sintassi ??lays out? tutti e tre argomenti
+        esplicitamente, nominando ogni struttura in forma <emphasis>URL at REV</emphasis>
+        e nominando la copia di lavoro ricevente. La seconda sintassi
+        può essere usata, quando state comparando due versioni diverse
+        dello stesso URL. L'ultima sintassi mostra che argomento 'copia di lavoro'
+        è facoltativo; se omesso, il suo valore predefinito è la cartella
+        attuale.</para>
 
     </sect2>
-    
+
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.copychanges.bestprac">
-      <title>Best Practices for Merging</title>
+      <!--  <title>Best Practices for Merging</title> -->
+      <title>Regole d'arte per fusione</title>
 
       <sect3 id="svn.branchmerge.copychanges.bestprac.track">
-        <title>Tracking Merges Manually</title>
+        <!--  <title>Tracking Merges Manually</title> -->
+        <title>Tenere a mano traccia delle fusioni</title>
 
-        <para>Merging changes sounds simple enough, but in practice it
+        <para lang="en">Merging changes sounds simple enough, but in practice it
           can become a headache.  The problem is that if you
           repeatedly merge changes from one branch to another, you
           might accidentally merge the same change
@@ -1013,21 +1253,43 @@
           does nothing.  But if the already-existing change has been
           modified in any way, you'll get a conflict.</para>
 
-        <para>Ideally, your version control system should prevent the
+        <para>Fondere modifiche suona abbastanza semplice, ma in prattica
+          può diventare mal di testa.  Il problema è che se ripetutamente
+          fondete modifiche da un ramo ad altro, potete accidentalmente
+          fondere la stessa modifica <emphasis>due volte</emphasis>.
+          Se succede questo, a volte tutto va bene. Quando Subversion applica
+          le modifiche su un file, tipicamente si accorge che il file queste
+          modifiche ha già e non fa niente.  Ma se la già esistente modifica
+          era ulteriormente modificata, otente un conflitto.</para>
+
+        <para lang="en">Ideally, your version control system should prevent the
           double-application of changes to a branch.  It should
           automatically remember which changes a branch has already
           received, and be able to list them for you.  It should use
           this information to help automate merges as much as
           possible.</para>
 
-        <para>Unfortunately, Subversion is not such a system.  Like
+        <para>Idealmente, vostro sistema di controlo delle versioni
+          dovrebbe prevenire la doppia applicazione delle modifiche su un ramo.
+          Dovrebbe automaticamente ricordare quale modifiche il ramo ha già
+          ricevuto ed essere capace di elencarle per voi. Dovrebbe
+          usare queste informazioni per automatizzare le fusioni
+          quanto più possibile.</para>
+
+        <para lang="en">Unfortunately, Subversion is not such a system.  Like
           CVS, Subversion does not yet record any information about
           merge operations.  When you commit local modifications, the
           repository has no idea whether those changes came from
           running <command>svn merge</command>, or from just
           hand-editing the files.</para>
 
-        <para>What does this mean to you, the user?  It means that
+        <para>Sfortunatamente, un sistema così non è Subversion.  Come il
+          CVS, Subversion non memorizza ancora nessuna informazione riguardo
+          operazioni di fusioni.  Quando fatte commit delle modifiche locali,
+          il deposito non ha idea se queste modifiche arrivano da
+          <command>svn merge</command> eseguito o da editazione a mano dei file.</para>
+
+        <para lang="en">What does this mean to you, the user?  It means that
           until the day Subversion grows this feature, you'll have to
           track merge information yourself.  The best place to do this
           is in the commit log-message.  As demonstrated in the
@@ -1040,26 +1302,55 @@
           that won't be redundant with previously ported
           changes.</para>
 
-        <para>In the next section, we'll show some examples of this
+        <para>Che cosa significa questo per voi, utente?  Significa che
+          fino al giorno in cui Subversion avrà questa capacità,
+          dovete traccare informazioni riguardo le fusioni da soli.
+          Il posto migliore dove farlo è messaggio di commit.
+          Come era dimostrato nel esempi precedente, è raccomandato
+          che vostro messaggio manziona specifico numero della revisione
+          (o rango delle revisioni) che state fondendo nel vostro ramo.
+          In futuro potete avviare comando <command>svn log</command>
+          per vedere quale modifiche contiene già il vostro ramo.
+          Questo vi permete di costruire con cura prossimi comandi
+          <command>svn merge</command> che non saranno redundanti
+          con le modifiche già riportate in precedenza.</para>
+
+        <para lang="en">In the next section, we'll show some examples of this
           technique in action.</para>
 
+        <para>Nella prossima sezione mostreremo in azione alcuni esempi
+          di questa tecnica.</para>
+
       </sect3>
-      
+
       <sect3 id="svn.branchmerge.copychanges.bestprac.preview">
-        <title>Previewing Merges</title>
-        
-        <para>Because merging only results in local modifications,
+        <!-- <title>Previewing Merges</title> -->
+        <title>Anteprima delle fusioni</title>
+
+        <para lang="en">Because merging only results in local modifications,
           it's not usually a high-risk operation.  If you get the
           merge wrong the first time, simply <command>svn
-          revert</command> the changes and try again.</para>
-        
-        <para>It's possible, however, that your working copy might
+            revert</command> the changes and try again.</para>
+
+        <para>Perché risultato delle fusioni sono soltanto
+          le modifiche locali, questa non è normalmente una operazione
+          ad alto rischio.  Se vi capita di fondere male prima volta,
+          semplicemente buttate via le modifiche, <command>svn
+          revert</command> e provate di nuovo.</para>
+
+        <para lang="en">It's possible, however, that your working copy might
           already have local modifications.  The changes applied by a
           merge will be mixed with your pre-existing ones, and running
           <command>svn revert</command> is no longer an option.  The
           two sets of changes may be impossible to separate.</para>
 
-        <para>In cases like this, people take comfort in being able to
+        <para>È possibile, comunque, che vostra copia di lavoro contiene anche
+          le modifiche locali. Le modifiche applicate da merge saranno mischiate
+          tra le vostre e avviare comando <command>svn revert</command> non è
+          più un ascelta pratticabile.  Potrebbe essere impossibile separare
+          i due insiemi delle modifiche.</para>
+
+        <para lang="en">In cases like this, people take comfort in being able to
           predict or examine merges before they happen.  One simple
           way to do that is to run <command>svn diff</command> with
           the same arguments you plan to pass to <command>svn
@@ -1068,15 +1359,30 @@
           <option>--dry-run</option> option to the merge
           command:</para>
 
-        <screen>
+        <para>In casi come questo, le persone si confortano con la possibilità
+          di prevedere o esaminare fusione prima che accade. Un semplice
+          modo per farlo è avviare <command>svn diff</command>
+          con gli stessi argomenti che avete in mente di passare a
+          <command>svn merge</command>, come abbiamo già mostrato nel nostro
+          primo esempio. Altro metodo di anteprima è aggiungere la opzione
+          <option>--dry-run</option>(a secco) al comando merge:</para>
+
+<!--        <screen>
 $ svn merge --dry-run -r 343:344 http://svn.example.com/repos/calc/trunk
 U  integer.c
 
 $ svn status
 #  nothing printed, working copy is still unchanged.
+</screen>-->
+<screen>
+  $ svn merge --dry-run -r 343:344 http://svn.example.com/repos/calc/trunk
+  U  integer.c
+
+  $ svn status
+  # non stampa niente, copia di lavoro è ancora intatta.
 </screen>
 
-        <para>The <option>--dry-run</option> option doesn't actually
+        <para lang="en">The <option>--dry-run</option> option doesn't actually
           apply any local changes to the working copy.  It only shows
           status codes that <emphasis>would</emphasis> be printed in a
           real merge.  It's useful for getting a <quote>high
@@ -1084,12 +1390,20 @@
           times when running <command>svn diff</command> gives too
           much detail.</para>
 
+        <para>La opzione <option>--dry-run</option> in verità non applica
+          nessuna modifica locale alla copia di lavoro.  Mostra solo output
+          che <emphasis>sarebbe</emphasis> mostrato con la fusione vera.
+          Questo è utile per avere una previsione ad <quote>alto
+          livello</quote> della potenziale fusione, per quelle volte dove
+          comando <command>svn diff</command> dà troppi dettagli.</para>
+
       </sect3>
 
       <sidebar>
-        <title>Subversion and Changesets</title>
+        <!-- <title>Subversion and Changesets</title> -->
+        <title>Subversion e gli changeset</title>
 
-        <para>Everyone seems to have a slightly different definition
+        <para lang="en">Everyone seems to have a slightly different definition
           of <quote>changeset</quote>, or at least a different
           expectation of what it means for a version control system to
           have <quote>changeset features</quote>.  For our purpose,
@@ -1099,7 +1413,18 @@
           to metadata.  In more common speak, a changeset is just a
           patch with a name you can refer to.</para>
 
-        <para>In Subversion, a global revision number N names a tree
+        <para>Sembra che ciascuno ha la definizione degli
+           <quote>changeset</quote> legermente diversa, o almeno
+          diverse aspettative di che cosa significa per sistema
+          di controlo delle versioni avere <quote>capacità di changeset</quote>
+          (insieme delle modifiche). Per nostro scopo, diciamo che un
+          changeset è solo una collezione delle modifiche
+          con un nome unico.  Le modifiche possono includere editazioni testuali
+          del contenuto dei file, modificazioni della struttura o cambiamenti
+          dei metadati. In parole povere, un changeset è solo un
+          ??patch? con nome con quale portremo riferirsi ad esso.</para>
+
+        <para lang="en">In Subversion, a global revision number N names a tree
           in the repository: it's the way the repository looked after
           the Nth commit.  It's also the name of an implicit
           changeset: if you compare tree N with tree N-1, you can
@@ -1117,19 +1442,44 @@
           from one branch to another by naming them in the merge
           arguments: <command>svn merge -r9237:9238</command> would
           merge changeset #9238 into your working copy.</para>
+
+        <para>In Subversion, numero globale di versione N nomina una struttura
+          in deposito: modo in quale il deposito appare dopo Nessimo commit.
+          Ed è anche il nome di un implicito changeset: comparando struttura
+          N con struttura N-1, potete ricavare esatto ??patch? che era applicato.
+          Per questa ragione è semplice pensare <quote>revisione N</quote> non
+          solo come struttura ma nello stesso modo changeset. ##### If you use an issue
+          tracker to manage bugs, you can use the revision numbers to
+          refer to particular patches that fix bugs&mdash;for example,
+          <quote>this issue was fixed by revision 9238.</quote>.
+          Somebody can then run <command>svn log -r9238</command> to
+          read about the exact changeset which fixed the bug, and run
+          <command>svn diff -r9237:9238</command> to see the patch
+          itself.  And Subversion's <literal>merge</literal> command
+          also uses revision numbers.  You can merge specific changesets
+          from one branch to another by naming them in the merge
+          arguments: <command>svn merge -r9237:9238</command> would
+          merge changeset #9238 into your working copy.</para>
       </sidebar>
 
       <sect3 id="svn.branchmerge.copychanges.bestprac.merge">
-        <title>Merge Conflicts</title>
+        <!-- <title>Merge Conflicts</title> -->
+        <title>Conflitti delle fusioni</title>
 
-        <para>Just like the <command>svn update</command> command,
+        <para lang="en">Just like the <command>svn update</command> command,
           <command>svn merge</command> applies changes to your working
           copy.  And therefore it's also capable of creating
           conflicts.  The conflicts produced by <command>svn
-          merge</command>, however, are sometimes different, and this
+            merge</command>, however, are sometimes different, and this
           section explains those differences.</para>
 
-        <para>To begin with, assume that your working copy has no
+        <para>Così come comando <command>svn update</command>,
+          anche <command>svn merge</command> applica modifiche alla vostra
+          copia di lavoro. E perciò è capace generare conflitti. I conflitti
+          prodotti da <command>svn merge</command>, tuttavia, sono a volte
+          diversi e questa sezione spiega queste differenze.</para>
+
+        <para lang="en">To begin with, assume that your working copy has no
           local edits.  When you <command>svn update</command> to a
           particular revision, the changes sent by the server will
           always apply <quote>cleanly</quote> to your working copy.
@@ -1140,7 +1490,18 @@
           delta is guaranteed to correctly convert your working copy
           into the right-hand tree.</para>
 
-        <para>But <command>svn merge</command> has no such guarantees
+        <para>Per cominciare, si assume che vostra copia di lavoro
+          non ha editazioni locali. Quando la aggiornate (<command>svn update</command>)
+          ad una perticolare revisione, le modifiche mandate dal server
+          si applicano sempre alla vostra copia di lavoro in modo
+          <quote>pulito</quote>.
+          Il server produce un ??delta? comparando due strutture: un'instantanea
+          virtuale della vostra copia di lavoro e struttura della revisione a quale
+          siete interessati. Perché lato sinistra della comparazione è uguale
+          a quel che già avete il delta garantisce di dorrettamente convertire
+          vostra copia di lavoro nella struttura di lato destra.</para>
+
+        <para lang="en">But <command>svn merge</command> has no such guarantees
           and can be much more chaotic: the user can ask the server to
           compare <emphasis>any</emphasis> two trees at all, even ones
           that are unrelated to the working copy!  This means there's
@@ -1153,6 +1514,20 @@
           <quote>failed hunks</quote>, <command>svn merge</command>
           will complain about <quote>skipped targets</quote>:</para>
 
+        <para>Ma <command>svn merge</command> non ha tali garanzie
+          e può essere più caotico: utente può chidere al server di
+          comparare <emphasis>qualsiasi</emphasis> due strutture, anche
+          tali che non hanno nessun legame con la copia di lavoro.
+          Questo significa che qui c'è largo potenziale per errori umani.
+          Utenti possono a volte comparare due strutture sbagliate,
+          creando delta che non si applica pulitamente.
+          <command>svn merge</command> farà il meglio per applicare più
+          possibile il delta, ma su alcune parti questo potrà essere
+          impossibile. Nello stesso modo come comando Unix
+          <command>patch</command> a volte si lamenta di ??<quote>failed hunks</quote>?,
+          <command>svn merge</command> può accusare <quote>skipped targets</quote>
+          (destinazioni saltate):</para>
+
         <screen>
 $ svn merge -r 1288:1351 http://svn.example.com/repos/branch
 U  foo.c
@@ -1164,7 +1539,7 @@
 $
 </screen>
 
-        <para>In the previous example it might be the case that
+        <para lang="en">In the previous example it might be the case that
           <filename>baz.c</filename> exists in both snapshots of the
           branch being compared, and the resulting delta wants to
           change the file's contents, but the file doesn't exist in
@@ -1178,7 +1553,21 @@
           revert, and re-run <command>svn merge</command> with
           different arguments.</para>
 
-        <para>Also notice that the previous example shows a conflict
+        <para>Nel esempio precedente può essere caso che
+          <filename>baz.c</filename> esiste in entrambe instantanee del
+          ramo comparato e delta risultante vuole cambiare il contenuto del
+          file, ma il file non esiste nella copia di lavoro.
+          Qualunque sia causa, il messaggio
+          <quote>skipped</quote>(saltato) significa che
+          con alta probabilità utente sta comparando le strutture sbagliate;
+          questo è un segno classico del 'errore del conducente'.
+          Quando accade ciò, è semplice invertire ricorsivamente tutte le
+          modifiche create dalla fusione (<command>svn revert --recursive</command>),
+          cancellare ogni file o cartella rimasta senza controllo delle versioni
+          dopo revert e rifare <command>svn merge</command> con argomenti
+          diversi.</para>
+
+        <para lang="en">Also notice that the previous example shows a conflict
           happening on <filename>glorb.h</filename>.  We already
           stated that the working copy has no local edits: how can a
           conflict possibly happen?  Again, because the user can use
@@ -1187,7 +1576,16 @@
           changes that don't cleanly apply to a working file, even if
           the file has no local modifications.</para>
 
-        <para>Another small difference between <command>svn
+        <para>Notare ancora che precedente esempio mostra un conflitto
+          accaduto su <filename>glorb.h</filename>.  Abbiamo già stabilito
+          che copia di lavoro non ha editazioni locali: come può allora
+          accadere un conflitto?  Di nuovo, perché l'utente può usare
+          <command>svn merge</command> per definire ed applicare qualsiasi
+          delta vecchio a copia di lavoro, tale delta può contenere modifiche
+          testuali che non si applicano in modo pulito al file di lavoro,
+          anche se il file non ha le modifiche locali.</para>
+
+        <para lang="en">Another small difference between <command>svn
           update</command> and <command>svn merge</command> are the
           names of the full-text files created when a conflict
           happens.  In <xref linkend="svn.tour.cycle.resolve"/>, we saw
@@ -1206,19 +1604,45 @@
           update versus ones that happened as a result of a
           merge.</para>
 
+        <para>Altra piccola differenza tra <command>svn u