# HG changeset patch # User Giulio@puck # Date 1249934358 -7200 # Node ID 0bf0bf61493e085ef3f3bed04eb3edc9dc3a2e84 # Parent 6b037278c7493603f1717c41f999d7320195bab1 Minor changes and translation of code snippets for Ch.3. diff -r 6b037278c749 -r 0bf0bf61493e it/ch03-tour-merge.xml --- a/it/ch03-tour-merge.xml Mon Aug 10 19:07:10 2009 +0200 +++ b/it/ch03-tour-merge.xml Mon Aug 10 21:59:18 2009 +0200 @@ -2,22 +2,22 @@ Una panoramica di Mercurial: le unioni - Finora abbiamo parlato di come clonare un repository, effettuare cambiamenti in un repository ed estrarre o trasmettere cambiamenti da un repository all'altro. Il nostro prossimo passo sarà quello di unire i cambiamenti da repository separati. + Finora abbiamo parlato di come clonare un repository, effettuare modifiche in un repository ed estrarre o trasmettere cambiamenti da un repository all'altro. Il nostro prossimo passo sarà quello di unire le modifiche provenienti da repository separati. Unire flussi di lavoro - Le unioni giocano un ruolo fondamentale quando si lavora con uno strumento per il controllo di revisione distribuito. Ecco alcuni casi in cui può presentarsi il bisogno di unire tra loro due o più flussi di lavoro. + Le unioni giocano un ruolo fondamentale quando si lavora con uno strumento di controllo di revisione distribuito. Ecco alcuni casi in cui può presentarsi il bisogno di unire tra loro due o più flussi di lavoro. - Alice e Bruno hanno ognuno una copia personale di un repository per un progetto su cui stanno collaborando. Mentre Alice corregge un bug nel suo repository, Bruno aggiunge una nuova funzionalità nel proprio. Entrambi vogliono che il repository condiviso contenga sia la correzione del bug sia la nuova funzionalità. + Alice e Bruno hanno ognuno una copia personale di un repository per un progetto su cui stanno collaborando. Mentre Alice corregge un bug nel suo repository, Bruno aggiunge una nuova funzione nel proprio. Entrambi vogliono che il repository condiviso contenga sia la correzione del bug sia la nuova funzione. Cinzia lavora frequentemente su più attività differenti alla volta per un singolo progretto, ognuna isolata al sicuro nel proprio repository. Lavorando in questo modo, Cinzia ha spesso bisogno di unire una parte del proprio lavoro con un'altra. - Dato che abbiamo spesso bisogno di effettuare delle unioni, Mercurial ci viene in aiuto agevolando questo processo. Per capire come funzionano le unioni, seguiamone una passo per passo. Cominceremo creando ancora un altro clone del nostro repository (vedete quante volte spuntano fuori?) apportandovi poi alcune modifiche. + Dato che abbiamo spesso bisogno di eseguire unioni, Mercurial ci viene in aiuto agevolando questo processo. Per capire come funzionano le unioni, seguiamone una passo per passo. Cominceremo creando ancora un altro clone del nostro repository (vedete quante volte spuntano fuori?) apportandovi poi alcune modifiche. &interaction.tour.merge.clone; @@ -25,7 +25,7 @@ &interaction.tour.merge.cat1; - Ed ecco la nuova versione, leggermente differente, contenuta nell'altro repository. + Ed ecco la versione leggermente differente contenuta nell'altro repository. &interaction.tour.merge.cat2; @@ -70,7 +70,7 @@ &interaction.tour.merge.update; - Mercurial ci sta dicendo che il comando hg update non è in grado di effettuare un'unione e, se pensa che potremmo volerne fare una, non aggiornerà la directory di lavoro a meno che non gli chiediamo esplicitamente di farlo. (Incidentalmente, forzare l'aggiornamento tramite hg update -C provocherebbe la perdita di tutte le modifiche contenute nella directory di lavoro e non ancora inserite nel repository.) + Mercurial ci sta dicendo che hg update non è in grado di effettuare un'unione. Il comando non aggiornerà la directory di lavoro se pensa che potremmo voler eseguire un'unione, a meno che non gli chiediamo esplicitamente di farlo. (Incidentalmente, forzare l'aggiornamento tramite hg update -C provocherebbe la perdita di tutte le modifiche contenute nella directory di lavoro e non ancora inserite nel repository.) Per avviare un'unione tra le due teste, usiamo il comando hg merge. @@ -86,7 +86,7 @@ Ogni volta che eseguiamo un'unione, il comando hg parents mostrerà due genitori fino a quando non invocheremo hg commit per inserire i risultati dell'unione nel repository. - &interaction.tour.merge.commit; + &interaction.tour.merge.commit; Ora abbiamo una nuova revisione di punta che, come potete notare, possiede entrambe le nostre vecchie teste come genitori. Queste sono le stesse revisioni che erano state precedentemente mostrate da hg parents. @@ -111,7 +111,7 @@ Risolvere i conflitti tra cambiamenti - La maggior parte delle unioni è semplice, ma talvolta vi troverete a unire cambiamenti dove ognuna delle due parti modifica le stesse porzioni degli stessi file. A meno che entrambe le modifiche siano identiche, questo risulterà in un conflitto che dovrete cercare di riconciliare decidendo come combinare i diversi cambiamenti in un risultato coerente. + La maggior parte delle unioni è semplice, ma talvolta vi troverete a unire cambiamenti in cui ognuna delle due parti modifica le stesse porzioni degli stessi file. A meno che entrambe le modifiche siano identiche, questo risulterà in un conflitto che dovrete cercare di riconciliare decidendo come combinare i diversi cambiamenti in un risultato coerente.
Modifiche in conflitto a un documento @@ -121,14 +121,14 @@
- La illustra un esempio di due diversi cambiamenti a uno stesso documento che sono in conflitto tra loro. Siamo partiti da una singola versione del file, a cui poi abbiamo apportato alcune modifiche mentre qualcun altro eseguiva modifiche differenti allo stesso testo. Nella risoluzione del conflitto tra i cambiamenti, il nostro compito è quello di decidere che cosa dovrebbe contenere il file. - - Mercurial non è dotato di alcuna funzionalità predefinita per gestire i conflitti. Invece, richiama un programma esterno, di solito uno che mostra un qualche tipo di interfaccia grafica per la risoluzione dei conflitti, trovato tra i tanti strumenti di unione differenti che è probabile siano installati sul vostro sistema. Come prima cosa, Mercurial prova a cercare alcuni strumenti di unione completamente automatici; poi, se non riesce a trovarli (perché il processo di risoluzione richiede una guida umana) o se non sono presenti, prova vari altri strumenti grafici per le unioni. + La illustra un esempio di due diversi cambiamenti a uno stesso documento che sono in conflitto tra loro. Siamo partiti da una singola versione del file, a cui poi abbiamo apportato alcune modifiche mentre qualcun altro faceva modifiche differenti allo stesso testo. Nella risoluzione del conflitto tra i cambiamenti, il nostro compito è quello di decidere che cosa dovrebbe contenere il file. + + Mercurial non è dotato di alcuna funzione predefinita per gestire i conflitti. Invece, richiama un programma esterno, di solito uno che mostra un qualche tipo di interfaccia grafica per la risoluzione dei conflitti, trovato tra i tanti strumenti di unione differenti che è probabile siano installati sul vostro sistema. Come prima cosa, Mercurial prova a cercare alcuni strumenti di unione completamente automatici; poi, se non riesce a trovarli (perché il processo di risoluzione richiede una guida umana) o se non sono presenti, prova a richiamare diversi strumenti grafici di unione. È anche possibile far eseguire a Mercurial uno specifico programma, impostando il valore della variable di ambiente HGMERGE al nome del vostro programma preferito. - Usare uno strumento grafico per le unioni + Usare uno strumento grafico di unione Il mio strumento grafico preferito per gestire le unioni è kdiff3, che userò per descrivere le caratteristiche comuni a queste applicazioni. Potete vedere kdiff3 in azione nella . Il tipo di unione che sta eseguendo si chiama unione a tre vie, perché ci sono tre differenti versioni di un file che ci interessano. La porzione superiore della finestra è divisa in tre pannelli: @@ -155,7 +155,7 @@ Per ogni porzione conflittuale del file, possiamo scegliere di risolvere il conflitto usando una qualche combinazione di testo dalla versione base, dalla nostra, o dalla loro. Possiamo anche modificare manualmente il file risultante in ogni momento, nel caso avessimo bisogno di effettuare ulteriori cambiamenti. - Esistono molti strumenti per l'unione di file, davvero troppi per elencarli qui. Si differenziano a seconda della piattaforma per cui sono disponibili e delle loro particolari forze e debolezze. La maggior parte è calibrata per unire file contenenti testo semplice, mentre alcuni sono orientati a particolari formati di file (generalmente XML). + Esistono molti strumenti per gestire l'unione di file, davvero troppi per elencarli qui. Si differenziano a seconda della piattaforma per cui sono disponibili e delle loro particolari forze e debolezze. La maggior parte è calibrata per unire file contenenti testo semplice, mentre alcuni sono orientati a particolari formati di file (generalmente XML). @@ -169,7 +169,7 @@ &interaction.tour-merge-conflict.cousin; - E ora aggiungiamo un altro clone, per simulare qualcun altro che effettui un cambiamento al file. (Questo suggerisce l'idea che non è affatto inusuale ritrovarsi a unire tra loro i propri repository che contengono attività isolate, risolvendo i conflitti incontrati nel corso di questo processo.) + E ora aggiungiamo un altro clone, per simulare qualcun altro che effettui un cambiamento al file. (Questo suggerisce l'idea che non è affatto inusuale ritrovarsi a unire tra loro i propri repository contenenti attività isolate, risolvendo i conflitti incontrati nel corso di questo processo.) &interaction.tour-merge-conflict.son; @@ -206,18 +206,18 @@ hg commit -m 'Incorporati i cambiamenti remoti' Nel caso dell'inserimento finale, avete anche bisogno di includere un messaggio di commit, che sarà quasi sempre composto da testo standard non particolarmente interessante. - Se fosse possibile, sarebbe carino ridurre il numero di passi necessari. In effetti, Mercurial viene distribuito con un'estensione chiamata fetch pensata proprio per questo scopo. - - Mercurial fornisce un meccanismo flessibile per consentire ad altre persone di estendere le sue funzionalità, preservando le dimensioni ridotte e la manutenibilità del proprio nucleo. Alcune estensioni aggiungono nuovi comandi che potete usare dalla linea di comando, mentre altri lavorano dietro le quinte, per esempio accrescendo le funzionalità della modalità server predefinita di Mercurial. - - L'estensione fetch aggiunge un nuovo comando chiamato, naturalmente, hg fetch. Questa estensione agisce come una combinazione di hg pull -u, hg merge e hg commit. Comincia propagando verso il repository corrente i cambiamenti estratti da un altro repository. Se si accorge che i cambiamenti hanno aggiunto una nuova testa al repository aggiorna la directory di lavoro alla nuova testa, poi avvia il processo di unione e infine, se l'unione ha successo, ne inserisce il risultato nel repository con un messaggio di commit generato automaticamente. Se non sono state aggiunte nuove teste, il comando si limita ad aggiornare la directory di lavoro alla nuova revisione di punta. + Se fosse possibile, sarebbe comodo ridurre il numero di passi necessari. In effetti, Mercurial viene distribuito con un'estensione chiamata fetch pensata proprio per questo scopo. + + Mercurial fornisce un meccanismo flessibile per consentire ad altre persone di estendere le sue funzionalità, preservando le dimensioni ridotte e la manutenibilità del proprio nucleo. Alcune estensioni aggiungono nuovi comandi che potete usare dalla riga di comando, mentre altri lavorano dietro le quinte, per esempio accrescendo le funzionalità della modalità server predefinita di Mercurial. + + L'estensione fetch aggiunge un nuovo comando chiamato, naturalmente, hg fetch. Questa estensione agisce come una combinazione di hg pull -u, hg merge e hg commit. Comincia propagando verso il repository corrente i cambiamenti estratti da un altro repository. Se si accorge che i cambiamenti hanno aggiunto una nuova testa al repository, aggiorna la directory di lavoro alla nuova testa, poi avvia il processo di unione e infine, se l'unione ha successo, ne inserisce il risultato nel repository con un messaggio di commit generato automaticamente. Se non sono state aggiunte nuove teste, il comando si limita ad aggiornare la directory di lavoro alla nuova revisione di punta. Abilitare l'estensione fetch è facile. Aprite il file .hgrc che si trova nella vostra directory personale e andate alla sezione extensions (oppure createla se non esiste già). Poi aggiungete una riga che contenga semplicemente fetch=. [extensions] fetch = - (Normalmente, il lato destro del simbolo = indicherebbe dove trovare l'estensione, ma dato che l'estensione fetch è compresa nella distribuzione standard, Mercurial sa già dove andarla a cercare.) + (Normalmente, la parte a destra del simbolo = indicherebbe dove trovare l'estensione, ma dato che l'estensione fetch è compresa nella distribuzione standard, Mercurial sa già dove andarla a cercare.)
@@ -226,9 +226,9 @@ Durante la vita di un progetto, vorremo spesso cambiare la disposizione dei suoi file e delle sue directory. Queste modifiche possono essere tanto semplici quanto rinominare un singolo file, o tanto complesse quanto ristrutturare l'intera gerarchia dei file nell'ambito del progetto. Mercurial supporta questi tipi di cambiamenti in maniera fluida, a patto che gli diciamo quello che stiamo facendo. Se vogliamo rinominare un file, dovremmo usare il comando hg rename - Se siete utenti Unix, sarete contenti di sapere che il comando hg rename si può abbreviare in hg mv. - per cambiarne il nome, in modo che Mercurial possa comportarsi in maniera appropriata nel caso più tardi effettuassimo un'unione. - - Tratteremo l'uso di questi comandi in maniera più estesa nel . + Se siete utenti Unix, sarete felici di sapere che il comando hg rename si può abbreviare in hg mv. + per cambiare il nome del file, in modo che Mercurial possa comportarsi in maniera appropriata nel caso più tardi effettuassimo un'unione. + + Tratteremo l'uso di questi comandi in maniera più estesa nella . diff -r 6b037278c749 -r 0bf0bf61493e it/examples/auto-snippets.xml --- a/it/examples/auto-snippets.xml Mon Aug 10 19:07:10 2009 +0200 +++ b/it/examples/auto-snippets.xml Mon Aug 10 21:59:18 2009 +0200 @@ -221,12 +221,12 @@ - - - - - - + + + + + + @@ -246,20 +246,20 @@ - - - - + + + + - - - - - - + + + + + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour-merge-conflict.commit.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour-merge-conflict.commit.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,19 @@ + +$ cat > lettera.txt <<EOF +> Salve! +> Sono Bryan O'Sullivan, nessuna parentela con l'ex +> dittatore nigeriano Sani Abacha. +> EOF +$ hg resolve -m lettera.txt +$ hg commit -m 'Mandatemi i vostri soldi' +$ hg tip +changeset: 3:df19ae0ef4d4 +tag: tip +parent: 1:ae14113af250 +parent: 2:11ab3b2b6d1b +user: Bryan O'Sullivan <bos@serpentine.com> +date: Fri Jun 05 15:52:13 2009 +0000 +summary: Mandatemi i vostri soldi + + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour-merge-conflict.cousin.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour-merge-conflict.cousin.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,14 @@ + +$ cd .. +$ hg clone truffa truffa-cugino +aggiorno la directory di lavoro +1 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti +$ cd truffa-cugino +$ cat > lettera.txt <<EOF +> Salve! +> Sono Shehu Musa Abacha, cugino dell'ex +> dittatore nigeriano Sani Abacha. +> EOF +$ hg commit -m 'truffa 419, con cugino' + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour-merge-conflict.merge.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour-merge-conflict.merge.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,18 @@ + +$ export HGMERGE=merge +$ hg merge +unisco lettera.txt +merge: attenzione: conflitti durante l'unione +unione di lettera.txt fallita! +0 file aggiornati, 0 file uniti, 0 file rimossi, 1 file irrisolti +usate 'hg resolve' per riprovare a unire i file irrisolti +$ cat lettera.txt +Salve! +<<<<<<< /tmp/panoramica-unioni-conflitto/truffa-unione/lettera.txt +Sono Shehu Musa Abacha, cugino dell'ex +======= +Sono Alhaji Abba Abacha, figlio dell'ex +>>>>>>> /tmp/lettera.txt~other.01poS4 +dittatore nigeriano Sani Abacha. + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour-merge-conflict.pull.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour-merge-conflict.pull.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,17 @@ + +$ cd .. +$ hg clone truffa-cugino truffa-unione +aggiorno la directory di lavoro +1 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti +$ cd truffa-unione +$ hg pull -u ../truffa-figlio +estraggo da ../scam-son +cerco i cambiamenti +aggiungo i changeset +aggiungo i manifest +aggiungo i cambiamenti ai file +aggiunti 1 changeset con 1 cambiamenti a 1 file (+1 teste) +non aggiorno, sono state aggiunte nuove teste +(eseguite 'hg heads' per vedere le teste, 'hg merge' per unire) + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour-merge-conflict.son.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour-merge-conflict.son.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,14 @@ + +$ cd .. +$ hg clone truffa truffa-figlio +aggiorno la directory di lavoro +1 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti +$ cd truffa-figlio +$ cat > lettera.txt <<EOF +> Salve! +> Sono Alhaji Abba Abacha, figlio dell'ex +> dittatore nigeriano Sani Abacha. +> EOF +$ hg commit -m 'truffa 419, con figlio' + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour-merge-conflict.wife.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour-merge-conflict.wife.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,10 @@ + +$ cat > lettera.txt <<EOF +> Salve! +> Sono Mariam Abacha, la moglie dell'ex +> dittatore nigeriano Sani Abacha. +> EOF +$ hg add letter.txt +$ hg commit -m 'truffa 419, prima bozza' + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour.merge.cat1.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour.merge.cat1.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,19 @@ + +$ cat hello.c +/* + * Rilasciato nel pubblico dominio da Bryan O'Sullivan. Questo + * programma non è protetto da brevetti negli Stati Uniti o in + * altri paesi. + */ + +#include <stdio.h> + +int main(int argc, char **argv) +{ + printf("ancora una volta, ciao.\n"); + printf("ciao, mondo!\"); + printf("ancora ciao!\n"); + return 0; +} + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour.merge.cat2.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour.merge.cat2.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,18 @@ + +$ cat ../my-hello/hello.c +/* + * Rilasciato nel pubblico dominio da Bryan O'Sullivan. Questo + * programma non è protetto da brevetti negli Stati Uniti o in + * altri paesi. + */ + +#include <stdio.h> + +int main(int argc, char **argv) +{ + printf("ciao, mondo!\"); + printf("ancora ciao!\n"); + return 0; +} + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour.merge.clone.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour.merge.clone.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,11 @@ + +$ cd .. +$ hg clone hello my-new-hello +aggiorno la directory di lavoro +2 file aggiornati, 0 file uniti, 0 file rimossi, 0 file irrisolti +$ cd my-new-hello +# Apportiamo alcune semplici modifiche a hello.c... +$ mio-editor-di-testo hello.c +$ hg commit -m 'Un nuovo saluto per un nuovo giorno.' + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour.merge.commit.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour.merge.commit.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,4 @@ + +$ hg commit -m 'Unisce i cambiamenti.' + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour.merge.heads.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour.merge.heads.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,16 @@ + +$ hg heads +changeset: 6:764347e47e75 +tag: tip +parent: 4:2278160e78d4 +user: Bryan O'Sullivan <bos@serpentine.com> +date: Fri Jun 05 15:51:52 2009 +0000 +summary: Inserisce una riga con un messaggio aggiuntivo. + +changeset: 5:1c343117a2e3 +user: Bryan O'Sullivan <bos@serpentine.com> +date: Fri Jun 05 15:52:03 2009 +0000 +summary: Un nuovo saluto per un nuovo giorno. + + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour.merge.merge.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour.merge.merge.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,7 @@ + +$ hg merge +unisco hello.c +0 file aggiornati, 1 file uniti, 0 file rimossi, 0 file irrisolti +(unione di rami, ricordatevi di eseguire il commit) + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour.merge.parents.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour.merge.parents.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,32 @@ + +$ hg parents +changeset: 5:1c343117a2e3 +user: Bryan O'Sullivan <bos@serpentine.com> +date: Fri Jun 05 15:52:03 2009 +0000 +summary: Un nuovo saluto per un nuovo giorno. + +changeset: 6:764347e47e75 +tag: tip +parent: 4:2278160e78d4 +user: Bryan O'Sullivan <bos@serpentine.com> +date: Fri Jun 05 15:51:52 2009 +0000 +summary: Inserisce una riga con un messaggio aggiuntivo. + +$ cat hello.c +/* + * Rilasciato nel pubblico dominio da Bryan O'Sullivan. Questo + * programma non è protetto da brevetti negli Stati Uniti o in + * altri paesi. + */ + +#include <stdio.h> + +int main(int argc, char **argv) +{ + printf("ancora una volta, ciao.\n"); + printf("ciao, mondo!\"); + printf("ancora ciao!\n"); + return 0; +} + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour.merge.pull.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour.merge.pull.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,11 @@ + +$ hg pull ../my-hello +estraggo da ../my-hello +cerco i cambiamenti +aggiungo i changeset +aggiungo i manifest +aggiungo i cambiamenti ai file +aggiunti 1 changeset con 1 cambiamenti a 1 file (+1 teste) +(eseguite 'hg heads' per vedere le teste, 'hg merge' per unire) + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour.merge.tip.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour.merge.tip.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,12 @@ + +$ hg tip +changeset: 7:e300c3dcceca +tag: tip +parent: 5:1c343117a2e3 +parent: 6:764347e47e75 +user: Bryan O'Sullivan <bos@serpentine.com> +date: Fri Jun 05 15:52:07 2009 +0000 +summary: Unisce i cambiamenti. + + + diff -r 6b037278c749 -r 0bf0bf61493e it/examples/tour.merge.update.it --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/it/examples/tour.merge.update.it Mon Aug 10 21:59:18 2009 +0200 @@ -0,0 +1,6 @@ + +$ hg update +abortito: attraversa i rami (usate 'hg merge' o 'hg update -C') + + +