hgbook

changeset 792:5b79834be9a6

Minor changes and translation of code snippets for Ch.8.
author Giulio@puck
date Wed Aug 12 16:44:35 2009 +0200 (2009-08-12)
parents bf84d6b2281c
children d4de8d288ba6
files it/ch08-branch.xml it/examples/auto-snippets.xml it/examples/branch-named.branch.it it/examples/branch-named.branches.it it/examples/branch-named.commit.it it/examples/branch-named.create.it it/examples/branch-named.foo-commit.it it/examples/branch-named.merge.it it/examples/branch-named.parents.it it/examples/branch-named.rebranch.it it/examples/branch-named.status.it it/examples/branch-named.update-nothing.it it/examples/branch-named.update-switchy.it it/examples/branch-repo.bugfix.it it/examples/branch-repo.clone.it it/examples/branch-repo.merge.it it/examples/branch-repo.new.it it/examples/branch-repo.pull.it it/examples/branch-repo.tag.it it/examples/tag.init.it it/examples/tag.log.it it/examples/tag.log.v1.0.it it/examples/tag.remove.it it/examples/tag.replace.it it/examples/tag.tag.it it/examples/tag.tags.it it/examples/tag.tip.it
line diff
     1.1 --- a/it/ch08-branch.xml	Tue Aug 11 23:01:30 2009 +0200
     1.2 +++ b/it/ch08-branch.xml	Wed Aug 12 16:44:35 2009 +0200
     1.3 @@ -6,13 +6,14 @@
     1.4  
     1.5    <para id="x_36a">Molti progetti software distribuiscono periodicamente release principali (o <quote>maggiori</quote>) che contengono nuove funzionalità sostanziali. In parallelo, possono distribuire release secondarie (o <quote>minori</quote>) che di solito sono identiche alle release principali su cui sono basate e in più contengono alcune correzioni di bug.</para>
     1.6  
     1.7 -  <para id="x_36b">In questo capitolo, cominceremo parlando di come mantenere una registrazione delle milestone di progetto come le release. Poi, continueremo parlando del flusso di lavoro tra fasi differenti di un progetto e di come Mercurial può aiutarvi a isolare e gestire questo lavoro.</para>
     1.8 +  <para id="x_36b">In questo capitolo, cominceremo parlando di come mantenere una registrazione delle milestone di progetto come le release, poi continueremo parlando del flusso di lavoro tra fasi differenti di un progetto e di come Mercurial può aiutarvi a isolare e gestire questo lavoro.</para>
     1.9  
    1.10    <sect1>
    1.11      <title>Dare un nome persistente a una revisione</title>
    1.12  
    1.13 -    <para id="x_36c">Una volta che avete deciso che vi piacerebbe chiamare <quote>release</quote> una particolare revisione, è una buona idea registrare l'identità di quella revisione. Questo vi permetterà di riprodurre quella release in un momento successivo, per qualsiasi scopo abbiate bisogno di raggiungere in quel momento (riprodurre un bug, convertirla verso una nuova piattaforma, etc).</para>
    1.14 -      &interaction.tag.init;
    1.15 +    <para id="x_36c">Una volta che avete deciso che vi piacerebbe chiamare <quote>release</quote> una particolare revisione, è una buona idea registrare l'identità di quella revisione. Questo vi permetterà di riprodurre quella release in un momento successivo, qualsiasi sia lo scopo che avete bisogno di raggiungere in quel momento (riprodurre un bug, convertirla verso una nuova piattaforma, etc).</para>
    1.16 +
    1.17 +    &interaction.tag.init;
    1.18  
    1.19      <para id="x_36d">Mercurial vi consente di dare un nome permanente a qualsiasi revisione usando il comando <command role="hg-cmd">hg tag</command>. Ovviamente, questi nomi sono chiamati <quote>etichette</quote> (in inglese, appunto, tag).</para>
    1.20  
    1.21 @@ -48,7 +49,7 @@
    1.22  
    1.23      <para id="x_377">Non c'è alcun limite al numero di etichette che potete avere in un repository, o al numero di etichette che una singola revisione può avere. Nella pratica, non è una grande idea averne <quote>troppe</quote> (un numero che varierà da progetto a progetto), semplicemente perché le etichette sono pensate per aiutarvi a rintracciare le revisioni: se avete molte etichette, la comodità di usarle per identificare le revisioni diminuisce rapidamente.</para>
    1.24  
    1.25 -    <para id="x_378">Per esempio, se il vostro progetto definisce nuove milestone con una frequenza di alcuni giorni, è perfettamente ragionevole dotare ognuna di un'etichetta. Ma se avete un sistema di assemblaggio continuo che si assicura di poter assemblare ogni revisione in modo pulito, introdurreste troppo rumore se etichettaste ogni assemblaggio pulito. Invece, potreste etichettare gli assemblaggi falliti (supponendo che siano rari!) o semplicemente evitare di usare le etichette per tenere traccia degli assemblaggi.</para>
    1.26 +    <para id="x_378">Per esempio, se il vostro progetto definisce nuove milestone con una frequenza di alcuni giorni, è perfettamente ragionevole dotare ognuna di un'etichetta. Ma se avete un sistema di assemblaggio continuo che si assicura di poter assemblare ogni revisione in modo pulito, introdurreste troppo rumore etichettando ogni assemblaggio pulito. Invece, potreste etichettare gli assemblaggi falliti (supponendo che siano rari!) o semplicemente evitare di usare le etichette per tenere traccia degli assemblaggi.</para>
    1.27  
    1.28      <para id="x_379">Se volete rimuovere un'etichetta che non volete più, usate <command role="hg-cmd">hg tag --remove</command>.</para>
    1.29  
    1.30 @@ -60,18 +61,18 @@
    1.31  
    1.32      <para id="x_37b">La precedente identità dell'etichetta rimarrà permanentemente registrata, ma Mercurial non la userà più. Quindi non c'è alcuna penalità da pagare se etichettate la revisione sbagliata, ma tutto quello che dovete fare dopo aver scoperto il vostro errore è tornare sui vostri passi ed etichettare la revisione corretta.</para>
    1.33  
    1.34 -    <para id="x_37c">Mercurial memorizza le etichette nel vostro repository in un file ordinario soggetto al controllo di revisione. Troverete le etichette che avete creato in un file chiamato <filename role="special">.hgtags</filename> alla radice del vostro repository. Quando eseguite il comando <command role="hg-cmd">hg tag</command>, Mercurial modifica questo file, poi ne effettua automaticamente il commit registrandone i cambiamenti. Questo significa che ad ogni esecuzione di <command role="hg-cmd">hg tag</command> corrisponderà un changeset nell'elenco mostrato da <command role="hg-cmd">hg log</command>.</para>
    1.35 +    <para id="x_37c">Mercurial memorizza le etichette nel vostro repository in un normale file soggetto al controllo di revisione. Troverete le etichette che avete creato in un file chiamato <filename role="special">.hgtags</filename> alla radice del vostro repository. Quando eseguite il comando <command role="hg-cmd">hg tag</command>, Mercurial modifica questo file, poi ne effettua automaticamente il commit registrandone i cambiamenti. Questo significa che ad ogni esecuzione di <command role="hg-cmd">hg tag</command> corrisponderà un changeset nell'elenco mostrato da <command role="hg-cmd">hg log</command>.</para>
    1.36  
    1.37      &interaction.tag.tip;
    1.38  
    1.39      <sect2>
    1.40        <title>Gestire i conflitti di etichette durante un'unione</title>
    1.41  
    1.42 -      <para id="x_37d">Avrete raramente bisogno di preoccuparvi del file <filename role="special">.hgtags</filename>, ma talvolta la sua presenza si farà sentire durante un'unione. Il formato del file è semplice: consiste di una serie di righe, ognuna delle quali comincia con un hash di changeset, seguito da uno spazio, seguito dal nome di un'etichetta.</para>
    1.43 +      <para id="x_37d">Avrete raramente bisogno di preoccuparvi del file <filename role="special">.hgtags</filename>, ma talvolta la sua presenza si farà sentire durante un'unione. Il formato del file è semplice: consiste in una serie di righe, ognuna delle quali comincia con un hash di changeset, seguito da uno spazio, seguito dal nome di un'etichetta.</para>
    1.44  
    1.45        <para id="x_37e">Se state risolvendo un conflitto nel file <filename role="special">.hgtags</filename> durante un'unione, c'è una particolarità da ricordare quando modificate il file <filename role="special">.hgtags</filename>: quando Mercurial sta analizzando le etichette in un repository, non legge <emphasis>mai</emphasis> la copia di lavoro del file <filename role="special">.hgtags</filename>, ma legge la revisione del file <emphasis>registrata più recentemente</emphasis>.</para>
    1.46  
    1.47 -      <para id="x_37f">Una sfortunata conseguenza di questo comportamento è che non potete verificare la correttezza del file <filename role="special">.hgtags</filename> risultato dall'unione se non <emphasis>dopo</emphasis> aver effettuato il commit di un cambiamento. Quindi, se vi trovate a risolvere un conflitto su <filename role="special">.hgtags</filename> durante un'unione, assicuratevi di eseguire <command role="hg-cmd">hg tags</command> dopo aver effettuato il commit. Se il comando trova un errore nel file <filename role="special">.hgtags</filename>, riporterà la posizione dell'errore, che potrete dunque correggere, registrando la correzione nel repository. Dovreste poi eseguire ancora <command role="hg-cmd">hg tags</command>, giusto per essere sicuri che la vostra correzione sia giusta.</para>
    1.48 +      <para id="x_37f">Una sfortunata conseguenza di questo comportamento è che non potete verificare la correttezza del file <filename role="special">.hgtags</filename> risultato dall'unione se non <emphasis>dopo</emphasis> aver effettuato il commit di un cambiamento. Quindi, se vi trovate a risolvere un conflitto su <filename role="special">.hgtags</filename> durante un'unione, assicuratevi di eseguire <command role="hg-cmd">hg tags</command> dopo aver effettuato il commit. Se il comando trova un errore nel file <filename role="special">.hgtags</filename>, vi indicherà la posizione dell'errore, che potrete dunque correggere, registrando la correzione nel repository. Dovreste poi eseguire ancora <command role="hg-cmd">hg tags</command>, giusto per essere sicuri che la vostra correzione sia giusta.</para>
    1.49      </sect2>
    1.50  
    1.51      <sect2>
    1.52 @@ -95,7 +96,7 @@
    1.53    <sect1>
    1.54      <title>Il flusso dei cambiamenti&emdash;la visione d'insieme e la visione di dettaglio</title>
    1.55  
    1.56 -    <para id="x_384">Per ritornare allo schema abbozzato all'inizio del capitolo, consideriamo a un progetto che contiene molteplici attività di sviluppo parallele in lavorazione contemporaneamente.</para>
    1.57 +    <para id="x_384">Per ritornare allo schema abbozzato all'inizio del capitolo, consideriamo un progetto che contiene molteplici attività di sviluppo parallele in lavorazione contemporaneamente.</para>
    1.58  
    1.59      <para id="x_385">Potrebbero esserci attività dedicate a una nuova release principale, a una nuova release <quote>minore</quote> che corregge alcuni bug trovati nell'ultima release principale e a un'inattesa <quote>correzione a caldo</quote> di una vecchia release che ora si trova in fase di manutenzione.</para>
    1.60  
    1.61 @@ -110,15 +111,15 @@
    1.62    <sect1>
    1.63      <title>Gestire i rami nella visione d'insieme</title>
    1.64  
    1.65 -    <para id="x_389">Nella <quote>visione d'insieme</quote>, il modo più facile per isolare un ramo in Mercurial è quello di utilizzare un repository dedicato. Se avete un repository condiviso esistente&emdash;chiamiamolo <literal>myproject</literal>&emdash;che raggiunge una milestone <quote>1.0</quote>, potete cominciare a preparare le future release di manutenzione basate sulla versione 1.0 etichettando la revisione dalla quale avete preparato la release 1.0.</para>
    1.66 +    <para id="x_389">Nella <quote>visione d'insieme</quote>, il modo più facile per isolare un ramo in Mercurial è quello di utilizzare un repository dedicato. Se avete un repository condiviso esistente&emdash;chiamiamolo <literal>mioprogetto</literal>&emdash;che raggiunge una milestone <quote>1.0</quote>, potete cominciare a preparare le future release di manutenzione basate sulla versione 1.0 etichettando la revisione dalla quale avete preparato la release 1.0.</para>
    1.67  
    1.68      &interaction.branch-repo.tag;
    1.69  
    1.70 -    <para id="x_38a">Potete quindi clonare un nuovo repository condiviso <literal>myproject-1.0.1</literal> da quella etichetta.</para>
    1.71 +    <para id="x_38a">Potete quindi clonare un nuovo repository condiviso <literal>mioprogetto-1.0.1</literal> da quella etichetta.</para>
    1.72  
    1.73      &interaction.branch-repo.clone;
    1.74  
    1.75 -    <para id="x_38b">Successivamente, chi ha bisogno di lavorare sulla correzione di un bug che dovrebbe essere contenuta in una prossima release <quote>minore</quote> 1.0.1 potrà clonare il repository <literal>myproject-1.0.1</literal>, fare le proprie modifiche e poi trasmetterle a quel repository.</para>
    1.76 +    <para id="x_38b">Successivamente, chi ha bisogno di lavorare sulla correzione di un bug che dovrebbe essere contenuta in una prossima release <quote>minore</quote> 1.0.1 potrà clonare il repository <literal>mioprogetto-1.0.1</literal>, fare le proprie modifiche e poi trasmetterle a quel repository.</para>
    1.77  
    1.78      &interaction.branch-repo.bugfix;
    1.79  
    1.80 @@ -130,13 +131,13 @@
    1.81    <sect1>
    1.82      <title>Non ripetetevi: le unioni tra rami</title>
    1.83  
    1.84 -    <para id="x_38d">In molti casi, se avete un bug da correggere in un ramo di manutenzione, è probabile che il bug sia presente anche nel ramo principale del progetto (e magari anche in altri rami di manutenzione). &Egrave; raro che uno sviluppatore voglia correggere lo stesso bug più volte, quindi diamo un'occhiata ad alcuni modi in cui Mercurial può aiutarvi a gestire queste correzioni senza duplicare il vostro lavoro.</para>
    1.85 +    <para id="x_38d">In molti casi, se avete un bug da correggere su un ramo di manutenzione, è probabile che il bug sia presente anche sul ramo principale del progetto (e magari anche su altri rami di manutenzione). &Egrave; raro che uno sviluppatore voglia correggere lo stesso bug più volte, quindi diamo un'occhiata ad alcuni modi in cui Mercurial può aiutarvi a gestire queste correzioni senza duplicare il vostro lavoro.</para>
    1.86  
    1.87      <para id="x_38e">Nel caso più semplice, tutto quello che dovete fare è propagare i cambiamenti dal vostro ramo di manutenzione al vostro clone locale del ramo di destinazione.</para>
    1.88  
    1.89      &interaction.branch-repo.pull;
    1.90  
    1.91 -    <para id="x_38f">Poi avrete bisogno di unire le teste dei due rami e di trasmettere i cambiamenti al ramo principale.</para>
    1.92 +    <para id="x_38f">Poi dovrete unire le teste dei due rami e trasmettere i cambiamenti al ramo principale.</para>
    1.93  
    1.94      &interaction.branch-repo.merge;
    1.95    </sect1>
    1.96 @@ -144,13 +145,13 @@
    1.97    <sect1>
    1.98      <title>Denominare i rami in un repository</title>
    1.99  
   1.100 -    <para id="x_390">Nella maggior parte dei casi, isolare ogni ramo in un proprio repository è l'approccio giusto. La sua semplicità lo rende facile da capire e quindi è difficile commettere erori. Esiste una relazione uno-a-uno tra i rami in cui state lavorando e le directory sul vostro sistema che vi consente di usare strumenti ordinari (ignari dell'esistenza di Mercurial) per lavorare sui file all'interno di un ramo/repository.</para>
   1.101 +    <para id="x_390">Nella maggior parte dei casi, isolare ogni ramo in un proprio repository è l'approccio giusto, perché la sua semplicità lo rende facile da capire e quindi è difficile commettere errori. Esiste una relazione uno-a-uno tra i rami in cui state lavorando e le directory sul vostro sistema che vi consente di usare strumenti ordinari (ignari dell'esistenza di Mercurial) per lavorare sui file all'interno di un ramo/repository.</para>
   1.102  
   1.103      <para id="x_391">Se invece appartenete alla categoria degli <quote>utenti avanzati</quote> (<emphasis>e</emphasis> vi appartengono anche i vostri collaboratori), potete considerare un modo alternativo di gestire i rami. Ho già menzionato la distinzione con cui gli sviluppatori percepiscono i rami nella <quote>visione di dettaglio</quote> e nella <quote>visione d'insieme</quote>. Se Mercurial lavora con molteplici rami <quote>di dettaglio</quote> alla volta in un repository (per esempio dopo che avete propagato i cambiamenti, ma prima di incorporarli), può <emphasis>anche</emphasis> lavorare con molteplici rami <quote>d'insieme</quote>.</para>
   1.104  
   1.105      <para id="x_392">La chiave per lavorare in questo modo è che Mercurial vi permette di assegnare un <emphasis>nome</emphasis> persistente a un ramo. In ogni repository c'è sempre un ramo chiamato <literal>default</literal>. Anche prima che cominciate a creare voi stessi nuovi rami con il proprio nome, potete trovare tracce del ramo <literal>default</literal> se le cercate.</para>
   1.106  
   1.107 -    <para id="x_393">Per esempio, quando esguite il comando <command role="hg-cmd">hg commit</command> e vi viene presentato un editor per farvi inserire un messaggio di commit, cercate una riga che contiene il testo <quote><literal>HG: branch default</literal></quote> verso il fondo. Questo comando vi informa che il vostro commit avverrà sul ramo chiamato <literal>default</literal>.</para>
   1.108 +    <para id="x_393">Per esempio, quando eseguite il comando <command role="hg-cmd">hg commit</command> e vi viene presentato un editor in modo che possiate inserire un messaggio di commit, cercate una riga che contiene il testo <quote><literal>HG: ramo default</literal></quote> verso il fondo. Questo comando vi informa che il vostro commit avverrà sul ramo chiamato <literal>default</literal>.</para>
   1.109  
   1.110      <para id="x_394">Per cominciare a lavorare con i rami con nome, usate il comando <command role="hg-cmd">hg branches</command>. Questo comando elenca i rami con nome già presenti nel vostro repository, dicendovi quale changeset è in cima a ognuno di loro.</para>
   1.111  
   1.112 @@ -158,7 +159,7 @@
   1.113  
   1.114      <para id="x_395">Dato che non avete ancora creato alcun ramo con nome, l'unico ramo esistente è <literal>default</literal>.</para>
   1.115  
   1.116 -    <para id="x_396">Per trovare qual è il ramo <quote>corrente</quote>, eseguite il comando <command role="hg-cmd">hg branch</command> senza passargli alcun argomento. Otterrete il nome del ramo in cui trova il genitore del changeset corrente.</para>
   1.117 +    <para id="x_396">Per trovare qual è il ramo <quote>attuale</quote>, eseguite il comando <command role="hg-cmd">hg branch</command> senza passargli alcun argomento. Otterrete il nome del ramo in cui trova il genitore del changeset corrente.</para>
   1.118  
   1.119      &interaction.branch-named.branch;
   1.120  
   1.121 @@ -182,15 +183,15 @@
   1.122  
   1.123      &interaction.branch-named.rebranch;
   1.124  
   1.125 -    <para id="x_39d">In pratica, questa non è una cosa che farete molto spesso, dato che i nomi di ramo tendono ad avere un tempo di vita piuttosto lungo. (Questa non è una regola, ma solo una osservazione.)</para>
   1.126 +    <para id="x_39d">In pratica, questa non è una cosa che farete molto spesso, dato che i nomi di ramo tendono ad avere un tempo di vita piuttosto lungo. (Questa non è una regola, ma solo un'osservazione.)</para>
   1.127    </sect1>
   1.128  
   1.129    <sect1>
   1.130      <title>Gestire molti rami con nome in un repository</title>
   1.131  
   1.132 -    <para id="x_39e">Se un repository contiene più di un ramo con nome, Mercurial ricorderà il ramo in cui si trova la vostra directory di lavoro quando eseguite un comando come <command role="hg-cmd">hg update</command> o <command role="hg-cmd">hg pull -u</command> e aggiornerà la directory di lavoro alla revisione di punta di quel ramo, a prescindere da quale sia la punta dell'intero repository. Per aggiornare la directory di lavoro a una revisione che si trova su un ramo con un nome diverso, potreste dover usare l'opzione <option role="hg-opt-update">-C</option> del comando <command role="hg-cmd">hg update</command>.</para>
   1.133 -
   1.134 -    <para id="x_39f">Questo comportamento è leggermente complicato, quindi vediamolo in azione. Per prima cosa, controlliamo in quale ramo ci troviamo al momento e quali sono i rami contenuti nel nostro repository.</para>
   1.135 +    <para id="x_39e">Se un repository contiene più di un ramo con nome, Mercurial ricorderà il ramo su cui si trova la vostra directory di lavoro quando eseguite un comando come <command role="hg-cmd">hg update</command> o <command role="hg-cmd">hg pull -u</command> e aggiornerà la directory di lavoro alla revisione di punta di quel ramo, a prescindere da quale sia la punta dell'intero repository. Per aggiornare la directory di lavoro a una revisione che si trova su un ramo con un nome diverso, potreste dover usare l'opzione <option role="hg-opt-update">-C</option> del comando <command role="hg-cmd">hg update</command>.</para>
   1.136 +
   1.137 +    <para id="x_39f">Questo comportamento è leggermente complicato, quindi vediamolo in azione. Per prima cosa, controlliamo su quale ramo ci troviamo al momento e quali sono i rami contenuti nel nostro repository.</para>
   1.138  
   1.139      &interaction.branch-named.parents;
   1.140  
   1.141 @@ -200,7 +201,7 @@
   1.142  
   1.143      &interaction.branch-named.update-switchy;
   1.144  
   1.145 -    <para id="x_3a2">Se torniamo indietro al ramo <literal>foo</literal> ed eseguiamo <command role="hg-cmd">hg update</command>, il comando ci manterrà su <literal>foo</literal> piuttosto che spostarci alla punta di <literal>bar</literal>.</para>
   1.146 +    <para id="x_3a2">Se torniamo indietro al ramo <literal>foo</literal> e invochiamo <command role="hg-cmd">hg update</command>, il comando ci manterrà su <literal>foo</literal> piuttosto che spostarci alla punta di <literal>bar</literal>.</para>
   1.147  
   1.148      &interaction.branch-named.update-nothing;
   1.149  
   1.150 @@ -212,9 +213,9 @@
   1.151    <sect1>
   1.152      <title>I nomi di ramo e le unioni</title>
   1.153  
   1.154 -    <para id="x_3a4">Come avete probabilmente notato, le unioni in Mercurial non sono simmetriche. Diciamo che il nostro repository possiede due teste, 17 e 23. Se uso <command role="hg-cmd">hg update</command> per aggiornare alla 17 e poi eseguo <command role="hg-cmd">hg merge</command> per incorporare la 23, Mercurial registra la 17 come il primo genitore dell'unione e la 23 come il secondo. Ma se uso <command role="hg-cmd">hg update</command> per aggiornare alla 23 e poi eseguo <command role="hg-cmd">hg merge</command> per incorporare la 17, Mercurial registra la 23 come primo genitore e la 17 come secondo.</para>
   1.155 -
   1.156 -    <para id="x_3a5">Questo comportamento influenza la scelta del nome di ramo compiuta da Mercurial quando effettuate un'unione. Dopo un'unione, Mercurial manterrà il nome del ramo del primo genitore quando registrate i risultati dell'unione. Se il nome del ramo del primo genitore è <literal>foo</literal>, e unite quel ramo con <literal>bar</literal>, dopo l'unione il nome del ramo in cui vi troverete sarà ancora <literal>foo</literal>.</para>
   1.157 +    <para id="x_3a4">Come avete probabilmente notato, le unioni in Mercurial non sono simmetriche. Diciamo che il nostro repository possiede due teste, 17 e 23. Se uso <command role="hg-cmd">hg update</command> per aggiornare alla 17 e poi eseguo <command role="hg-cmd">hg merge</command> per incorporare la 23, Mercurial registra la 17 come primo genitore dell'unione e la 23 come secondo. Ma se uso <command role="hg-cmd">hg update</command> per aggiornare alla 23 e poi eseguo <command role="hg-cmd">hg merge</command> per incorporare la 17, Mercurial registra la 23 come primo genitore e la 17 come secondo.</para>
   1.158 +
   1.159 +    <para id="x_3a5">Questo comportamento influenza la scelta del nome di ramo compiuta da Mercurial quando effettuate un'unione. Dopo un'unione, Mercurial manterrà il nome del ramo del primo genitore quando registrate i risultati dell'unione. Se il nome del ramo del primo genitore è <literal>foo</literal> e unite quel ramo con <literal>bar</literal>, dopo l'unione il nome del ramo in cui vi troverete sarà ancora <literal>foo</literal>.</para>
   1.160  
   1.161      <para id="x_3a6">Capita spesso che un repository contenga più teste, ognuna con lo stesso nome di ramo. Diciamo che io sto lavorando sul ramo <literal>foo</literal> e così fate anche voi. Eseguiamo il commit di cambiamenti differenti, dopodiché io estraggo i vostri cambiamenti e mi ritrovo con due teste, ognuna che dichiara di appartenere al ramo <literal>foo</literal>. Sperabilmente, il risultato di un'unione sarà una singola testa sul ramo <literal>foo</literal>.</para>
   1.162  
   1.163 @@ -230,10 +231,10 @@
   1.164  
   1.165      <para id="x_3a9">Non dovreste pensare che i rami con nome si possano utilizzare solo in situazioni dove avete molteplici rami di lunga data che coabitano in un singolo repository. Sono molto utili anche nel caso in cui utilizziate un singolo ramo per repository.</para>
   1.166  
   1.167 -    <para id="x_3aa">Nel caso più semplice, dare un nome a ogni ramo vi offre una registrazione permanente dell'identità del ramo da cui un changeset ha avuto origine. Questo vi dà un contesto maggiore quando state cercando di seguire la cronologia di un progetto di lunga data e ramificato.</para>
   1.168 +    <para id="x_3aa">Nel caso più semplice, dare un nome a ogni ramo vi offre una registrazione permanente dell'identità del ramo da cui un changeset ha avuto origine. Questo vi fornisce un contesto più ampio quando state cercando di seguire la cronologia di un progetto ramificato di lunga data.</para>
   1.169  
   1.170      <para id="x_3ab">Se state lavorando con repository condivisi, potete impostare un hook <literal role="hook">pretxnchangegroup</literal> su ogni repository in modo da bloccare i cambiamenti in entrata che appartengono al nome di ramo <quote>sbagliato</quote>. Questo accorgimento vi offre una difesa semplice ma efficace nei confronti di chi trasmette accidentalmente i cambiamenti da un ramo <quote>sperimentale</quote> a un ramo <quote>stabile</quote>. Un hook di questo tipo potrebbe somigliare al seguente, contenuto all'interno del file <filename role="special">/.hgrc</filename> del repository condiviso.</para>
   1.171      <programlisting>[hooks]
   1.172 -pretxnchangegroup.branch = hg heads --template '{branches} ' | grep mybranch</programlisting>
   1.173 +pretxnchangegroup.branch = hg heads --template '{branches} ' | grep mioramo</programlisting>
   1.174    </sect1>
   1.175  </chapter>
     2.1 --- a/it/examples/auto-snippets.xml	Tue Aug 11 23:01:30 2009 +0200
     2.2 +++ b/it/examples/auto-snippets.xml	Wed Aug 12 16:44:35 2009 +0200
     2.3 @@ -27,24 +27,24 @@
     2.4  <!ENTITY interaction.bisect.search.rest SYSTEM "results/bisect.search.rest.lxo">
     2.5  <!ENTITY interaction.bisect.search.step1 SYSTEM "results/bisect.search.step1.lxo">
     2.6  <!ENTITY interaction.bisect.search.step2 SYSTEM "results/bisect.search.step2.lxo">
     2.7 -<!ENTITY interaction.branch-named.branch SYSTEM "results/branch-named.branch.lxo">
     2.8 -<!ENTITY interaction.branch-named.branches SYSTEM "results/branch-named.branches.lxo">
     2.9 -<!ENTITY interaction.branch-named.commit SYSTEM "results/branch-named.commit.lxo">
    2.10 -<!ENTITY interaction.branch-named.create SYSTEM "results/branch-named.create.lxo">
    2.11 -<!ENTITY interaction.branch-named.foo-commit SYSTEM "results/branch-named.foo-commit.lxo">
    2.12 -<!ENTITY interaction.branch-named.merge SYSTEM "results/branch-named.merge.lxo">
    2.13 -<!ENTITY interaction.branch-named.parents SYSTEM "results/branch-named.parents.lxo">
    2.14 -<!ENTITY interaction.branch-named.rebranch SYSTEM "results/branch-named.rebranch.lxo">
    2.15 -<!ENTITY interaction.branch-named.status SYSTEM "results/branch-named.status.lxo">
    2.16 +<!ENTITY interaction.branch-named.branch SYSTEM "branch-named.branch.it">
    2.17 +<!ENTITY interaction.branch-named.branches SYSTEM "branch-named.branches.it">
    2.18 +<!ENTITY interaction.branch-named.commit SYSTEM "branch-named.commit.it">
    2.19 +<!ENTITY interaction.branch-named.create SYSTEM "branch-named.create.it">
    2.20 +<!ENTITY interaction.branch-named.foo-commit SYSTEM "branch-named.foo-commit.it">
    2.21 +<!ENTITY interaction.branch-named.merge SYSTEM "branch-named.merge.it">
    2.22 +<!ENTITY interaction.branch-named.parents SYSTEM "branch-named.parents.it">
    2.23 +<!ENTITY interaction.branch-named.rebranch SYSTEM "branch-named.rebranch.it">
    2.24 +<!ENTITY interaction.branch-named.status SYSTEM "branch-named.status.it">
    2.25  <!ENTITY interaction.branch-named.update-bar SYSTEM "results/branch-named.update-bar.lxo">
    2.26 -<!ENTITY interaction.branch-named.update-nothing SYSTEM "results/branch-named.update-nothing.lxo">
    2.27 -<!ENTITY interaction.branch-named.update-switchy SYSTEM "results/branch-named.update-switchy.lxo">
    2.28 -<!ENTITY interaction.branch-repo.bugfix SYSTEM "results/branch-repo.bugfix.lxo">
    2.29 -<!ENTITY interaction.branch-repo.clone SYSTEM "results/branch-repo.clone.lxo">
    2.30 -<!ENTITY interaction.branch-repo.merge SYSTEM "results/branch-repo.merge.lxo">
    2.31 -<!ENTITY interaction.branch-repo.new SYSTEM "results/branch-repo.new.lxo">
    2.32 -<!ENTITY interaction.branch-repo.pull SYSTEM "results/branch-repo.pull.lxo">
    2.33 -<!ENTITY interaction.branch-repo.tag SYSTEM "results/branch-repo.tag.lxo">
    2.34 +<!ENTITY interaction.branch-named.update-nothing SYSTEM "branch-named.update-nothing.it">
    2.35 +<!ENTITY interaction.branch-named.update-switchy SYSTEM "branch-named.update-switchy.it">
    2.36 +<!ENTITY interaction.branch-repo.bugfix SYSTEM "branch-repo.bugfix.it">
    2.37 +<!ENTITY interaction.branch-repo.clone SYSTEM "branch-repo.clone.it">
    2.38 +<!ENTITY interaction.branch-repo.merge SYSTEM "branch-repo.merge.it">
    2.39 +<!ENTITY interaction.branch-repo.new SYSTEM "branch-repo.new.it">
    2.40 +<!ENTITY interaction.branch-repo.pull SYSTEM "branch-repo.pull.it">
    2.41 +<!ENTITY interaction.branch-repo.tag SYSTEM "branch-repo.tag.it">
    2.42  <!ENTITY interaction.branching.clone SYSTEM "results/branching.clone.lxo">
    2.43  <!ENTITY interaction.branching.init SYSTEM "results/branching.init.lxo">
    2.44  <!ENTITY interaction.branching.main SYSTEM "results/branching.main.lxo">
    2.45 @@ -195,14 +195,14 @@
    2.46  <!ENTITY interaction.rollback.status SYSTEM "results/rollback.status.lxo">
    2.47  <!ENTITY interaction.rollback.tip SYSTEM "results/rollback.tip.lxo">
    2.48  <!ENTITY interaction.rollback.twice SYSTEM "results/rollback.twice.lxo">
    2.49 -<!ENTITY interaction.tag.init SYSTEM "results/tag.init.lxo">
    2.50 -<!ENTITY interaction.tag.log SYSTEM "results/tag.log.lxo">
    2.51 -<!ENTITY interaction.tag.log.v1.0 SYSTEM "results/tag.log.v1.0.lxo">
    2.52 -<!ENTITY interaction.tag.remove SYSTEM "results/tag.remove.lxo">
    2.53 -<!ENTITY interaction.tag.replace SYSTEM "results/tag.replace.lxo">
    2.54 -<!ENTITY interaction.tag.tag SYSTEM "results/tag.tag.lxo">
    2.55 -<!ENTITY interaction.tag.tags SYSTEM "results/tag.tags.lxo">
    2.56 -<!ENTITY interaction.tag.tip SYSTEM "results/tag.tip.lxo">
    2.57 +<!ENTITY interaction.tag.init SYSTEM "tag.init.it">
    2.58 +<!ENTITY interaction.tag.log SYSTEM "tag.log.it">
    2.59 +<!ENTITY interaction.tag.log.v1.0 SYSTEM "tag.log.v1.0.it">
    2.60 +<!ENTITY interaction.tag.remove SYSTEM "tag.remove.it">
    2.61 +<!ENTITY interaction.tag.replace SYSTEM "tag.replace.it">
    2.62 +<!ENTITY interaction.tag.tag SYSTEM "tag.tag.it">
    2.63 +<!ENTITY interaction.tag.tags SYSTEM "tag.tags.it">
    2.64 +<!ENTITY interaction.tag.tip SYSTEM "tag.tip.it">
    2.65  <!ENTITY interaction.template.simple.changelog SYSTEM "results/template.simple.changelog.lxo">
    2.66  <!ENTITY interaction.template.simple.combine SYSTEM "results/template.simple.combine.lxo">
    2.67  <!ENTITY interaction.template.simple.compact SYSTEM "results/template.simple.compact.lxo">
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/it/examples/branch-named.branch.it	Wed Aug 12 16:44:35 2009 +0200
     3.3 @@ -0,0 +1,5 @@
     3.4 +<!-- BEGIN branch-named.branch -->
     3.5 +<screen><prompt>$</prompt> <userinput>hg branch</userinput>
     3.6 +default
     3.7 +</screen>
     3.8 +<!-- END branch-named.branch -->
     4.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     4.2 +++ b/it/examples/branch-named.branches.it	Wed Aug 12 16:44:35 2009 +0200
     4.3 @@ -0,0 +1,12 @@
     4.4 +<!-- BEGIN branch-named.branches -->
     4.5 +<screen><prompt>$</prompt> <userinput>hg tip</userinput>
     4.6 +changeset:   0:fc8fb1089cc0
     4.7 +tag:         tip
     4.8 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
     4.9 +date:        Fri Jun 05 15:48:56 2009 +0000
    4.10 +summary:     Commit iniziale.
    4.11 +
    4.12 +<prompt>$</prompt> <userinput>hg branches</userinput>
    4.13 +default                        0:fc8fb1089cc0
    4.14 +</screen>
    4.15 +<!-- END branch-named.branches -->
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/it/examples/branch-named.commit.it	Wed Aug 12 16:44:35 2009 +0200
     5.3 @@ -0,0 +1,13 @@
     5.4 +<!-- BEGIN branch-named.commit -->
     5.5 +<screen><prompt>$</prompt> <userinput>echo 'ancora ciao' &gt;&gt; miofile</userinput>
     5.6 +<prompt>$</prompt> <userinput>hg commit -m 'Secondo commit.'</userinput>
     5.7 +<prompt>$</prompt> <userinput>hg tip</userinput>
     5.8 +changeset:   1:b15761055392
     5.9 +branch:      foo
    5.10 +tag:         tip
    5.11 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    5.12 +date:        Fri Jun 05 15:48:59 2009 +0000
    5.13 +summary:     Secondo commit.
    5.14 +
    5.15 +</screen>
    5.16 +<!-- END branch-named.commit -->
     6.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.2 +++ b/it/examples/branch-named.create.it	Wed Aug 12 16:44:35 2009 +0200
     6.3 @@ -0,0 +1,7 @@
     6.4 +<!-- BEGIN branch-named.create -->
     6.5 +<screen><prompt>$</prompt> <userinput>hg branch foo</userinput>
     6.6 +la directory di lavoro è stata segnata come ramo foo
     6.7 +<prompt>$</prompt> <userinput>hg branch</userinput>
     6.8 +foo
     6.9 +</screen>
    6.10 +<!-- END branch-named.create -->
     7.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     7.2 +++ b/it/examples/branch-named.foo-commit.it	Wed Aug 12 16:44:35 2009 +0200
     7.3 @@ -0,0 +1,22 @@
     7.4 +<!-- BEGIN branch-named.foo-commit -->
     7.5 +<screen><prompt>$</prompt> <userinput>echo qualcosa &gt; qualchefile</userinput>
     7.6 +<prompt>$</prompt> <userinput>hg commit -A -m 'Nuovo file.'</userinput>
     7.7 +aggiungo qualchefile
     7.8 +creata una nuova testa
     7.9 +<prompt>$</prompt> <userinput>hg heads</userinput>
    7.10 +changeset:   3:859c842ea668
    7.11 +branch:      foo
    7.12 +tag:         tip
    7.13 +parent:      1:b15761055392
    7.14 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    7.15 +date:        Fri Jun 05 15:49:04 2009 +0000
    7.16 +summary:     NUovo file.
    7.17 +
    7.18 +changeset:   2:4dce38140953
    7.19 +branch:      bar
    7.20 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    7.21 +date:        Fri Jun 05 15:49:00 2009 +0000
    7.22 +summary:     Terzo commit.
    7.23 +
    7.24 +</screen>
    7.25 +<!-- END branch-named.foo-commit -->
     8.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     8.2 +++ b/it/examples/branch-named.merge.it	Wed Aug 12 16:44:35 2009 +0200
     8.3 @@ -0,0 +1,19 @@
     8.4 +<!-- BEGIN branch-named.merge -->
     8.5 +<screen><prompt>$</prompt> <userinput>hg branch</userinput>
     8.6 +bar
     8.7 +<prompt>$</prompt> <userinput>hg merge foo</userinput>
     8.8 +1 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
     8.9 +(unione tra rami, ricordatevi di effettuare il commit)
    8.10 +<prompt>$</prompt> <userinput>hg commit -m 'Unione.'</userinput>
    8.11 +<prompt>$</prompt> <userinput>hg tip</userinput>
    8.12 +changeset:   4:f50f493d0dc0
    8.13 +branch:      bar
    8.14 +tag:         tip
    8.15 +parent:      2:4dce38140953
    8.16 +parent:      3:859c842ea668
    8.17 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    8.18 +date:        Fri Jun 05 15:49:06 2009 +0000
    8.19 +summary:     Unione.
    8.20 +
    8.21 +</screen>
    8.22 +<!-- END branch-named.merge -->
     9.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.2 +++ b/it/examples/branch-named.parents.it	Wed Aug 12 16:44:35 2009 +0200
     9.3 @@ -0,0 +1,15 @@
     9.4 +<!-- BEGIN branch-named.parents -->
     9.5 +<screen><prompt>$</prompt> <userinput>hg parents</userinput>
     9.6 +changeset:   2:4dce38140953
     9.7 +branch:      bar
     9.8 +tag:         tip
     9.9 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    9.10 +date:        Fri Jun 05 15:49:00 2009 +0000
    9.11 +summary:     Terzo commit.
    9.12 +
    9.13 +<prompt>$</prompt> <userinput>hg branches</userinput>
    9.14 +bar                            2:4dce38140953
    9.15 +foo                            1:b15761055392 (inattivo)
    9.16 +default                        0:fc8fb1089cc0 (inattivo)
    9.17 +</screen>
    9.18 +<!-- END branch-named.parents -->
    10.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.2 +++ b/it/examples/branch-named.rebranch.it	Wed Aug 12 16:44:35 2009 +0200
    10.3 @@ -0,0 +1,18 @@
    10.4 +<!-- BEGIN branch-named.rebranch -->
    10.5 +<screen><prompt>$</prompt> <userinput>hg branch</userinput>
    10.6 +foo
    10.7 +<prompt>$</prompt> <userinput>hg branch bar</userinput>
    10.8 +la directory di lavoro è stata segnata come ramo bar
    10.9 +<prompt>$</prompt> <userinput>echo nuovo file &gt; nuovofile</userinput>
   10.10 +<prompt>$</prompt> <userinput>hg commit -A -m 'Terzo commit.'</userinput>
   10.11 +aggiungo nuovofile
   10.12 +<prompt>$</prompt> <userinput>hg tip</userinput>
   10.13 +changeset:   2:4dce38140953
   10.14 +branch:      bar
   10.15 +tag:         tip
   10.16 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   10.17 +date:        Fri Jun 05 15:49:00 2009 +0000
   10.18 +summary:     Terzo commit.
   10.19 +
   10.20 +</screen>
   10.21 +<!-- END branch-named.rebranch -->
    11.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.2 +++ b/it/examples/branch-named.status.it	Wed Aug 12 16:44:35 2009 +0200
    11.3 @@ -0,0 +1,11 @@
    11.4 +<!-- BEGIN branch-named.status -->
    11.5 +<screen><prompt>$</prompt> <userinput>hg status</userinput>
    11.6 +<prompt>$</prompt> <userinput>hg tip</userinput>
    11.7 +changeset:   0:fc8fb1089cc0
    11.8 +tag:         tip
    11.9 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   11.10 +date:        Fri Jun 05 15:48:56 2009 +0000
   11.11 +summary:     Commit iniziale
   11.12 +
   11.13 +</screen>
   11.14 +<!-- END branch-named.status -->
    12.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.2 +++ b/it/examples/branch-named.update-nothing.it	Wed Aug 12 16:44:35 2009 +0200
    12.3 @@ -0,0 +1,7 @@
    12.4 +<!-- BEGIN branch-named.update-nothing -->
    12.5 +<screen><prompt>$</prompt> <userinput>hg update foo</userinput>
    12.6 +0 file aggiornati, 0 file uniti, 1 file rimossi, 0 file irrisolti
    12.7 +<prompt>$</prompt> <userinput>hg update</userinput>
    12.8 +0 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
    12.9 +</screen>
   12.10 +<!-- END branch-named.update-nothing -->
    13.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.2 +++ b/it/examples/branch-named.update-switchy.it	Wed Aug 12 16:44:35 2009 +0200
    13.3 @@ -0,0 +1,22 @@
    13.4 +<!-- BEGIN branch-named.update-switchy -->
    13.5 +<screen><prompt>$</prompt> <userinput>hg update foo</userinput>
    13.6 +0 file aggiornati, 0 file uniti, 1 file rimossi, 0 file irrisolti
    13.7 +<prompt>$</prompt> <userinput>hg parents</userinput>
    13.8 +changeset:   1:b15761055392
    13.9 +branch:      foo
   13.10 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   13.11 +date:        Fri Jun 05 15:48:59 2009 +0000
   13.12 +summary:     Secondo commit.
   13.13 +
   13.14 +<prompt>$</prompt> <userinput>hg update bar</userinput>
   13.15 +1 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
   13.16 +<prompt>$</prompt> <userinput>hg parents</userinput>
   13.17 +changeset:   2:4dce38140953
   13.18 +branch:      bar
   13.19 +tag:         tip
   13.20 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   13.21 +date:        Fri Jun 05 15:49:00 2009 +0000
   13.22 +summary:     Terzo commit.
   13.23 +
   13.24 +</screen>
   13.25 +<!-- END branch-named.update-switchy -->
    14.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.2 +++ b/it/examples/branch-repo.bugfix.it	Wed Aug 12 16:44:35 2009 +0200
    14.3 @@ -0,0 +1,16 @@
    14.4 +<!-- BEGIN branch-repo.bugfix -->
    14.5 +<screen><prompt>$</prompt> <userinput>hg clone mioprogetto-1.0.1 mia-1.0.1-correzione</userinput>
    14.6 +aggiorno la directory di lavoro
    14.7 +2 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
    14.8 +<prompt>$</prompt> <userinput>cd mia-1.0.1-correzione</userinput>
    14.9 +<prompt>$</prompt> <userinput>echo 'Ho corretto un bug usando solo echo!' &gt;&gt; miofile</userinput>
   14.10 +<prompt>$</prompt> <userinput>hg commit -m 'Importante correzione per la versione 1.0.1.'</userinput>
   14.11 +<prompt>$</prompt> <userinput>hg push</userinput>
   14.12 +trasmetto a /temp/mioprogetto-1.0.1
   14.13 +cerco i cambiamenti
   14.14 +aggiungo i changeset
   14.15 +aggiungo i manifest
   14.16 +aggiungo i cambiamenti ai file
   14.17 +aggiunti 1 changeset con 1 cambiamenti a 1 file
   14.18 +</screen>
   14.19 +<!-- END branch-repo.bugfix -->
    15.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.2 +++ b/it/examples/branch-repo.clone.it	Wed Aug 12 16:44:35 2009 +0200
    15.3 @@ -0,0 +1,7 @@
    15.4 +<!-- BEGIN branch-repo.clone -->
    15.5 +<screen><prompt>$</prompt> <userinput>cd ..</userinput>
    15.6 +<prompt>$</prompt> <userinput>hg clone mioprogetto mioprogetto-1.0.1</userinput>
    15.7 +aggiorno la directory di lavoro
    15.8 +2 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
    15.9 +</screen>
   15.10 +<!-- END branch-repo.clone -->
    16.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    16.2 +++ b/it/examples/branch-repo.merge.it	Wed Aug 12 16:44:35 2009 +0200
    16.3 @@ -0,0 +1,14 @@
    16.4 +<!-- BEGIN branch-repo.merge -->
    16.5 +<screen><prompt>$</prompt> <userinput>hg merge</userinput>
    16.6 +1 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
    16.7 +(unione tra rami, ricordatevi di eseguire il commit)
    16.8 +<prompt>$</prompt> <userinput>hg commit -m 'Incorpora la correzione dal ramo 1.0.1.'</userinput>
    16.9 +<prompt>$</prompt> <userinput>hg push</userinput>
   16.10 +trasmetto a /temp/mioprogetto
   16.11 +cerco i cambiamenti
   16.12 +aggiungo i changeset
   16.13 +aggiungo i manifest
   16.14 +aggiungo i cambiamenti ai file
   16.15 +aggiunti 2 changeset con 1 cambiamenti a 1 file
   16.16 +</screen>
   16.17 +<!-- END branch-repo.merge -->
    17.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    17.2 +++ b/it/examples/branch-repo.new.it	Wed Aug 12 16:44:35 2009 +0200
    17.3 @@ -0,0 +1,18 @@
    17.4 +<!-- BEGIN branch-repo.new -->
    17.5 +<screen><prompt>$</prompt> <userinput>cd ..</userinput>
    17.6 +<prompt>$</prompt> <userinput>hg clone mioprogetto mia-funzione</userinput>
    17.7 +aggiorno la directory di lavoro
    17.8 +2 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
    17.9 +<prompt>$</prompt> <userinput>cd mia-funzione</userinput>
   17.10 +<prompt>$</prompt> <userinput>echo 'Questa è sicuramente una nuova ed eccitante funzione!' &gt; mionuovofile</userinput>
   17.11 +<prompt>$</prompt> <userinput>hg commit -A -m 'Nuova funzione.'</userinput>
   17.12 +aggiungo mionuovofile
   17.13 +<prompt>$</prompt> <userinput>hg push</userinput>
   17.14 +trasmetto a /temp/mioprogetto
   17.15 +cerco i cambiamenti
   17.16 +aggiungo i changeset
   17.17 +aggiungo i manifest
   17.18 +aggiungo i cambiamenti ai file
   17.19 +aggiunti 1 changeset con 1 cambiamenti a 1 file
   17.20 +</screen>
   17.21 +<!-- END branch-repo.new -->
    18.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.2 +++ b/it/examples/branch-repo.pull.it	Wed Aug 12 16:44:35 2009 +0200
    18.3 @@ -0,0 +1,16 @@
    18.4 +<!-- BEGIN branch-repo.pull -->
    18.5 +<screen><prompt>$</prompt> <userinput>cd ..</userinput>
    18.6 +<prompt>$</prompt> <userinput>hg clone mioprogetto mioprogetto-unione</userinput>
    18.7 +aggiorno la directory di lavoro
    18.8 +3 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti
    18.9 +<prompt>$</prompt> <userinput>cd mioprogetto-unione</userinput>
   18.10 +<prompt>$</prompt> <userinput>hg pull ../mioprogetto-1.0.1</userinput>
   18.11 +estraggo da ../myproject-1.0.1
   18.12 +cerco i cambiamenti
   18.13 +aggiungo i changeset
   18.14 +aggiungo i manifest
   18.15 +aggiungo i cambiamenti ai file
   18.16 +aggiunti 1 changeset con 1 cambiamenti a 1 file (+1 teste)
   18.17 +(eseguite 'hg heads' per vedere le teste, 'hg merge' per unire)
   18.18 +</screen>
   18.19 +<!-- END branch-repo.pull -->
    19.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    19.2 +++ b/it/examples/branch-repo.tag.it	Wed Aug 12 16:44:35 2009 +0200
    19.3 @@ -0,0 +1,5 @@
    19.4 +<!-- BEGIN branch-repo.tag -->
    19.5 +<screen><prompt>$</prompt> <userinput>cd mioprogetto</userinput>
    19.6 +<prompt>$</prompt> <userinput>hg tag v1.0</userinput>
    19.7 +</screen>
    19.8 +<!-- END branch-repo.tag -->
    20.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    20.2 +++ b/it/examples/tag.init.it	Wed Aug 12 16:44:35 2009 +0200
    20.3 @@ -0,0 +1,8 @@
    20.4 +<!-- BEGIN tag.init -->
    20.5 +<screen><prompt>$</prompt> <userinput>hg init miaetichetta</userinput>
    20.6 +<prompt>$</prompt> <userinput>cd miaetichetta</userinput>
    20.7 +<prompt>$</prompt> <userinput>echo ciao &gt; miofile</userinput>
    20.8 +<prompt>$</prompt> <userinput>hg commit -A -m 'Commit iniziale.'</userinput>
    20.9 +aggiungo miofile
   20.10 +</screen>
   20.11 +<!-- END tag.init -->
    21.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.2 +++ b/it/examples/tag.log.it	Wed Aug 12 16:44:35 2009 +0200
    21.3 @@ -0,0 +1,16 @@
    21.4 +<!-- BEGIN tag.log -->
    21.5 +<screen><prompt>$</prompt> <userinput>hg log</userinput>
    21.6 +changeset:   1:87dee45bf6ec
    21.7 +tag:         tip
    21.8 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    21.9 +date:        Fri Jun 05 15:51:18 2009 +0000
   21.10 +summary:     Aggiunta l'etichetta v1.0 per il changeset 35aa95ccc713.
   21.11 +
   21.12 +changeset:   0:35aa95ccc713
   21.13 +tag:         v1.0
   21.14 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   21.15 +date:        Fri Jun 05 15:51:18 2009 +0000
   21.16 +summary:     Commit iniziale.
   21.17 +
   21.18 +</screen>
   21.19 +<!-- END tag.log -->
    22.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    22.2 +++ b/it/examples/tag.log.v1.0.it	Wed Aug 12 16:44:35 2009 +0200
    22.3 @@ -0,0 +1,13 @@
    22.4 +<!-- BEGIN tag.log.v1.0 -->
    22.5 +<screen><prompt>$</prompt> <userinput>echo arrivederci &gt; miofile2</userinput>
    22.6 +<prompt>$</prompt> <userinput>hg commit -A -m 'Secondo commit.'</userinput>
    22.7 +aggiungo miofile2
    22.8 +<prompt>$</prompt> <userinput>hg log -r v1.0</userinput>
    22.9 +changeset:   0:35aa95ccc713
   22.10 +tag:         v1.0
   22.11 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
   22.12 +date:        Fri Jun 05 15:51:18 2009 +0000
   22.13 +summary:     Commit iniziale.
   22.14 +
   22.15 +</screen>
   22.16 +<!-- END tag.log.v1.0 -->
    23.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.2 +++ b/it/examples/tag.remove.it	Wed Aug 12 16:44:35 2009 +0200
    23.3 @@ -0,0 +1,6 @@
    23.4 +<!-- BEGIN tag.remove -->
    23.5 +<screen><prompt>$</prompt> <userinput>hg tag --remove v1.0</userinput>
    23.6 +<prompt>$</prompt> <userinput>hg tags</userinput>
    23.7 +tip                                3:f0420ed65292
    23.8 +</screen>
    23.9 +<!-- END tag.remove -->
    24.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.2 +++ b/it/examples/tag.replace.it	Wed Aug 12 16:44:35 2009 +0200
    24.3 @@ -0,0 +1,13 @@
    24.4 +<!-- BEGIN tag.replace -->
    24.5 +<screen><prompt>$</prompt> <userinput>hg tag -r 1 v1.1</userinput>
    24.6 +<prompt>$</prompt> <userinput>hg tags</userinput>
    24.7 +tip                                4:2f0219ae190a
    24.8 +v1.1                               1:87dee45bf6ec
    24.9 +<prompt>$</prompt> <userinput>hg tag -r 2 v1.1</userinput>
   24.10 +fallimento: l'etichetta 'v1.1' esiste già (usate -f per forzare)
   24.11 +<prompt>$</prompt> <userinput>hg tag -f -r 2 v1.1</userinput>
   24.12 +<prompt>$</prompt> <userinput>hg tags</userinput>
   24.13 +tip                                5:9a0bd94354ec
   24.14 +v1.1                               2:35418c351c2b
   24.15 +</screen>
   24.16 +<!-- END tag.replace -->
    25.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.2 +++ b/it/examples/tag.tag.it	Wed Aug 12 16:44:35 2009 +0200
    25.3 @@ -0,0 +1,4 @@
    25.4 +<!-- BEGIN tag.tag -->
    25.5 +<screen><prompt>$</prompt> <userinput>hg tag v1.0</userinput>
    25.6 +</screen>
    25.7 +<!-- END tag.tag -->
    26.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.2 +++ b/it/examples/tag.tags.it	Wed Aug 12 16:44:35 2009 +0200
    26.3 @@ -0,0 +1,6 @@
    26.4 +<!-- BEGIN tag.tags -->
    26.5 +<screen><prompt>$</prompt> <userinput>hg tags</userinput>
    26.6 +tip                                1:87dee45bf6ec
    26.7 +v1.0                               0:35aa95ccc713
    26.8 +</screen>
    26.9 +<!-- END tag.tags -->
    27.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.2 +++ b/it/examples/tag.tip.it	Wed Aug 12 16:44:35 2009 +0200
    27.3 @@ -0,0 +1,10 @@
    27.4 +<!-- BEGIN tag.tip -->
    27.5 +<screen><prompt>$</prompt> <userinput>hg tip</userinput>
    27.6 +changeset:   5:9a0bd94354ec
    27.7 +tag:         tip
    27.8 +user:        Bryan O'Sullivan &lt;bos@serpentine.com&gt;
    27.9 +date:        Fri Jun 05 15:51:22 2009 +0000
   27.10 +summary:     Aggiunta l'etichetta v1.1 per il changeset 35418c351c2b.
   27.11 +
   27.12 +</screen>
   27.13 +<!-- END tag.tip -->