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

bpietro noreply at red-bean.com
Thu Aug 10 05:03:55 CDT 2006


Author: bpietro
Date: Thu Aug 10 05:03:54 2006
New Revision: 2383

Modified:
   trunk/src/it/book/ch04.xml

Log:
first part (15%) translated

Modified: trunk/src/it/book/ch04.xml
==============================================================================
--- trunk/src/it/book/ch04.xml	(original)
+++ trunk/src/it/book/ch04.xml	Thu Aug 10 05:03:54 2006
@@ -1,47 +1,76 @@
 <chapter id="svn.branchmerge">
-  <title>Branching and Merging</title>
+  <title>Ramificazioni e fusioni</title>
 
   <simplesect>
 
-    <para>Branching, tagging, and merging are concepts common to
+    <para lang="en">Branching, tagging, and merging are concepts common to
       almost all version control systems.  If you're not familiar with
       these ideas, we provide a good introduction in this chapter.  If
       you are familiar, then hopefully you'll find it interesting to
       see how Subversion implements these ideas.</para>
 
-    <para>Branching is a fundamental part of version control.  If
+    <para>Ramificazioni, etichette e fusioni sono concetti comuni a
+      quasi tutti sistemi di controllo di versione.  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
       assumes that you're already familiar with Subversion's basic
       concepts (<xref linkend="svn.basic"/>).</para>
 
+    <para>Ramificazioni sono la parte fondamentale di controlo delle versioni.
+      Se state per permettere a Subversion di maneggiare i vostri dati,
+      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>
 
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.branchmerge.whatis">
-    <title>What's a Branch?</title> 
+    <title>Che cos'è un ramo?</title>
 
-    <para>Suppose it's your job to maintain a document for a division
+    <para lang="en">Suppose it's your job to maintain a document for a division
       in your company, a handbook of some sort.  One day a different
       division asks you for the same handbook, but with a few parts
       <quote>tweaked</quote> for them, since they do things slightly
       differently.</para>
 
-    <para>What do you do in this situation?  You do the obvious thing:
+    <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>
+    
+    <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
       small changes, you incorporate them into one copy or the
       other.</para>
 
-    <para>You often want to make the same change to both copies.  For
+    <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
+      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
       documents are almost the same, after all; they only differ in
       small, specific ways.</para>
 
-    <para>This is the basic concept of a
+    <para>Spesso vi capita di dover fare lo stesso cambiamento in tutte e due
+      copie. Per es. avete scoperto errore di battitura nella prima copia,
+      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>—namely, a line of
       development that exists independently of another line, yet still
       shares a common history if you look far enough back in time.  A
@@ -49,12 +78,20 @@
       from there, generating its own history (see <xref
       linkend="svn.branchmerge.whatis.dia-1"/>).</para>
 
+    <para>Questo è il concetto base di
+      <firstterm>ramo</firstterm>—leteralmente, una linea di
+      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
+      (vedi <xref linkend="svn.branchmerge.whatis.dia-1"/>).</para>
+
       <figure id="svn.branchmerge.whatis.dia-1">
-        <title>Branches of development</title>
+        <title>Rami di sviluppo</title>
         <graphic fileref="images/ch04dia1.png"/>
       </figure>
 
-    <para>Subversion has commands to help you maintain parallel
+    <para lang="en">Subversion has commands to help you maintain parallel
       branches of your files and directories.  It allows you to create
       branches by copying your data, and remembers that the copies are
       related to one another.  It also helps you duplicate changes
@@ -63,20 +100,33 @@
       <quote>mix and match</quote> different lines of development in
       your daily work.</para>
 
+    <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>mischiare e ?match?</quote>
+      le linee differenti dello sviluppo nel vostro lavoro giornaliero.</para>
+  
   </sect1>
   
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.branchmerge.using">
-    <title>Using Branches</title> 
+    <title>Usare i rami</title>
 
-    <para>At this point, you should understand how each commit creates
+    <para lang="en">At this point, you should understand how each commit creates
       an entire new filesystem tree (called a <quote>revision</quote>)
       in the repository.  If not, go back and read about revisions in
       <xref linkend="svn.basic.in-action.revs"/>.</para>
 
-    <para>For this chapter, we'll go back to the same example from
+    <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>
+    
+    <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,
       <filename>paint</filename> and <filename>calc</filename>.
@@ -85,12 +135,21 @@
       <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,
+      <filename>paint</filename> e <filename>calc</filename>.
+      Da notare che in <xref linkend="svn.branchmerge.using.dia-1"/>, comunque,
+      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">
         <title>Starting repository layout</title>
         <graphic fileref="images/ch04dia2.png"/>
       </figure>
 
-    <para>As before, assume that Sally and you both have working
+    <para lang="en">As before, assume that Sally and you both have working
       copies of the <quote>calc</quote> project.  Specifically, you
       each have a working copy of <filename>/calc/trunk</filename>.
       All the files for the project are in this subdirectory rather
@@ -99,7 +158,15 @@
       <quote>main line</quote> of development is going to take
       place.</para>
 
-    <para>Let's say that you've been given the task of performing a
+    <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>.
+      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
       problem here is that you don't want to interfere with Sally, who
@@ -109,7 +176,15 @@
       start committing your changes bit-by-bit, you'll surely break
       things for Sally.</para>
 
-    <para>One strategy is to crawl into a hole: you and Sally can stop
+    <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
+      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>
+    
+    <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
       commit or update until you're completely finished with the task.
@@ -133,18 +208,51 @@
       copy—especially if you run <command>svn update</command>
       after weeks of isolation.</para>
 
-    <para>The better solution is to create your own branch, or line of
+    <para>Una strategia è ?crawl into a hole?: voi e Sally smettete
+      di condividere le informazioni per una settimana o due.
+      Proprio così, cominciate ??gutting? e riorganizzare tutti i file
+      nella vostra copia di lavoro ma senza commit oppure update finché
+      non avrete complettamente finito il vostro lavoro.
+      C'è un numero di problemi con questo, ??though?. Prima, non è
+      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
+      (magari avete le copie di lavoro del <filename>/calc/trunk</filename>
+      su due macchine differenti), 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
+      nel sviluppo del software è permettere a vostri compagni di vedere
+      il vostro lavoro man mano come procede. Se nessuno vede i vostri
+      commit intermediari, avete perso potenziale ??feedback?.
+      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
+      lavoro—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
       you can still selectively share information with your
       collaborators.  You'll see exactly how this works later
       on.</para>
 
+    <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,
+      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>Creating a Branch</title> 
+      <title>Creare un ramo</title>
       
-      <para>Creating a branch is very simple—you make a copy of
+      <para lang="en">Creating a branch is very simple—you make a copy of
         the project in the repository using the <command>svn
         copy</command> command.  Subversion is not only able to copy
         single files, but whole directories as well.  In this case,
@@ -160,11 +268,29 @@
         begins its life as a copy of
         <filename>/calc/trunk</filename>.</para>
 
-      <para>There are two different ways to make a copy.  We'll
+      <para>Creare un ramo è molto semplice—fatte una copia di progetto
+        in deposito usando il comando <command>svn copy</command>.
+        Subversion è capace non solo di copiare i singoli file,
+        ma anche intere cartelle. Nel nostro caso, volete fare una copia
+        della cartella <filename>/calc/trunk</filename>. Dove la mettiamo?
+        Ovunque dove volete—è ??matter? di politica del progetto.
+        Diciamo che il vostro team ha stabilito la politica di creare rami
+        nella area del deposito <filename>/calc/branches</filename>,
+        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>
+      
+      <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
+        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/
@@ -175,10 +301,13 @@
 Checked out revision 340.
 </screen>
 
-      <para>Making a copy is now simply a matter of passing two
+      <para lang="en">Making a copy is now simply a matter of passing two
         working-copy paths to the <command>svn copy</command>
         command:</para>
 
+      <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
@@ -186,7 +315,7 @@
 A  +   branches/my-calc-branch
 </screen>
 
-      <para>In this case, the <command>svn copy</command> command
+      <para lang="en">In this case, the <command>svn copy</command> command
         recursively copies the <filename>trunk</filename> working
         directory to a new working directory,
         <filename>branches/my-calc-branch</filename>.  As you can see
@@ -201,16 +330,33 @@
         than resending all of the working copy data over the
         network:</para>
 
+      <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>,
+        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>
+        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
 Committed revision 341.
 </screen>
 
-      <para>And now the easier method of creating a branch, which we
+      <para lang="en">And now the easier method of creating a branch, which we
         should have told you about in the first place: <command>svn
         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
+        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 \
@@ -219,7 +365,7 @@
 Committed revision 341.
 </screen>
 
-      <para>There's really no difference between these two methods.
+      <para lang="en">There's really no difference between these two methods.
         Both procedures create a new directory in revision 341, and
         the new directory is a copy of
         <filename>/calc/trunk</filename>.  This is shown in <xref
@@ -236,15 +382,31 @@
         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> 
+          <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
+            copiare elementi solo dentro lo stesso deposito.</para>
+        </footnote>
+        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>Repository with new copy</title>
+        <title>Deposito con la nuova copia</title>
         <graphic fileref="images/ch04dia3.png"/>
       </figure>
       
       <sidebar>
-        <title>Cheap Copies</title>
+        <title>Le copie economiche</title>
                 
-        <para>Subversion's repository has a special design.  When you
+        <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—Subversion doesn't actually
           duplicate any data.  Instead, it creates a new directory
@@ -257,7 +419,19 @@
           links to the original files in the original
           directory.</para>
       
-        <para>This is why you'll often hear Subversion users talk
+        <para>Il deposito di Subversion ha un design speciale.
+          Quando si fa la copia della cartella, non dovete preoccuparvi
+          della massice crescita del deposito—Subversion in verità
+          non dupplica nessun dato. Al posto di copia crea solo nuova voce
+          nella cartella, che punta su albero <emphasis>esistente</emphasis>.
+          Se siete utenti di Unix, questo è lo stesso concetto di
+          hard-link. Da qui in poi, la copia è, diciamo, <quote>pigra</quote>.
+          Proprio così, facendo commit di qualche cambiamento di un file
+          della cartella copiata, solo quel file cambia—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—it takes a very tiny, constant
           amount of time to make a copy of it.  In fact, this feature
@@ -268,22 +442,42 @@
           the <quote>bubble up</quote> method in Subversion's design
           documents.)</para>
 
-        <para>Of course, these internal mechanics of copying and
+        <para>E per questo spesso sentirette utenti di Subversion parlare
+          delle <quote>copie economiche</quote>. Non importa quanto è
+          grande la cartella—fare la sua copia prende sempre
+          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 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 inteno 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
+          che volete.</para>
       </sidebar>
 
     </sect2>
     
     <!-- =============================================================== -->
     <sect2 id="svn.branchmerge.using.work">
-      <title>Working with Your Branch</title> 
+      <title>Lavorare con il vostro ramo</title>
 
-      <para>Now that you've created a branch of the project, you can
+      <para lang="en">Now that you've created a branch of the project, you can
         check out a new working copy to start using it:</para>
 
+      <para>Adesso che avete creato un ramo del progetto, potete tirare fuori
+        (check out) una nuova copia di lavoro per comincar ad usarla:</para>
+      
       <screen>
 $ svn checkout http://svn.example.com/repos/calc/branches/my-calc-branch
 A  my-calc-branch/Makefile
@@ -292,6 +486,15 @@
 Checked out revision 341.
 </screen>
 
+      <para lang="en">There's nothing special about this working copy; it simply
+        mirrors a different directory in the repository.  When you
+        commit changes, however, Sally won't ever see them when she
+        updates.  Her working copy is of
+        <filename>/calc/trunk</filename>.  (Be sure to read <xref
+        linkend="svn.branchmerge.switchwc"/> later in this chapter: the
+        <command>svn switch</command> command is an alternate way of
+        creating a working copy of a branch.)</para>
+
       <para>There's nothing special about this working copy; it simply
         mirrors a different directory in the repository.  When you
         commit changes, however, Sally won't ever see them when she
@@ -2082,7 +2285,8 @@
   <!-- ================================================================= -->
   <!-- ================================================================= -->
   <sect1 id="svn.branchmerge.summary">
-    <title>Summary</title>
+  <!--  <title>Summary</title>  -->
+    <title>Sommario</title>
 
     <para>We've covered a lot of ground in this chapter.  We've
       discussed the concepts of tags and branches, and demonstrated
@@ -2095,9 +2299,12 @@
       might manage the organization and lifetimes of branches in a
       repository.</para>
 
-    <para>Remember the Subversion mantra: branches and tags are cheap.
+    <para lang="en">Remember the Subversion mantra: branches and tags are cheap.
       So use them liberally!</para>
 
+    <para>Ricordate il mantra di Subversion: rami ed etichette sono a basso costo.
+      Allora usateli liberalmente!</para>
+    
   </sect1>
 
 </chapter>




More information about the svnbook-dev mailing list