# HG changeset patch # User Giulio@puck # Date 1250361250 -7200 # Node ID 0727262f69d14a4613cdc2d89e6d4553561ad6d2 # Parent 8789532f1583f8e674310b040049f979d692b995 Defaulting. diff -r 8789532f1583 -r 0727262f69d1 it/appB-mq-ref.xml --- a/it/appB-mq-ref.xml Sat Aug 15 20:29:00 2009 +0200 +++ b/it/appB-mq-ref.xml Sat Aug 15 20:34:10 2009 +0200 @@ -67,7 +67,7 @@ <command role="hg-ext-mq">qheader</command>&emdash;mostra l'intestazione/descrizione di una patch - Il comando qheader stampa l'intestazione, o descrizione, di una patch. Di default, stampa l'intestazione dell'ultima patch applicata. Dato un argomento, stampa l'intestazione della patch indicata. + Il comando qheader stampa l'intestazione, o descrizione, di una patch. Per default, stampa l'intestazione dell'ultima patch applicata. Dato un argomento, stampa l'intestazione della patch indicata. @@ -149,7 +149,7 @@ <command role="hg-ext-mq">qpush</command>&emdash;inserisce le patch in cima alla pila - Il comando qpush aggiunge le patch in cima alla pila delle patch applicate. Di default, aggiunge solo una patch. + Il comando qpush aggiunge le patch in cima alla pila delle patch applicate. Per default, aggiunge solo una patch. Questo comando crea un nuovo changeset per rappresentare ogni patch applicata e aggiorna la directory di lavoro per applicare gli effetti delle patch. diff -r 8789532f1583 -r 0727262f69d1 it/ch04-concepts.xml --- a/it/ch04-concepts.xml Sat Aug 15 20:29:00 2009 +0200 +++ b/it/ch04-concepts.xml Sat Aug 15 20:34:10 2009 +0200 @@ -204,7 +204,7 @@ - Se avete appena cominciato a lavorare con Mercurial, dovreste tenere a mente un errore comune, che è quello di usare il comando hg pull senza alcuna opzione. Di default, il comando hg pull non aggiorna la directory di lavoro, ma propagherà i nuovi cambiamenti nel vostro repository lasciandola sincronizzata allo stesso changeset in cui si trovava prima della propagazione. Se ora effettuate alcuni cambiamenti e poi li inserite, creerete una nuova testa, perché la vostra directory di lavoro non è stata sincronizzata alla revisione di punta corrente. Per combinare le operazioni di estrazione e aggiornamento, eseguite hg pull -u. + Se avete appena cominciato a lavorare con Mercurial, dovreste tenere a mente un errore comune, che è quello di usare il comando hg pull senza alcuna opzione. Per default, il comando hg pull non aggiorna la directory di lavoro, ma propagherà i nuovi cambiamenti nel vostro repository lasciandola sincronizzata allo stesso changeset in cui si trovava prima della propagazione. Se ora effettuate alcuni cambiamenti e poi li inserite, creerete una nuova testa, perché la vostra directory di lavoro non è stata sincronizzata alla revisione di punta corrente. Per combinare le operazioni di estrazione e aggiornamento, eseguite hg pull -u. Ho messo la parola errore tra virgolette perché tutto quello che dovete fare per rettificare la situazione in cui avete creato una nuova testa per sbaglio è eseguire il comando hg merge seguito da hg commit. In altre parole, questo errore non ha quasi mai conseguenze negative, ma è solo qualcosa che può sorprendere i nuovi utenti. Più avanti, discuterò altri modi per evitare questo comportamento e le ragioni per cui Mercurial si comporta in questo modo inizialmente sorprendente. diff -r 8789532f1583 -r 0727262f69d1 it/ch06-collab.xml --- a/it/ch06-collab.xml Sat Aug 15 20:29:00 2009 +0200 +++ b/it/ch06-collab.xml Sat Aug 15 20:34:10 2009 +0200 @@ -207,7 +207,7 @@ Il comando hg serve non sa nulla del firewall che potreste avere installato a protezione del vostro sistema o della vostra rete: non è in grado di scoprire se avete un firewall né di controllarlo. Se altre persone non riescono ad accedere a un'istanza di hg serve in esecuzione, la seconda cosa che dovreste fare (dopo aver verificato che stiano usando l'URL corretto) è controllare la configurazione del vostro firewall. - Di default, hg serve accetta connessioni in entrata sulla porta 8000. Se un altro processo sta già occupando la porta che volete usare, potete specificare una porta differente tramite l'opzione . + Per default, hg serve accetta connessioni in entrata sulla porta 8000. Se un altro processo sta già occupando la porta che volete usare, potete specificare una porta differente tramite l'opzione . Normalmente, quando hg serve parte, non stampa alcuna informazione, cosa che potrebbe intimidirvi. Se volete avere una conferma che il comando stia eseguendo correttamente, e volete scoprire l'esatto URL che dovreste inviare ai vostri collaboratori, lanciate hg serve con l'opzione . @@ -316,7 +316,7 @@ Se l'errore è di tipo permission denied (permesso negato), potreste aver digitato in maniera inesatta il nome utente sul server, o la passphrase della vostra chiave, o la password dell'utente remoto. - Riepilogando, se avete problemi di comunicazione con il demone ssh del server, per prima cosa assicuratevi che ne esista uno in esecuzione. Su molti sistemi sarà installato ma disabilitato di default. Una volta che avete compiuto questo passo, dovreste controllare che il firewall del server sia configurato per consentire connessioni in entrata verso la porta su cui il demone ssh si trova in ascolto (di solito, la 22). Non preoccupatevi di altri errori di configurazione più esotici fino a quando non avete controllato questi due. + Riepilogando, se avete problemi di comunicazione con il demone ssh del server, per prima cosa assicuratevi che ne esista uno in esecuzione. Su molti sistemi sarà installato ma disabilitato per default. Una volta che avete compiuto questo passo, dovreste controllare che il firewall del server sia configurato per consentire connessioni in entrata verso la porta su cui il demone ssh si trova in ascolto (di solito, la 22). Non preoccupatevi di altri errori di configurazione più esotici fino a quando non avete controllato questi due. Se state usando un agente di autenticazione sul lato client per memorizzare le passphrase per le vostre chiavi, dovreste essere in grado di accedere al server senza che vi vengano chieste una passphrase o una password. Se vi viene comunque richiesta una passphrase, ecco alcune possibili cause. @@ -455,7 +455,7 @@ Per completare i miei esperimenti, ho provato a configurare il sempre più popolare server web lighttpd per condividere lo stesso repository come appena descritto nel caso di Apache. Avevo già superato tutti i problemi illustrati con Apache, molti dei quali non sono dovuti a uno specifico server. Come risultato, ero piuttosto sicuro che i miei permessi per i file e le directory fossero corretti e che il mio script hgweb.cgi fosse adeguatamente modificato. - Una volta messo in esecuzione Apache, riuscire a condividere il repository tramite lighttpd è stato un attimo (in altre parole, anche se state provando a usare lighttpd, dovreste leggere la sezione su Apache). Per prima cosa ho dovuto modificare la sezione mod_access del suo file di configurazione per abilitare mod_cgi e mod_userdir, che erano entrambi disabilitati di default sul mio sistema. Poi ho aggiunto alcune righe alla fine del file di configurazione per configurare questi moduli. + Una volta messo in esecuzione Apache, riuscire a condividere il repository tramite lighttpd è stato un attimo (in altre parole, anche se state provando a usare lighttpd, dovreste leggere la sezione su Apache). Per prima cosa ho dovuto modificare la sezione mod_access del suo file di configurazione per abilitare mod_cgi e mod_userdir, che erano entrambi disabilitati per default sul mio sistema. Poi ho aggiunto alcune righe alla fine del file di configurazione per configurare questi moduli. userdir.path = "public_html" cgi.assign = (".cgi" => "" ) Fatto questo, lighttpd ha funzionato immediatamente. Se avessi configurato lighttpd prima di Apache, mi sarei quasi certamente imbattuto negli stessi problemi di configurazione a livello di sistema incontrati con Apache. Tuttavia, ho trovato lighttpd notevolmente più facile da configurare di Apache, anche se ho usato Apache per più di una decade e questa è stata la mia prima esperienza con lighttpd. @@ -476,7 +476,7 @@ Una volta effettuata questa configurazione di base, provando a visitare http://nomemacchina/~nomeutente/hgwebdir.cgi con il vostro browser, dovreste vedere una lista di repository vuota. Se ottenete una finestra bianca o un messaggio di errore, provate a ripercorrere la lista di possibili problemi già vista nella . - Lo script hgwebdir.cgi si basa su un file di configurazione esterno. Di default, cerca un file chiamato hgweb.config nella stessa directory in cui si trova. Dovrete creare questo file e renderlo leggibile agli altri. Il formato di questo file è simile a quello di un file ini di Windows, riconoscibile dal modulo ConfigParser web:configparser di Python. + Lo script hgwebdir.cgi si basa su un file di configurazione esterno. Per default, cerca un file chiamato hgweb.config nella stessa directory in cui si trova. Dovrete creare questo file e renderlo leggibile agli altri. Il formato di questo file è simile a quello di un file ini di Windows, riconoscibile dal modulo ConfigParser web:configparser di Python. Il modo più facile di configurare hgwebdir.cgi è tramite una sezione chiamata collections. Questo pubblicherà automaticamente tutti i repository contenuti nelle directory che nominate. La sezione dovrebbe somigliare a questa: [collections] @@ -515,7 +515,7 @@ L'interfaccia web di Mercurial permette agli utenti di scaricare un archivio di qualsiasi revisione. Questo archivio conterrà la fotografia della directory di lavoro scattata su quella revisione, ma non conterrà una copia dei dati del repository. - Di default, questa funzione è disabilitata. Per abilitarla, dovrete aggiungere un elemento allow_archive alla sezione web del vostro file ~/.hgrc come spiegato in dettaglio nella prossima sezione. + Per default, questa funzione è disabilitata. Per abilitarla, dovrete aggiungere un elemento allow_archive alla sezione web del vostro file ~/.hgrc come spiegato in dettaglio nella prossima sezione. Le opzioni di configurazione web @@ -567,7 +567,7 @@ [web] style = gitweb - templates: percorso. La directory in cui cercare i file di template. Di default, Mercurial li cerca nella directory in cui è stato installato. + templates: percorso. La directory in cui cercare i file di template. Per default, Mercurial li cerca nella directory in cui è stato installato. Se state usando hgwebdir.cgi, potete inserire gli elementi di configurazione motd e style nella sezione web del file hgweb.config invece che nel file ~/.hgrc, nel caso lo troviate più conveniente. @@ -589,11 +589,11 @@ accesslog: percorso. Il nome di un file in cui tenere un registro degli accessi. Normalmente, il comando hg serve scrive queste informazioni sul canale di uscita predefinito, non su un file. Le voci del registro vengono scritte nel formato combinato che è uno standard usato da quasi tutti i server web. - address: stringa. L'indirizzo locale su cui il server dovrebbe essere in ascolto per le connessioni in entrata. Di default, il server è in ascolto su tutti gli indirizzi. + address: stringa. L'indirizzo locale su cui il server dovrebbe essere in ascolto per le connessioni in entrata. Per default, il server è in ascolto su tutti gli indirizzi. errorlog: percorso. Il nome di un file in cui tenere un registro degli errori. Normalmente, il comando hg serve scrive queste informazioni sul canale di uscita predefinito, non su un file. - ipv6: booleano. Indica se usare il protocollo IPv6. Di default, IPv6 non viene usato. + ipv6: booleano. Indica se usare il protocollo IPv6. Per default, IPv6 non viene usato. port: intero. Il numero di porta TCP su cui il server dovrebbe essere in ascolto. Il numero di porta predefinito è 8000. @@ -619,7 +619,7 @@ Rendere Mercurial meno prevenuto - Un file hgrc globale può essere utile nella situazione in cui gli utenti stanno estraendo cambiamenti posseduti da altri utenti. Di default, Mercurial non si fida della maggior parte degli elementi di configurazione contenuti nel file .hg/hgrc all'interno di un repository che è posseduto da un utente differente. Se cloniamo o estraiamo i cambiamenti da un repository di questo tipo, Mercurial stamperà un avvertimento dicendo che non si fida dei dati nel file .hg/hgrc di quel repository. + Un file hgrc globale può essere utile nella situazione in cui gli utenti stanno estraendo cambiamenti posseduti da altri utenti. Per default, Mercurial non si fida della maggior parte degli elementi di configurazione contenuti nel file .hg/hgrc all'interno di un repository che è posseduto da un utente differente. Se cloniamo o estraiamo i cambiamenti da un repository di questo tipo, Mercurial stamperà un avvertimento dicendo che non si fida dei dati nel file .hg/hgrc di quel repository. Se tutti i membri di uno specifico gruppo Unix fanno parte dello stesso gruppo di sviluppo e dovrebbero fidarsi l'uno delle impostazioni di configurazione dell'altro, o se vogliamo fidarci di alcuni utenti particolari, possiamo rimpiazzare il comportamento guardingo predefinito di Mercurial creando un file hgrc di sistema come il seguente: diff -r 8789532f1583 -r 0727262f69d1 it/ch10-hook.xml --- a/it/ch10-hook.xml Sat Aug 15 20:29:00 2009 +0200 +++ b/it/ch10-hook.xml Sat Aug 15 20:34:10 2009 +0200 @@ -359,7 +359,7 @@ Correlare i nomi utente Mercurial ai nomi utente Bugzilla - Di default, l'hook bugzilla prova a utilizzare l'indirizzo email di chi ha eseguito il commit del changeset come il nome utente Bugzilla con cui aggiornare un bug. Se questa impostazione non vi soddisfa, potete correlare gli indirizzi email degli utenti Mercurial ai nomi utente Bugzilla tramite una sezione usermap. + Per default, l'hook bugzilla prova a utilizzare l'indirizzo email di chi ha eseguito il commit del changeset come il nome utente Bugzilla con cui aggiornare un bug. Se questa impostazione non vi soddisfa, potete correlare gli indirizzi email degli utenti Mercurial ai nomi utente Bugzilla tramite una sezione usermap. Ogni elemento nella sezione usermap contiene un indirizzo email sulla sinistra e un nome utente Bugzilla sulla destra. [usermap] @@ -424,7 +424,7 @@ Come l'hook bugzilla, anche l'hook notify è guidato da un template, in modo che possiate personalizzare il contenuto dei messaggi di notifica inviati. - Di default, l'hook notify include un diff di ogni changeset che spedisce, ma potete limitare le dimensioni del diff oppure disattivarlo interamente. L'inclusione del diff è utile per consentire agli interessati di revisionare i cambiamenti immediatamente piuttosto che obbligarli a cliccare per seguire un URL. + Per default, l'hook notify include un diff di ogni changeset che spedisce, ma potete limitare le dimensioni del diff oppure disattivarlo interamente. L'inclusione del diff è utile per consentire agli interessati di revisionare i cambiamenti immediatamente piuttosto che obbligarli a cliccare per seguire un URL. Configurare l'hook <literal role="hg-ext">notify</literal> @@ -438,7 +438,7 @@ Le informazioni di configurazione per questo hook si trovano nella sezione notify del file ~/.hgrc. - 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. + test: per 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 per 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 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. @@ -446,7 +446,7 @@ template: il testo del template da usare per inviare i messaggi. Questo specifica i contenuti sia delle intestazioni che del corpo del messaggio. - maxdiff: il massimo numero di righe di dati di diff da aggiungere alla fine di un messaggio. Se un diff è più lungo di questo limite, viene troncato. Di default, questo valore è impostato a 300. Impostate questo valore a 0 per omettere i diff dalle email di notifica. + maxdiff: il massimo numero di righe di dati di diff da aggiungere alla fine di un messaggio. Se un diff è più lungo di questo limite, viene troncato. Per default, questo valore è impostato a 300. Impostate questo valore a 0 per omettere i diff dalle email di notifica. sources: una lista di modalità di provenienza dei changeset da considerare. Questo vi permette di limitare notify in modo che spedisca email riguardanti solo utenti remoti che hanno trasmesso modifiche a questo repository attraverso un server, per esempio. Leggete la per sapere quali modalità potete specificare qui.