# HG changeset patch # User Giulio@puck # Date 1250258390 -7200 # Node ID 8888db7085e86387c74a953eee7d57eac430617d # Parent 51f5fd4969ebfceee3d33e161492cadab5c4e259 More minor changes to Ch.10. diff -r 51f5fd4969eb -r 8888db7085e8 it/ch10-hook.xml --- a/it/ch10-hook.xml Thu Aug 13 23:51:17 2009 +0200 +++ b/it/ch10-hook.xml Fri Aug 14 15:59:50 2009 +0200 @@ -4,7 +4,7 @@ Mercurial offre un potente meccanismo per consentirvi di effettuare azioni automatiche in risposta agli eventi che accadono in un repository. In alcuni casi, potete persino controllare la risposta di Mercurial a questi eventi. - Il nome che Mercurial usa per indicare una di queste azioni è hook. Gli hook vengono chiamati trigger in alcuni sistemi di controllo di revisione, ma i due nomi si riferiscono alla stessa idea. + Il nome che Mercurial usa per indicare una di queste azioni è hook (letteralmente, gancio). Gli hook vengono chiamati trigger (letteralmente, grilletto) in alcuni sistemi di controllo di revisione, ma i due nomi si riferiscono alla stessa idea. Un'introduzione agli hook di Mercurial @@ -51,7 +51,7 @@ Quando invocate un comando Mercurial in un repository e quel comando causa l'esecuzione di un hook, quell'hook viene eseguito sul vostro sistema, con il vostro account utente, al vostro livello di privilegio. Dato che gli hook sono frammenti di codice eseguibile, dovreste trattarli in maniera adeguatamente sospettosa. Non installate un hook a meno che non confidiate di sapere chi lo ha creato e che cosa fa. - In alcuni casi, potreste essere esposti a hook che non avete installato voi. Se lavorate con Mercurial su un sistema che non vi è familiare, Mercurial eseguirà gli hook definiti nel file ~/.hgrc globale per quel sistema. + In alcuni casi, potreste essere esposti a hook che non avete installato voi. Se lavorate con Mercurial su un sistema che non vi è familiare, sappiate che Mercurial eseguirà gli hook definiti nel file ~/.hgrc globale per quel sistema. Se state lavorando con un repository posseduto da un altro utente, Mercurial può eseguire gli hook definiti nel repository di quell'utente, ma li eseguirà ancora sotto la vostra identità. Per esempio, se estraete i cambiamenti da quel repository tramite hg pull, e il suo file .hg/hgrc definisce un hook outgoing locale, quell'hook verrà eseguito con il vostro account utente anche se non siete il proprietario di quel repository. @@ -280,12 +280,12 @@ La sintassi per le sezioni acl.allow e acl.deny è la stessa. Sulla sinistra di ogni voce si trova un pattern di tipo glob che corrisponde a file e directory relativi alla radice del repository, sulla destra si trova un nome utente. - Nell'esempio seguente, l'utente docwriter può trasmettere cambiamenti solo al sottoalbero doc del repository, mentre l'utente intern può trasmettere cambiamenti a qualsiasi file o directory tranne sorgenti/sensibili. + Nell'esempio seguente, l'utente manualista può trasmettere cambiamenti solo al sottoalbero doc del repository, mentre l'utente stagista può trasmettere cambiamenti a qualsiasi file o directory tranne sorgenti/sensibili. [acl.allow] -doc/** = docwriter +doc/** = manualista [acl.deny] -sorgenti/sensibili/** = intern +sorgenti/sensibili/** = stagista @@ -440,9 +440,9 @@ test: di default, questo hook non spedisce alcuna email, ma stampa il messaggio che avrebbe inviato. Impostate questo elemento a false per consentire la spedizione delle email. La ragione per cui la spedizione delle email è disabilitata di default è che ci vogliono diverse prove per configurare questa estensione esattamente come vorreste, e non starebbe bene infastidire gli interessati con un certo numero di notifiche guaste mentre correggete la vostra configurazione. - config: il percorso di un file di configurazione che contiene le informazioni di sottoscrizione. Questo viene tenuto separato dal file ~/.hgrc principale in modo che possiate mantenerlo in un proprio repository. Le persone possono poi clonare quel repository, aggiornare le proprie sottoscrizioni e trasmettere i cambiamenti al vostro server. - - strip: il numero di parti iniziali da eliminare dal percorso di un repository quando state decidendo se è possibile sottoscriversi alle notifiche per un repository. Per esempio, se i repository sul vostro server si trovano in /home/hg/repos, e notify sta considerando un repository chiamato /home/hg/repos/condivisi/test, impostare strip a 4 farà in modo che notify restringa il percorso da considerare a condivisi/test e associ le sottoscrizioni a questo percorso. + config: il percorso di un file di configurazione che contiene le informazioni di iscrizione. Questo viene tenuto separato dal file ~/.hgrc principale in modo che possiate mantenerlo in un proprio repository. Le persone possono poi clonare quel repository, aggiornare le proprie iscrizioni e trasmettere i cambiamenti al vostro server. + + strip: il numero di parti iniziali da eliminare dal percorso di un repository quando state decidendo se è possibile iscriversi al servizio di notifica per un repository. Per esempio, se i repository sul vostro server si trovano in /home/hg/repos, e notify sta considerando un repository chiamato /home/hg/repos/condivisi/test, impostare strip a 4 farà in modo che notify restringa il percorso da considerare a condivisi/test e associ le iscrizioni a questo percorso. template: il testo del template da usare per inviare i messaggi. Questo specifica i contenuti sia delle intestazioni che del corpo del messaggio. @@ -492,7 +492,7 @@ Se un hook restituisce il valore booleano falso, si considera terminato con successo. Se restituisce il valore booleano vero oppure solleva un'eccezione, si considera fallito. Un modo utile di pensare a questa convenzione di esecuzione è dimmi se hai fallito. - Notate che gli identificatori di changeset vengono passati agli hook Python sotto forma di stringhe esadecimali, non degli hash binari che la API Mercurial usa normalmente. Per convertire un hash da esadecimale a binario, usate la funzione bin. + Notate che gli identificatori di changeset vengono passati agli hook Python sotto forma di stringhe esadecimali, non degli hash binari che la API Mercurial usa normalmente. Per convertire un hash da esadecimale a binario, usate la funzione mercurial.node.bin.