# HG changeset patch # User Giulio@puck # Date 1249076378 -7200 # Node ID bdea936798c4da93eacd4a8112298ff725895806 # Parent f67a90f6c055e3746fab73ed49c7a01649cc453b Removed FIXME/comment for xrefs. diff -r f67a90f6c055 -r bdea936798c4 it/ch01-intro.xml --- a/it/ch01-intro.xml Fri Jul 31 23:27:41 2009 +0200 +++ b/it/ch01-intro.xml Fri Jul 31 23:39:38 2009 +0200 @@ -21,7 +21,7 @@ Terrà traccia della storia e dell'evoluzione del vostro progetto, così voi non dovete farlo. Per ogni modifica, registrerà informazioni riguardanti chi l'ha fatta, perché l'ha fatta, quando è stata fatta e cosa è stato modificato. Quando state lavorando con altre persone, il software per il controllo di revisione facilita la collaborazione. Per esempio, quando due persone effettuano cambiamenti incompatibili più o meno simultaneamente, il software vi aiuterà a identificare e risolvere questi conflitti. - Può aiutarvi a rettificare i vostri errori. Se fate una modifica che più tardi si rivela essere un errore, potete ritornare a una versione precedente di uno o più file. In effetti, uno strumento di controllo di revisione davvero buono vi aiuterà a calcolare efficientemente il momento esatto in cui un problema è stato introdotto (si veda FIXME per i dettagli). + Può aiutarvi a rettificare i vostri errori. Se fate una modifica che più tardi si rivela essere un errore, potete ritornare a una versione precedente di uno o più file. In effetti, uno strumento di controllo di revisione davvero buono vi aiuterà a calcolare efficientemente il momento esatto in cui un problema è stato introdotto (si veda la per i dettagli). Vi aiuterà a lavorare simultaneamente su molteplici versioni del vostro progetto e a gestire gli spostamenti tra una versione e l'altra. @@ -64,7 +64,7 @@ C'è un piccolo svantaggio in questo approccio, cioè che le date e gli orari che vedete negli esempi tendono a venire compressi insieme in modo anomalo, diversamente da quanto accadrebbe se gli stessi comandi fossero digitati da un essere umano. Laddove un essere umano non può inviare più di un comando ogni pochi secondi, le cui marcature temporali sarebbero analogamente intervallate, i miei script d'esempio automatizzati sono in grado di eseguire molti comandi in un secondo. - Come conseguenza di questo fatto, potrebbe sembrare che molti inserimenti (commit) consecutivi vengano eseguiti durante lo stesso secondo. Potete osservare la presenza di questa anomalia nell'esempio di bisezione in FIXME , tanto per farvi un'idea. + Come conseguenza di questo fatto, potrebbe sembrare che molti inserimenti (commit) consecutivi vengano eseguiti durante lo stesso secondo. Potete osservare la presenza di questa anomalia nell'esempio di bisect nella , tanto per farvi un'idea. Quindi, mentre leggete gli esempi, non date troppo peso alle date e agli orari che vedete nell'uscita dei comandi, ma potete decisamente fare affidamento sulla consistenza e riproducibilità del comportamento illustrato. diff -r f67a90f6c055 -r bdea936798c4 it/ch02-tour-basic.xml --- a/it/ch02-tour-basic.xml Fri Jul 31 23:27:41 2009 +0200 +++ b/it/ch02-tour-basic.xml Fri Jul 31 23:39:38 2009 +0200 @@ -177,8 +177,7 @@ &interaction.tour.log-v; - Se volete vedere sia la descrizione che il contenuto di un cambiamento, aggiungete l'opzione (o ). In questo modo il contenuto del cambiamento verrà stampato in formato unified diff (se non avete mai visto il formato unified diff prima d'ora, date un'occhiata a FIXME per un'introduzione). + Se volete vedere sia la descrizione che il contenuto di un cambiamento, aggiungete l'opzione (o ). In questo modo il contenuto del cambiamento verrà stampato in formato unified diff (se non avete mai visto il formato unified diff prima d'ora, date un'occhiata alla per un'introduzione). &interaction.tour.log-vp; @@ -259,8 +258,7 @@ Capire le patch - Ricordate di dare un'occhiata a FIXME se non sapete come interpretare il risultato del comando eseguito sopra. + Ricordate di dare un'occhiata alla se non sapete come interpretare il risultato del comando eseguito sopra. diff -r f67a90f6c055 -r bdea936798c4 it/ch03-tour-merge.xml --- a/it/ch03-tour-merge.xml Fri Jul 31 23:27:41 2009 +0200 +++ b/it/ch03-tour-merge.xml Fri Jul 31 23:39:38 2009 +0200 @@ -229,6 +229,6 @@ 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 FIXME. + Tratteremo l'uso di questi comandi in maniera più estesa nel . diff -r f67a90f6c055 -r bdea936798c4 it/ch05-daily.xml --- a/it/ch05-daily.xml Fri Jul 31 23:27:41 2009 +0200 +++ b/it/ch05-daily.xml Fri Jul 31 23:39:38 2009 +0200 @@ -272,8 +272,7 @@ È utile ricordare che il comando hg revert serve per i cambiamenti che non avete ancora inserito. Una volta che avete inserito un cambiamento, se decidete che è stato un errore potete ancora fare qualcosa, sebbene le vostre opzioni siano molto più limitate. - Per maggiori informazioni sul comando hg revert e dettagli su come trattare i cambiamenti che avete gia inserito, leggete la FIXME. + Per maggiori informazioni sul comando hg revert e dettagli su come trattare i cambiamenti che avete gia inserito, leggete il . diff -r f67a90f6c055 -r bdea936798c4 it/ch06-collab.xml --- a/it/ch06-collab.xml Fri Jul 31 23:27:41 2009 +0200 +++ b/it/ch06-collab.xml Fri Jul 31 23:39:38 2009 +0200 @@ -173,7 +173,7 @@ Dove la collaborazione incontra la gestione dei rami - Una volta che voi e il vostro gruppo avete configurato qualche repository condiviso e cominciato a propagare cambiamenti avanti e indietro tra i repository locali e quelli condivisi, comincerete ad affrontare una sfida correlata ma leggermente differente: quella di gestire le diverse direzioni in cui il vostro gruppo potrebbe muoversi contemporaneamente. Anche se questa materia è intimamente legata al modo in cui il vostro gruppo collabora, è abbastanza densa da meritare una trattazione separata, nel FIXME. + Una volta che voi e il vostro gruppo avete configurato qualche repository condiviso e cominciato a propagare cambiamenti avanti e indietro tra i repository locali e quelli condivisi, comincerete ad affrontare una sfida correlata ma leggermente differente: quella di gestire le diverse direzioni in cui il vostro gruppo potrebbe muoversi contemporaneamente. Anche se questa materia è intimamente legata al modo in cui il vostro gruppo collabora, è abbastanza densa da meritare una trattazione separata, nel . @@ -563,7 +563,7 @@ spartan è stato il template predefinito per lungo tempo. - Potete anche specificare un vostro template personalizzato, come vedrete in dettaglio nel FIXME per i dettagli. Qui potete vedere come abilitare lo stile gitweb. + Potete anche specificare un vostro template personalizzato, come vedrete in dettaglio nel . Qui potete vedere come abilitare lo stile gitweb. [web] style = gitweb diff -r f67a90f6c055 -r bdea936798c4 it/ch09-undo.xml --- a/it/ch09-undo.xml Fri Jul 31 23:27:41 2009 +0200 +++ b/it/ch09-undo.xml Fri Jul 31 23:39:38 2009 +0200 @@ -278,7 +278,7 @@ Il comando hg backout esegue un aggiornamento, un inserimento, un'unione e un altro inserimento per dare al meccanismo di unione la possibilità di fare il miglior lavoro possibile nel gestire tutte le modifiche avvenute tra il cambiamento che state ritirando e la revisione di punta corrente. - Se state ritirando un cambiamento che si trova 100 revisioni indietro nella cronologia del vostro progetto, le probabilità che il comando patch sia in grado di applicare un diff invertito in maniera pulita non sono molto alte, perché i cambiamenti intercorsi avranno probabilmente rovinato il contesto utilizzato da patch per determinare se può applicare una patch (se questo vi sembra incomprensibile, leggete FIXME per una discussione sul comando patch). In più, il meccanismo di unione di Mercurial riesce a gestire i cambiamenti di nome e di permessi per file e directory e le modifiche ai file binari, mentre patch non è in grado di farlo. + Se state ritirando un cambiamento che si trova 100 revisioni indietro nella cronologia del vostro progetto, le probabilità che il comando patch sia in grado di applicare un diff invertito in maniera pulita non sono molto alte, perché i cambiamenti intercorsi avranno probabilmente rovinato il contesto utilizzato da patch per determinare se può applicare una patch (se questo vi sembra incomprensibile, leggete la per una discussione sul comando patch). In più, il meccanismo di unione di Mercurial riesce a gestire i cambiamenti di nome e di permessi per file e directory e le modifiche ai file binari, mentre patch non è in grado di farlo. @@ -370,7 +370,7 @@ Se avete inserito alcuni cambiamenti nel vostro repository locale e li avete propagati da qualche altra parte, questo non è necessariamente un disastro. Potete proteggervi prevenendo la comparsa di alcuni tipi di changeset sbagliati. Questo è particolarmente facile se di solito il vostro gruppo di lavoro estrae i cambiamenti da un repository centrale. - Configurando alcuni hook su quel repository per validare i changeset in entrata (si veda il FIXME), potete automaticamente evitare che alcuni tipi di changeset sbagliati compaiano nel repository centrale. Con una tale configurazione, alcuni tipi di changeset sbagliati tenderanno naturalmente a estinguersi perché non possono propagarsi verso il repository centrale. Ancora meglio, questo accade senza alcun bisogno di un intervento esplicito. + Configurando alcuni hook su quel repository per validare i changeset in entrata (si veda il ), potete automaticamente evitare che alcuni tipi di changeset sbagliati compaiano nel repository centrale. Con una tale configurazione, alcuni tipi di changeset sbagliati tenderanno naturalmente a estinguersi perché non possono propagarsi verso il repository centrale. Ancora meglio, questo accade senza alcun bisogno di un intervento esplicito. Per esempio, un hook sui cambiamenti in entrata programmato per verificare che un changeset si possa effettivamente compilare è in grado di prevenire involontari guasti al processo di assemblaggio. diff -r f67a90f6c055 -r bdea936798c4 it/ch12-mq.xml --- a/it/ch12-mq.xml Fri Jul 31 23:27:41 2009 +0200 +++ b/it/ch12-mq.xml Fri Jul 31 23:39:38 2009 +0200 @@ -409,7 +409,7 @@ Ci sono alcuni aspetti dell'uso di MQ che non trovano posto in sezioni dedicate, ma che è bene conoscere. Li presento qui, in un unico posto. - Normalmente, quando estraete una patch tramite qpop e poi la reinserite tramite qpush, il changeset che rappresenta la patch dopo l'estrazione/inserimento avrà una diversa identità rispetto al changeset che rappresentava l'hash in precedenza. Leggete FIXME per sapere perché succede questo. + Normalmente, quando estraete una patch tramite qpop e poi la reinserite tramite qpush, il changeset che rappresenta la patch dopo l'estrazione/inserimento avrà una diversa identità rispetto al changeset che rappresentava l'hash in precedenza. Leggete la per sapere perché succede questo. Non è una buona idea usare hg merge per unire i cambiamenti da un altro ramo con un changeset di patch, almeno se volete mantenere la natura di patch di quel changeset e dei changeset che si trovano sotto a quello nella pila delle patch. Se provate a farlo, sembrerà avere successo, ma l'effetto sarà quello di confondere MQ. @@ -465,7 +465,7 @@ &interaction.mq.tools.tools; - Il pacchetto patchutils web:patchutils è inestimabile. Fornisce un insieme di piccole utilità che seguono la filosofia Unix: ognuna fa una singola cosa utile con una patch. Il comando di patchutils che uso di più è filterdiff, che estrae sottinsiemi di un file di patch. Per esempio, data una patch che modifica centinaia di file attraverso dozzine di directory, una singola invocazione di filterdiff può generare una patch più piccola che tocca solo i file il cui nome corrisponde a un particolare pattern di tipo glob. Leggete la FIXME per un altro esempio. + Il pacchetto patchutils web:patchutils è inestimabile. Fornisce un insieme di piccole utilità che seguono la filosofia Unix: ognuna fa una singola cosa utile con una patch. Il comando di patchutils che uso di più è filterdiff, che estrae sottinsiemi di un file di patch. Per esempio, data una patch che modifica centinaia di file attraverso dozzine di directory, una singola invocazione di filterdiff può generare una patch più piccola che tocca solo i file il cui nome corrisponde a un particolare pattern di tipo glob. Leggete la per un altro esempio. diff -r f67a90f6c055 -r bdea936798c4 it/ch14-hgext.xml --- a/it/ch14-hgext.xml Fri Jul 31 23:27:41 2009 +0200 +++ b/it/ch14-hgext.xml Fri Jul 31 23:39:38 2009 +0200 @@ -10,7 +10,7 @@ Nel , abbiamo parlato di diverse estensioni che sono utili per funzionalità relative agli hook: acl aggiunge le liste di controllo d'accesso; bugzilla aggiunge l'integrazione con il sistema Bugzilla per la gestione dei bug; e notify invia email di notifica in reazione all'inserimento di nuovi cambiamenti. - L'estensione Mercurial Queues per la gestione delle patch è talmente inestimabile che merita due capitoli e un'appendice a essa dedicati. Il FIXME copre le nozioni di base; il FIXME ne discute gli argomenti avanzati; e il FIXME entra nei dettagli di ogni comando. + L'estensione Mercurial Queues per la gestione delle patch è talmente inestimabile che merita due capitoli e un'appendice a essa dedicati: il copre le nozioni di base, il ne discute gli argomenti avanzati e il entra nei dettagli di ogni comando. @@ -69,7 +69,7 @@ hg clone crew inotify hg clone http://hg.kublai.com/mercurial/patches/inotify inotify/.hg/patches - Assicuratevi di avere abilitato l'estensione mq per Mercurial Queues. Se non avete mai usato MQ, leggete la sezione FIXME per cominciare velocemente. + Assicuratevi di avere abilitato l'estensione mq per Mercurial Queues. Se non avete mai usato MQ, leggete la per cominciare velocemente. Posizionatevi nel repository inotify e applicate tutte le patch per l'estensione inotify usando l'opzione per il comando qpush. cd inotify @@ -127,7 +127,7 @@ Lanciare uno strumento di diff visuale è altrettanto facile. Ecco come lanciare il visualizzatorekdiff3. hg extdiff -p kdiff3 -o - Se il comando che usate per visualizzare i diff non gestisce le directory, potete facilmente aggirare questo problema con un minimo di programmazione. Per un esempio di un programma simile in azione con l'estensione mq e il comando interdiff, consultate la sezione FIXME. + Se il comando che usate per visualizzare i diff non gestisce le directory, potete facilmente aggirare questo problema con un minimo di programmazione. Per un esempio di un programma simile in azione con l'estensione mq e il comando interdiff, consultate la . Definire alias per i comandi @@ -190,7 +190,7 @@ Per cambiare l'indirizzo email da cui vengono spediti i messaggi usate l'opzione . Questa opzione prende un argomento, l'indirizzo email da usare. - Il comportamento predefinito è quello di inviare diff in formato unified (leggete FIXME per una descrizione del formato), uno per messaggio. Potete invece inviare un bundle eseguibile con l'opzione . + Il comportamento predefinito è quello di inviare diff in formato unified (leggete la per una descrizione del formato), uno per messaggio. Potete invece inviare un bundle eseguibile con l'opzione . I diff in formato unified sono normalmente preceduti da un'intestazione di metadati. Potete ometterla e inviare diff disadorni con l'opzione .