Manuale di kdesvn

# Manuale di kdesvn

Rajko Albrecht `<ral@alwins-world.de>`

Traduzione del documento: Paolo Zamponi
Revisione kdesvn 2.0 (22/05/2016)

Diritto d'autore © 2005, 2008 Rajko Albrecht

Nota Legale

kdesvn - un client di subversion della comunità KDE.

Lista delle tabelle

2.1. Proprietà dell'integrazione con il gestore dei bug
3.1. Panoramica dei comandi per `KIO::ksvn::special`
3.2. Contenuto dei metadati
4.1. Comandi di Subversion
4.2. Parametri per i comandi di Subversion
5.1. Subversion
5.2. Attività temporizzate

Lista degli esempi

3.1. Recuperare le differenze tra le revisioni usando KDiff3 e KIO::ksvn
4.1. Visualizza i log degli ultimi 20 depositi
4.2. Stampa le differenze con il deposito, cioè le modifiche locali
4.3. Stampare le differenze tra le revisioni
4.4. Ottenere le differenze tra due versioni contrassegnate

Capitolo 1. Introduzione
Introduzione

# Capitolo 1. Introduzione

kdesvn è un client di subversion della comunità KDE.

Dovresti avere delle conoscenze su subversion stesso, ma fortunatamente molti elementi sono autoesplicativi.

Puoi spedire segnalazioni di errori e funzionalità desiderate tramite il sistema di tracciamento degli errori di KDE.

## Termini

Se hai familiarità con il sistema di controllo della versione puoi evitare di leggere questo manuale - oppure leggerlo e correggere l'autore ;)

Deposito

  Luogo per l'immagazzinamento centrale dei dati. Può essere un database o un filesystem piatto. Senza speciali client non saresti in grado di leggere i dati in esso contenuti. Per i depositi Subversion kdesvn è uno di questi client.

Copia di lavoro

  Una copia piatta di un deposito in un filesystem locale. È usato come un qualsiasi gestore di file, per modificare i file e così via. Puoi leggere le informazioni RCS con un client come kdesvn.

  Ricorda che subversion non sa niente di KIO, quindi una copia di lavoro deve risiedere in una zona dove può essere facilmente raggiungibile senza un protocollo specifico; quindi qualcosa tipo «fish://» non è permesso.

WebDav

  WebDav è un protocollo che ti permette di modificare i file in un server web remoto. Subversion è uno speciale tipo di WebDAV quando i depositi sono accessibili tramite un server web. Nell'uso normale questo avviene a sola lettura, ma con una configurazione speciale puoi abilitare WebDAV anche all'accesso in scrittura, attraverso browser specializzati. kdesvn NON è un client webdav, ma, per mezzo del protocollo «webdav://», può esserlo Konqueror. Ad ogni modo kdesvn ti permette di sfogliare l'albero del deposito (con «http://»)

Capitolo 2. Uso di kdesvn
Uso di kdesvn

# Capitolo 2. Uso di kdesvn

## Funzionalità di kdesvn

kdesvn utilizza i seguenti protocolli per sfogliare i depositi:

http

  Protocollo standard per la navigazione nel web.

https

  Protocollo standard per la navigazione criptata nel web.

(k)svn+http

  Protocollo standard per la navigazione nel web. Può essere utilizzato per permettere a Konqueror di chiamare automaticamente kdesvn.

(k)svn+https

  Protocollo standard per la navigazione criptata nel web. Può essere usato per permettere a Konqueror di chiamare automaticamente kdesvn.

(k)svn+file

  Protocollo per il deposito locale. Può essere utilizzato per permettere a Konqueror di chiamare automaticamente kdesvn.

(k)svn

  Protocollo server proprio di Subversion

(k)svn+ssh

  Subversion attraverso ssh.

file

  Accesso diretto al deposito. kdesvn controlla se un percorso è un deposito o ad una copia di lavoro, e lo apre in maniera corretta. Per subversion, `file:///dir` e `/dir` non sono la stessa cosa!

Questo può essere usato anche per gli URL passati da riga di comando.

Iniziamo con subversion e kdesvn
Iniziamo con subversion e kdesvn

## Iniziamo con subversion e kdesvn

Questa sezione è principalmente rivolta ai principianti che non sono pratici di subversion; spiega come funzionano subversion e i sistemi di controllo delle versioni (RCS, Revision Control Systems).

### Creazione della copia di lavoro

### Attenzione

Le copie di lavoro DEVONO essere accessibili localmente. Subversion non conosce pseudo file system come `smb://` o `fish://`. kdesvn se possibile ne interpreta alcuni (come `system:/home`), ma questo non è possibile in una rete.

Prima di tutto devi creare una copia di lavoro del tuo deposito. Per questo seleziona Subversion → Generale → Esegui il checkout di un deposito. In questa finestra devi selezionare l'URL del deposito che vuoi usare, ad es., qualcosa come `http://localhost/repos/myproject`. Sono permesse anche le sottocartelle, ad es., `http://localhost/repos/myproject/trunk` o simili.

Seleziona o crea la cartella locale in cui dovrebbe risiedere la copia di lavoro.

Ultimo, ma non per importanza, la revisione da controllare, che nella maggior parte dei casi dovrebbe essere «HEAD». Questo assicura che l'ultima versione immagazzinata sia quella referenziata.

Dopo aver fatto clic su OK kdesvn creerà la tua nuova copia di lavoro e, se la relativa casella è stata spuntata, la aprirà.

Quando apri un deposito per sfogliarlo puoi contrassegnare una cartella, e quindi selezionare Subversion → Deposito → Esegui il checkout dell'attuale percorso del deposito e compilare le finestre come descritto in precedenza. A questo punto verrà controllato solo il percorso selezionato.

### Invio delle modifiche locali

Segna la voce o le voci che vuoi inviare, quindi seleziona Subversion → Copia di lavoro → Invia (Ctrl+#)

Se tenti di inviare senza selezionare alcun elemento, kdesvn prende l'elemento più in alto nella copia di lavoro aperta, cioè il percorso della copia di lavoro stessa.

Questa operazione è sempre ricorsiva, cioè, se selezioni una cartella, kdesvn spedirà sempre tutti gli elementi modificati al di sotto di essa. Quando imposti che vuoi revisionare tutti gli elementi prima dell'invio, kdesvn elenca nella finestra successiva tutti gli elementi che dovrebbe spedire. In questo caso il programma invia tutti gli elementi non ricorsivamente, diversamente potresti selezionare per l'aggiunta e l'invio gli elementi fuori dal controllo di revisione (se non sono marcati per essere ignorati). In questo modo puoi vedere se ci sono elementi più nuovi di cui ti sei dimenticato.

Inserisci un messaggio di log riguardo a quello che stai inviando, premi OK ed il trasferimento ha inizio.

### Aggiornamento della copia di lavoro

Questo mantiene la copia di lavoro sincronizzata con il deposito. Puoi impostare che kdesvn controlli una copia di lavoro all'apertura, alla ricerca degli elementi nuovi o di quelli modificati nel depositato. Questo avviene in background, e nel frattempo puoi lavorare con kdesvn; alla fine verranno segnati gli elementi con versioni più nuove o le cartelle che li contengono.

Per recuperare le modifiche, seleziona Subversion → Copia di lavoro → Aggiorna a HEAD, e aggiornerai alla versione più recente. Se invece vuoi una revisione specifica, seleziona Subversion → Copia di lavoro → Aggiorna alla revisione... e seleziona quella desiderata nella finestra successiva.

Se non ci sono elementi selezionati allora verranno aggiornate tutte le copie di lavoro, diversamente l'aggiornamento sarà ricorsivo solo sugli elementi selezionati.

### Aggiunte ed eliminazioni nella copia di lavoro

Entrambe le operazioni richiedono due passi: prima aggiunta o eliminazione, poi invio delle modifiche al deposito. Prima dell'invio puoi annullare queste operazioni.

#### Aggiunta di elementi

L'aggiunta di elementi nella copia di lavoro può essere fatta in tre modi:

Seleziona gli elementi fuori dal controllo di revisione e aggiungili

  Copia con Konqueror o con qualsiasi altro strumento nell'area della copia di lavoro. Vai nell'elenco, segnali e seleziona Subversion → Copia di lavoro → Aggiungi i file e le cartelle selezionate (Inserisci). Seleziona Subversion → Copia di lavoro → Aggiungi i file e le cartelle selezionate ricorsivamente (Inserisci) se vuoi aggiungere delle nuove cartelle con tutti i sotto-elementi.

Controllo e aggiunta ricorsivi

  Puoi controllare se nella copia di lavoro ci sono degli elementi fuori dal controllo di revisione: dopo aver selezionato Subversion → Copia di lavoro → Controlla gli elementi senza versione si aprirà una finestra che li elencherà. Premendo su OK verranno aggiunti alla copia di lavoro tutti gli elementi selezionati; deseleziona prima quelli che vuoi che rimangano senza questo controllo.

Trascinamento

  Segna in Konqueror o in un qualsiasi gestore di file compatibile gli elementi che vuoi aggiungere, e trascinali in kdesvn. Puoi rilasciarli in cartelle all'interno della copia di lavoro aperta: in questo modo kdesvn copia qui gli elementi trascinati ed li aggiunge.

#### Eliminazione dalla copia di lavoro ed eliminazione dal controllo di versione

L'eliminazione è sempre ricorsiva: per esempio, quando elimini una cartella vengono eliminati anche i sotto-elementi. Segna quello che vuoi, e seleziona l'elemento del menu Subversion → Generale → Elimina i file e le cartelle selezionate: gli elementi verranno rimossi dal controllo di versione ed eliminati dal disco.

### Visualizzare i log

La visualizzazione del log può iniziare con Ctrl+L quando uno o nessun elemento è marcato nella panoramica. A seconda delle tue impostazioni (vedi Tabella 5.1, «Subversion») kdesvn recupera alcune voci del registro che cominciano da «HEAD» e le visualizza.

#### La finestra di visualizzazione del log

Nella parte sinistra puoi vedere l'elenco delle voci del registro che kdesvn ha recuperato; sono in formato adattato, cioè ridotto ad una riga, mentre il messaggio completo appare nella finestra in alto a destra, non appena selezioni una voce. Nella parte in basso a destra vedrai l'elenco dei file modificati. Queste finestre appaiono solo se viene prelevato questo elenco, a seconda delle tue impostazioni.

Con i pulsanti in alto puoi selezionare un altro intervallo per i log da visualizzare.

### Importante

Questo intervallo viene chiamato senza nessun limite preimpostato; stai quindi attento a quello che stai per fare, specialmente nei grandi depositi.

I pulsanti in basso funzionano sempre sull'elemento selezionato per visualizzarne i log, non su quello selezionato nell'elenco dei file modificati. Quindi, quando selezioni Diff con la precedente vengono generate le differenze con tutti gli elementi modificati in questa revisione o precedenti la voce di subversion selezionata in precedenza per recuperare i log. Lo stesso per Mostra le differenze tra revisioni.

Naturalmente Annota funziona solo se l'elemento da registrare è un file.

Su tutte le voci delle liste (di entrambe le liste) c'è un menu contestuale con alcune operazioni aggiuntive: nella lista di sinistra questa è Imposta la revisione al lato sinistro della diff (cioè l'inizio della revisione) e Imposta la revisione al lato destro della diff (cioè la fine o l'obiettivo di diff, nel formato unificato la parte segnata con `+++`). Se selezioni queste revisioni, esse sono marcate da alcune piccole frecce.

Lavorare sui depositi
Lavorare sui depositi

## Lavorare sui depositi

Se vuoi semplicemente sfogliare i depositi puoi usare Konqueror o Dolphin, oppure un gestore di file simile: apri un URL con il protocollo descritto in la sezione chiamata «Funzionalità di kdesvn» (le varianti che iniziano per «k»), e il contenuto verrà visualizzato. In questo modo possono funzionare semplici operazioni come la copia, lo spostamento o l'eliminazione. Quando aggiungi un'interrogazione «?rev=`xxx`» l'elenco inizia da una revisione specifica. Il formato dell'interrogazione sulla revisione è descritto in Appendice A, Sintassi per le revisioni, qualche informazione in più su KIO::ksvn si trova in Capitolo 3, Konqueror, KIO, kdesvn

Funziona tutto tranne la Copia, che può essere fatta solo mentre si sfoglia la revisione HEAD.

### Ripristinare i file eliminati

In subversion il ripristino dei file eliminati è un'operazione di copia di un elemento in una revisione specifica. Quindi, quando pianifichi di ripristinare, cerca nel deposito una revisione precedente all'eliminazione dell'elemento. Seleziona Subversion → Deposito → Seleziona la revisione da sfogliare ed inserisci quella desiderata. kdesvn visualizzerà il contenuto di quella sessione; segna la voce che vuoi ripristinare, quindi seleziona Subversion → Generale → Copia (Ctrl+C). All'interno della finestra successiva la destinazione è sempre la revisione HEAD, mentre la sorgente è la revisione che selezioni sfogliando: inserisci il percorso e premi OK, e la copia inizia. Dopo che la questa è terminando con successo passa alla revisione HEAD, e l'elemento ripristinato dovrebbe apparire.

### Importare le cartelle

A causa delle delle restrizioni di subversion possono essere importate solo le cartelle, non i singoli file.

#### Con il trascinamento

Segna in un qualsiasi gestore di file compatibile la cartella che vuoi importare, e trascinala nella voce della cartella in kdesvn dove la vuoi importare.

#### Seleziona la cartella da importare con il navigatore delle cartelle

Segna la cartella dove vuoi importare una nuova cartella, quindi seleziona Subversion → Generale → Importa cartelle nell'attuale e seleziona la cartella che desideri.

Altre operazioni
Altre operazioni

## Altre operazioni

### Unione

Apri un deposito o una copia di lavoro, segna gli elementi che vuoi fondere e scegli Subversion → Generale → Fondi; inserisci quindi nella finestra successiva i valori desiderati. Se sono state selezionate da un deposito, la sorgente 1 e la 2 vengono riempite, diversamente, se vengono aperte da una copia di lavoro, la destinazione viene riempita con l'elemento attualmente selezionato. La gestione di questo parametro è leggermente diversa a seconda che le differenze vengano create con la funzione interna di subversion oppure si usi un programma esterno per la fusione come KDiff3. La destinazione deve SEMPRE essere una cartella o un file locale. Puoi passare da una fusione interna o esterna con la casella Utilizza unificatore esterno.

#### Unione interna

Il significato è esattamente come nello strumento a riga di comando proprio di subversion: quando sorgente1 and sorgente2 sono uguali, le revisioni iniziale e finale devono essere diverse. Se le sorgenti non sono uguali la revisione iniziale viene assegnata a sorgente1, e quella finale a sorgente2. La destinazione DEVE essere una copia di lavoro, altrimenti subversion invierà un messaggio di errore.

Le caselle hanno i significati seguenti:

Ricorsiva

  Rende tutte le operazioni ricorsive quando si lavora con le cartelle.

Gestisci gli elementi non correlati come correlati

  Se impostato, verranno fatte le differenze degli elementi non correlati come se fossero correlati. Diversamente subversion rimuoverà una parte e la aggiungerà all'altra.

Forza l'eliminazione degli elementi modificati/senza revisione

  Se non viene impostato, qualora l'unione richiedesse l'eliminazione di un elemento modificato o privo del controllo di versione, l'unione in subversion fallirebbe. Diversamente, questo elemento sarà eliminato.

Solo esecuzione di prova senza modifiche

  Se viene selezionato subversion invia solo la notifica di cosa avrebbe fatto, ma non modifica la copia di lavoro.

#### Usare un programma esterno per l'unione

Vedi la sezione chiamata «Diff e unione» per i dettagli su come impostare lo strumento esterno di unione. kdesvn genera la riga di comando come viene là descritto. Prima di questo, fa come descritto di seguito:

1. Assegna la revisione di partenza alla sorgente 1 e quella finale alla sorgente 2, quindi controlla se sono diverse (nel percorso e/o nella revisione). Se sì è una fusione a tre vie, altrimenti una semplice, da sorgente a destinazione, come nel caso che la sorgente 2 sia vuota.

2. Fa un'esportazione in una cartella temporanea. Se è una unione semplice viene unita la sorgente 1 alla revisione di partenza, altrimenti entrambe le sorgenti con le loro revisioni. Se l'elemento è un file e non una cartella, allora ottiene il contenuto in una specifica revisione.

3. Genera la chiamata al tuo programma di fusione esterno secondo la configurazione nelle impostazioni. L'output di errore verrà visualizzato nella finestra dei log, e in questo modo potrai vedere cosa è andato storto (ovviamente se qualcosa è andato storto).

La destinazione, a differenza dell'unione interna, può essere un file o una cartella piana, fuori dal controllo di versione, perché gli strumenti esterni non si preoccupano di questo aspetto.

Se ricorsivo non è impostato, l'esportazione viene fatta in maniera piatta. Fai attenzione: se lo fai con una copia di lavoro gli esterni non saranno esportati.

### Risolvere i conflitti

Di per sé kdesvn non ha un modulo per la risoluzione dei conflitti; puoi però usare un software esterno direttamente da kdesvn. Trovi una descrizione di come configurare quest'applicazione in la sezione chiamata «Programma di risoluzione dei conflitti».

Quando un elemento viene marcato con lo stato impostato su «in conflitto» (vedrai su questo elemento una croce rossa nella vista ad elenco), puoi selezionare Subversion → Copia di lavoro → Risolvi i conflitti, o anche Risolvi i conflitti dal menu contestuale (solo sugli elementi in conflitto) e kdesvn avvierà il programma che hai impostato (o quello predefinito). Una volta finito il lavoro dovresti marcare gli elementi come risolti (Subversion → Copia di lavoro → Marca come risolto), altrimenti non sarai in grado di depositare le tue modifiche.

Proprietà usate da kdesvn per la configurazione
Proprietà usate da kdesvn per la configurazione

## Proprietà usate da kdesvn per la configurazione

### Integrazione con il gestore dei bug

Il progetto TortoiseSVN ha sviluppato un bel sistema proprietario per l'integrazione con il gestore dei bug nell'interfaccia di subversion. L'attuale versione di kdesvn non supporta campi aggiuntivi nella finestra di invio (lo saranno in seguito), e riconosce solo le seguenti proprietà:

Tabella 2.1. Proprietà dell'integrazione con il gestore dei bug

Proprietà | Descrizione | Esempio
--- | --- | ---
`bugtraq:url` | Conserva l'URL per il gestore dei bug; deve contenere il marcatore `%BUGID%`. | https://bugs.kde.org/show_bug.cgi?id=%BUGID%

`bugtraq:logregex`

Contiene una o due espressioni regolari, separate da una nuova riga.

Se viene impostata una sola espressione, allora l'ID del bug mostrato deve essere associato nel gruppo delle stringhe con espressioni regolari. Se invece vengono impostate due espressioni, allora la prima viene usata per cercare una stringa che è relativa all'ID del bug ma che può anche contenere qualcos'altro (ad es. «Problema #123» oppure «risolve il problema 123»). La seconda espressione viene usata per estrarre solamente l'ID del bug dalla stringa estratta con la prima espressione.

Fai attenzione agli spazi indesiderati dopo l'espressione regolare, e non dimenticarti delle parentesi intorno alla descrizione del numero.

Singolo (utilizzabile con TRAC):

    #(\d+)

Ora tutti i numeri come `#190` saranno elaborati e tradotti in un URL nel registro di output.

Due espressioni:

    [Ii]ssue #?(\d+)(,? ?#(\d+))*
    (\d+)

### Ricorda

Fai attenzione agli spazi dopo `(\d+)`! Questo è uno degli errori più comuni che causa la non corrispondenza di queste espressioni!

Nei depositi locali aperti (cioè protocollo `file://`) e nelle copie di lavoro queste proprietà saranno cercate in alto, dalla cartella aperta fino a quando non vengono trovate, o fino a quando viene raggiunto il livello superiore di subversion. Nei depositi aperti via rete (tutti tranne quelli col protocollo `file://`) vengono cercate solo nella cartella stessa.

Il supporto ad insiemi multipli di queste proprietà potrebbe arrivare in seguito (ad es. in valori aggiuntivi per altri tracciatori ecc.), ma nella maggior parte dei casi dovrebbe essere sufficiente valutare i collegamenti di un singolo tracciatore.

L'albero delle revisioni
L'albero delle revisioni

## L'albero delle revisioni

L'albero delle revisioni cerca di visualizzare l'intera cronologia di un elemento, in modo che l'utente possa avere una sensazione migliore su di esso. Deve esplorare tutti i log del deposito, perché ha bisogno di alcune informazioni che subversion non fornisce (e che non penso fornirà mai). Siccome genera molto traffico, l'albero delle revisioni usa sempre la cache dei log interna.

### Requisiti

L'albero delle revisioni viene generato con dot, quindi, affinché funzioni, deve essere installato il pacchetto graphviz.

La cache dei log interna
La cache dei log interna

## La cache dei log interna

kdesvn può usare, per alcune operazioni, una cache dei log interna. Viene usata principalmente per l'albero delle revisioni, ma anche quando vengono visualizzati dei log semplificati nella modalità non in linea. Le cache sono organizzate come banca dati SQLite memorizzate in `$HOME/.sqvnqt/logcache`. Ogni file numerato contiene i dati di un deposito diverso.

### Avvertimento

La banca dati può diventare grande! Quindi puoi disabilitare dalle impostazioni l'aggiornamento automatico della cache dei log.

Puoi semplicemente rimuovere una banca dati, non verrà inviato nessun log per quel deposito (e nessun albero delle revisioni!), ma, se non disabiliti il riempimento automatico della cache, questa verrà nuovamente riempita alla successiva apertura del deposito o della copia di lavoro associata.

### Modalità non in linea

kdesvn può lavorare senza l'accesso ad internet, cioè puoi spegnere l'accesso alla rete. Questo può essere utile se lavori senza la rete, come nei computer portatili. In questi casi kdesvn prende i log della cache interna, che sono ridotti al minimo per ragioni tecniche; in questo modo possono (ma non devono) essere diversi da quelli reali. La differenza è dovuta al fatto che non vengono visualizzate tutte le operazioni di copia anche se è impostato che Log segue i cambiamenti di nodo.

### La cache dei log e l'albero delle revisioni

L'albero delle revisioni usa la cache dei log perché altrimenti dovrebbe continuamente prelevare il log. Non aggiorna la cache dei log (ma questo potrebbe cambiare nei rilasci futuri).

Significato dell'icona sovrimpressa
Significato dell'icona sovrimpressa

## Significato dell'icona sovrimpressa

Le voci posso essere marcate con delle icone sovrimpresse quando non si trovano in uno stato «normale».

  Questa voce è bloccata. Nell'ultima colonna viene elencato il proprietario del blocco. Puoi anche impostare se kdesvn debba controllare se ci sono elementi bloccati nel deposito, ma fai attenzione: a seconda del tipo di server per questo potrebbe volerci molto tempo!

  Questa voce deve essere bloccata prima della modifica e del deposito; finché non imposterai un blocco, subversion la manterrà in sola lettura.

  Questa voce o - in caso di cartella - una voce sotto di essa, ha una nuova versione nel deposito.

  Questa voce o - in caso di cartella - una voce sotto di essa, è stata modificata sul disco locale.

  Questa voce è stata aggiunta localmente a subversion, ma non ancora depositata.

  Questa voce è stata eliminata localmente da subversion, ma non è stata ancora depositata.

  Questa voce (o una voce sotto se è una cartella) ha ottenuto dei conflitti da risolvere nell'ultimo aggiornamento.

kdesvn e le password
kdesvn e le password

## kdesvn e le password

kdesvn/subversion sono in grado di salvare le password. Il salvataggio delle password è sempre un rischio per la sicurezza, ma può rendere l'interfaccia grafica più usabile.

### Non salvare le password

La via più sicura, ma a volte poco maneggevole con interfacce grafiche come kdesvn, in particolare perché un suo processo in background chiederà sempre la password se il deposito ha un accesso ristretto alle operazioni di lettura, come l'aggiornamento e lo stato; lo stesso vale per il «deposito» e così via. Quindi, se non stai salvando le password dovresti disabilitare controlla gli aggiornamenti all'apertura di una copia di lavoro e così via.

### Salvataggio delle password in KWallet

Sistema di immagazzinamento sicuro delle password usato da molti programmi di KDE, come KMail e Konqueror; dovresti usarlo se stai salvando le password ed usi principalmente kdesvn. Fai attenzione perché il salvataggio criptato non è ad alta sicurezza. Ulteriori dettagli nella documentazione di KWallet.

### Salvataggio nel sistema di immagazzinamento delle password proprio di subversion

Non è raccomandato, perché le password sono immagazzinate come testo in chiaro. Non ci credi? Dai un'occhiata nel file `~/.subversion/auth/svn.simple`. Dovresti usare solo questo se usi altri client oltre kdesvn, come rapidsvn oppure esvn o l'originale client a riga di comando, svn. Se stai usando il client a riga di comando per i checkout o per gli aggiornamenti che non richiedono una password e kdesvn per depositare/spostare/copiare, dovresti invece usare KWallet.

### Cache interna delle password

Puoi attivare la cache interna delle password, che manterrà le password fino a quando kdesvn rimarrà in memoria; in questo modo non dovrai inserire due volte una password, anche se non la salvi nel portafoglio.

### Il caso speciale svn+ssh

Quando si usa subversion tramite svn+ssh, la memorizzazione delle password può essere fatta tramite ssh e ssh-agent. A questo scopo devi avere accesso via ssh alla macchina remote ed al relativo repository. Quando vuoi memorizzare qualcosa devi usare l'autenticazione con chiave pubblica di ssh, non l'autenticazione via password. (Di fatto ssh preferisce l'autenticazione con chiave pubblica). Per questo devi predisporre la chiave pubblica ssh sul sistema remote, ad es. il sistema che contiene il repository, e le password SSH non saranno mai gestite dal sistema di immagazzinamento delle password di subversion o da KWallet o dalla cache interna delle password.

Se non vuoi che ti venga chiesta la password della tua chiave SSH, puoi usare l'applicazione ssh-agent: selezionando il menu Subversion → Aggiungi le identità ssh a ssh-agent puoi immagazzinare la tua password della chiave SSH per l'attuale sessione, in modo che non sia necessario ogni altro inserimento di password.

Capitolo 3. Konqueror, KIO, kdesvn
Konqueror, KIO, kdesvn

# Capitolo 3. Konqueror, KIO, kdesvn

## Descrizione

A partire dalla versione 0.7.0, kdesvn arriva con dei moduli che integrano alcuni comandi direttamente nel menu di Konqueror.

Protocolli KIO

  Implementa i gestori per i seguenti protocolli:

  - ksvn+http

  - ksvn+https

  - ksvn+file

  - ksvn+ssh

  - ksvn

  Questi protocolli sono progettati solo per i depositi, non per le copie di lavoro. Per esempio, `ksvn+file:///`percorso`` deve puntare all'inizio di un deposito diverso da quello dell'applicazione stessa o di KPart. Le copie di lavoro possono essere sfogliate con Konqueror.

  Per sfogliare una revisione specifica puoi accodare l'interrogazione «?rev=`revision`» all'URL.

Menu contestuali

  kdesvn installa un menu contestuale per Konqueror, che può comparire con un clic destro nella finestra di navigazione (solo nella vista standard, in nessuna di KPart): in questo modo è possibile compiere la maggior parte delle azioni direttamente dall'interno di Konqueror (o di un qualsiasi gestore di file che legge il menu contestuale di Konqueror, ad esempio Dolphin). Questo viene ottenuto con una chiamata alla variante della riga di comando di kdesvn.

### Uso di KIO al di fuori di Konqueror - un esempio

Ogni applicazione che usa la libreria KIO può usare questi protocolli. In questo modo sarebbe possibile recuperare tutte le differenze tra due revisioni con KDiff3 senza avere nessuna conoscenza profonda.

Esempio 3.1. Recuperare le differenze tra le revisioni usando KDiff3 e KIO::ksvn

    kdiff3 \
      ksvn://anonsvn.kde.org/home/kde/trunk/KDE/arts?rev=423127 \
      ksvn://anonsvn.kde.org/home/kde/trunk/KDE/arts?rev=455064

KDiff3 stampa tutte le differenze tra due revisioni.

### Nota

L'uso all'interno di kdesvn (generando le differenze tra due revisioni) è MOLTO più veloce, perché vengono usati i meccanismi interni di Subversion.

Informazioni ai programmatori su KIO::ksvn
Informazioni ai programmatori su KIO::ksvn

## Informazioni ai programmatori su KIO::ksvn

### Nota

Puoi saltare questa parte se non sei interessato alla programmazione di KIO.

KIO::ksvn::special conosce le operazioni seguenti.

### Lista dei comandi

Tabella 3.1. Panoramica dei comandi per `KIO::ksvn::special`

Nomi dei comandi | ID numerico | Lista dei parametri | Implementato nell'attuale versione?
--- | --- | --- | ---
Checkout | 1 | KURL repository, KURL target, int revnumber, QString revkind La destinazione non sarà modificata, ma al contenuto sarà fatto il checkout senza creare una sotto-cartella! Per esempio, la sorgente potrebbe essere `http://server/repos/project/trunk`, la destinazione `/home/user/proj/` mentre il contenuto di trunk sarà copiato in `/home/user/proj/`, non in `/home/user/proj/trunk/`! | Sì
Aggiorna | 2 | KURL url, int revnum, QString revstring Se revnum < 0 allora revstring viene elaborata. I formati di revstring sono descritti nell'appendice. | Sì
Deposito | 3 | KURL::List urls urls è un elenco di url in cui depositare. Ti verrà chiesto un messaggio di log. | Sì
Log | 4 | int startrevnumber, QString startrevstring, int endrevnumber, QString endrevstring, KURL::List Usala con cautela - può produrre molti dati. | Sì
Importa | 5 | KURL targetrepository, KURL sourcepath | Sì
Aggiungi | 6 | KURL | Sì
Elimina | 7 | KURL::List | Sì
Scarta modifiche | 8 | KURL::List L'annullamento in KIO è sempre non ricorsivo, nessuna domanda (l'applicazione chiamante lo deve fare per conto suo) | Sì
Stato | 9 | KURL item, bool checkRepos, bool recurse item - l'elemento di cui controllare le informazioni, checkRepos - controlla se sono presenti nel deposito versioni più nuove, recurse - controlla se è ricorsivo o no. | Sì
Mkdir | 10 | KURL::List | Sì
Risolvi | 11 | KURL, bool recursive | Sì
Cambia | 12 | KURL working_copy_path, KURL new_repository_url, bool recursive,int revnumber, QString revkind | Sì
Diff | 13 | URL uri1, KURL uri2, int r1, QString rstring1, int r2, QString rstring 2, bool recursive Per le differenze tra il deposito file:/// e la copia di lavoro, imposta gli url di quest'ultima senza un protocollo! | Sì

### Valori restituiti

I valori possono essere restituiti come metadati, per i dettagli vedi apidoc.

Tabella 3.2. Contenuto dei metadati

Key | Valore possibile
--- | ---
path | Il percorso dell'elemento su cui è stata compiuta l'azione, ad esempio l'URL dato
action | Il tipo numerico di azione
kind | Il tipo di elemento (per lo più cartelle o file)
mime_t | Tipo MIME di Subversion dell'elemento
content | Stato del contenuto (valore di subversion)
prop | Stato delle proprietà (valore di subversion)
rev | Revisione risultante o su cui si è lavorato
string | Messaggio definito internamente in formato leggibile.
loggedaction | Stringa di azioni definita da Subversion sull'elemento (A,M,D)
loggedcopyfrompath | Se copiato, da quale percorso? (può essere vuoto)
loggedcopyfromrevision | Se copiato, a quale revisione? (può essere < 0)
loggedpath | Su quale singolo percorso le azioni registrate delle voci e così via sono impostate. (il percorso viene impostato all'url del chiamante)
diffresult | una riga di output diversa

Capitolo 4. Usare kdesvn da riga di comando
Usare kdesvn da riga di comando

# Capitolo 4. Usare kdesvn da riga di comando

## Panoramica

Alcune operazioni di subversion possono essere effettuate da riga di comando. ad es. un cliente da riga di comando standard, tuttavia l'interazione con l'utente avviene attraverso l'UI. La sintassi standard è `kdesvn exec `comando` `parametro` `url``.

Se si desidera la revisione singola su un singolo URL, si può impostare come parametro dell'URL

    svn://nome-server/percorso-del-deposito/elemento?rev=<rev-scelta>

. Questo sovrascriverà l'opzione `-r <rev>`.

Ad una revisione può essere assegnato un numero, uno fra `HEAD` o `BASE`, o anche la data, in formato {AAAA-MM-GG}.

Lista dei comandi
Lista dei comandi

## Lista dei comandi

Se nella panoramica successiva viene dato il possibile parametro `-r `revisione``, la revisione può essere impostata come ``url`?rev=`la-revisione``.

Tabella 4.1. Comandi di Subversion

Comando | Significato | Opzioni accettate
--- | --- | ---
commit (oppure ci) | invia al deposito le modifiche dell'elemento |
log | Stampa il log dell'elemento | -r revisioneiniziale:revisionefinale -l limita_visualizzazione
cat | Mostra il contenuto dell'elemento | -r revisione
copy (oppure cp) | Copia l'elemento nella copia di lavoro o nel deposito. Se non viene data la destinazione, kdesvn la chiederà. |
move (oppure mv, rename) | Sposta/rinomina l'elemento nella copia di lavoro o nel deposito. Se non viene data la destinazione, kdesvn la chiederà. |
get | Ottiene il contenuto dell'oggetto e lo salva | -r revisione -o <file_output> (è richiesto un file di destinazione!)
blame (oppure annotate) | annota il file | -r revisioneiniziale:revisionefinale
update | Aggiorna l'elemento nella copia di lavoro | -r revisione
diff | Mostra le differenze tra due revisioni di elementi o di due elementi di una revisione specifica | -r reviniziale:revfinale
info | Informazioni dettagliate sull'elemento | -r revisione
checkout (oppure co) | Esegue il checkout del percorso del deposito in una nuova copia di lavoro; ti verranno chiesti il percorso di destinazione e la revisione del sorgente. |
checkoutto (oppure coto) | Esegue il checkout del percorso del deposito in una nuova copia di lavoro; ti verranno chieste le differenze del percorso di destinazione e la revisione del sorgente. |
export | Esporta un deposito - o una copia di lavoro - in una cartella; ti saranno chiesti il percorso di destinazione e la sorgente di revisione. |
exportto | Esporta un deposito - o una copia di lavoro - in una cartella; ti saranno chiesti il percorso della sorgente e la sorgente di revisione. |
delete (del, remove, rm) | elimina gli url dal deposito o dalla copia di lavoro. |
add | aggiunge alla copia di lavoro l'URL, che deve appartenere alla copia di lavoro (non è un import!) |
revert (oppure undo) | annulla le attuali modifiche alla copia di lavoro; può essere usato solo sugli url della copia di lavoro! |
checknew (oppure addnew) | controlla la presenza di elementi nuovi o privi del controllo di versione negli URL dati, e li aggiunge alla copia di lavoro se desiderato. |
tree | visualizza l'albero delle revisioni dell'elemento (solo il primo argomento), se viene dato un URL con «?rev=`xxx`» questa revisione è la peg. | -r reviniziale:revfinale
lock | blocca gli URL, ma se viene data l'opzione `-f` i blocchi esistenti vengono tolti. | -f
unlock | sblocca gli URL, se viene data l'opzione `-f` i blocchi non posseduti vengono rilasciati e quelli non esistenti vengono ignorati. | -f
help | visualizza questa pagina |

Tabella 4.2. Parametri per i comandi di Subversion

Parametro | Valori possibili | permesso per
--- | --- | ---
`-r` | `revisione` oppure `reviniziale:revfinale` | tutto tranne le operazioni di deposito
`-R` | (nessuno) | tutto tranne le operazioni di deposito
`-o` | `nome_file` | get
`-l` | `numero` | log
`-f` | (nessuno) | (un-)lock

### Il comando «log»

Il comando log visualizza una finestra contenente il log dell'URL dato. Con subversion 1.2 o superiore viene accettato un limite, cioè quanti elementi devono essere visualizzati.

Puoi selezionare le voci di log all'interno di questa finestra, ed ottenere le differenze tra di essi.

Esempio 4.1. Visualizza i log degli ultimi 20 depositi

    kdesvn exec log -l 20 -r HEAD:1 myfile.c

Fai attenzione all'ordine di revisione: devi andare da HEAD a START per l'ULTIMO. Perciò devi dare la revisione HEAD come punto d'inizio, altrimenti otterresti le prime 20 voci.

### Il comando «diff»

Ottieni le differenze tra le revisioni di un elemento o tra due elementi all'interno della stessa copia di lavoro o dello stesso deposito. Quando cerchi le differenze tra le revisioni di un elemento, le revisioni possono essere date come `-r `REVINIZIALE`:`REVFINALE``. Quando fai le differenze di un elemento all'interno di una copia di lavoro senza nessuna revisione vengono stampate le differenze rispetto al deposito.

Esempio 4.2. Stampa le differenze con il deposito, cioè le modifiche locali

    kdesvn exec diff myfile.c

Esempio 4.3. Stampare le differenze tra le revisioni

    kdesvn exec diff -r 21:20 myfile.c

Quando vengono mostrate le differenze tra due elementi, le revisioni possono essere aggiunte all'URL dell'elemento. ad es.:

    http://server/percorso/elemento?rev=HEAD

Esempio 4.4. Ottenere le differenze tra due versioni contrassegnate

    kdesvn exec diff http://www.alwins-world.de/repos/kdesvn/tags/rel_0_6_2 http://www.alwins-world.de/repos/kdesvn/tags/rel_0_6_3

Capitolo 5. Impostazioni
Impostazioni

# Capitolo 5. Impostazioni

Le impostazioni possono essere modificate dalla finestra di configurazione; sono separate in sotto-finestre.

## Generale

Dimensione delle icone | Come dovrebbero essere grandi (quadrate) le icone nella vista dell'elenco principale
Mostra informazioni sul file | Se debba apparire un piccolo suggerimento quando il mouse si sposta sopra un elemento
Marca lo stato degli elementi con un'icona sovrimpressa | Quando un elemento non si trova in uno stato di subversion normale, può avere un'icona sovrapposta. (Vedi la sezione chiamata «Significato dell'icona sovrimpressa»)
L'ordinamento degli elementi distingue tra maiuscole e minuscole | Se l'ordinamento nella finestra principale deve essere sensibile alle maiuscole o no, cioè se «a» non è uguale ad «A».
Mostra i file ignorati | Mostra gli elementi segnati in subversion per ignorarli o no.
Numero massimo di messaggi di log nella cronologia | Quanti messaggi di log kdesvn dovrebbe essere ricordati.
Visualizza le annotazioni colorate | Usa per le annotazioni i colori definiti nella finestra delle impostazioni.
Utilizza il pannello di navigazione | Commuta la vista dell'albero dei depositi.

Impostazioni di subversion e delle attività temporizzate
Impostazioni di subversion e delle attività temporizzate

## Impostazioni di subversion e delle attività temporizzate

Tabella 5.1. Subversion

Controlla gli aggiornamenti all'apertura di una copia di lavoro | Controlla in background gli aggiornamenti all'apertura di una copia di lavoro
Inizia a scrivere la cache dei log all'avvio | Se impostato, kdesvn inizia a (ri-)riempire la cache dei log quando viene aperto un deposito o una copia di lavoro se al deposito non è assegnato un URL locale (`file://`)
Controlla se un elemento ha impostato «svn:needs-lock» | Controlla se un elemento nelle copie di lavoro ha questa proprietà impostata; se sì, viene visualizza una speciale icona sovrimpressa. Quest'impostazione potrebbe rendere l'elencazione remota molto lenta.
Ottieni i dettagli dei file durante l'elencazione remota | Quando viene marcata, kdesvn fornisce informazioni più dettagliate sugli elementi del file se viene fatta un elencazione da depositi remoti; nella panoramica potresti quindi vedere dei blocchi remoti. Fai attenzione: questo può rendere l'elencazione MOLTO lenta!
Guadagno ricorsivo sulle informazioni dell'elemento | Quando viene attivato, il comando info eseguito sull cartelle includerà le informazioni su tutti gli elementi sottostanti; può essere davvero molto lento.

Memorizza le password delle connessioni remote

La memorizzazione di password è spesso un problema di sicurezza. Subversion salva le sue password in un file di testo semplice, cioè password nel testo in chiaro! Quindi fai attenzione ad impostare questo opzione, e controlla anche la prossima voce. Questo elemento dice solo se il salvataggio delle password è l'impostazione predefinita, per domini specifici lo puoi cambiare all'interno della finestra di accesso.

Memorizza le password nel portafoglio di KDE

Durante il salvataggio delle password, il file di testo piano è un buco nella sicurezza per subversion. kdesvn può salvarle invece nel portafogli di KDE (a partire della versione 0.12.0) e quindi usarle. D'altra parte però, gli altri client di subversion non riescono a leggerle, così, se usi strumenti quali la riga di comando di svn o anche rapidsvn, devi inserirle. Fino a quando subversion non cripterà le password salvate dovresti pensarci due volte.

Utilizza cache delle password interna | Quando una password non viene memorizzata persistente, kdesvn può mantenerla fino alla fine, in modo che non sia necessario inserirla ad ogni operazione. Questa cache non è mai persistente, cioè non viene mai salvata.
Log segue i cambiamenti di nodo | Se marcato, i log seguono le operazioni di copia.
I log leggono sempre l'elenco dei file modificati | Il comando di log può leggere la lista dei file modificati durante il deposito. Questo è utile, e nella maggior parte dei casi non genera molto traffico.
Revisiona gli elementi prima del deposito | Quando viene fatto un deposito, kdesvn può fare un controllo di quello che si sta facendo. Per esempio, se gli elementi fuori dal controllo di versione sono sotto a quelli che si possono aggiungere, vengono elencati gli elementi modificati e l'operazione corrente sarà inviata; questo costa, a seconda dell'albero, molto o poco tempo.
Nascondi i nuovi elementi nel riquadro di deposito | Se gli elementi senza versione devono essere mostrati nella finestra di deposito o no.
Aggiorna le modifiche invece dei conflitti | Se impostata, un'aggiunta locale nello stesso percorso di un'aggiunta dello stesso tipo di nodo risulta in un nodo normale con una possibile modifica locale, invece che un conflitto di albero.
L'aggiornamento crea genitori mancanti | Se impostata, crea qualsiasi cartella superiore che non esiste, anche tramite il checkout impostato a depth=empty

Tabella 5.2. Attività temporizzate

Controlla gli elementi modificati ogni N secondi Controlla gli elementi aggiornati ogni N secondi | Se impostata, controlla la presenza di aggiornamenti o di elementi modificati in una copia di lavoro a intervalli regolari quando la rete è abilitata

Diff e unione
Diff e unione

## Diff e unione

Diff ignora il tipo di contenuti

  Interessante solo quando le differenze vengono fatte da subversion stesso. Quando viene impostato, l'operazione diff di subversion ignora il tipo di contenuti delle voci. Diversamente non vengono prodotte differenze dai file binari.

Le differenze nell'albero delle revisioni sono ricorsive

  Quando impostate, le differenze fatte dall'interno dell'albero delle revisioni sono ricorsive, come anche in tutti gli altri casi. Diversamente sono visualizzate esclusivamente le modifiche relative ai soli elementi di quella cartella. Come questo viene fatto dipende da come vengono generate le differenze (da Subversion stesso o da visualizzatori esterni).

Le differenze ignorano i cambiamenti agli spazi

  Ignora i cambiamenti al numero degli spazi (opzione `-b` di diff)

Diff ignora tutti gli spazi bianchi

  Ignora tutti gli spazi (opzione `-w` di diff)

Preferisci programma di unione esterno

  Imposta se preferire l'unione con un programma esterno o con l'unione di Subversion

Utilizza il formato delle differenze di Git

Mostra copie come aggiunte

### Utilizza un visualizzatore esterno delle differenze

Seleziona un'applicazione esterna per visualizzare le differenze; quella predefinita è Kompare.

### Visualizzatore esterno differenze

Definisce che cosa sta usando kdesvn per la visualizzazione esterna delle differenze, e in che modo viene chiamato. Ci sono tre modi:

<programma> <parametro>

  Le differenze saranno generate con subversion e messe direttamente nello standard input del programma esterno (cioè, non servono file temporanei)

<programma> <parametro> %f

  La differenza sarà generata con subversion, salvata in un file temporaneo e il parametro `%f` sarà rimpiazzato con il nome di quel file. Questo può essere usato, per esempio, con una semplice chiamata a less o ad un visualizzatore di testo.

<programma> <parametro> %1 %2

  kdesvn lascia generare le differenze al programma esterno. %1 and %2 saranno sostituiti con i valori richiesti (i nomi dei file o delle cartelle). kdesvn immagazzina i contenuti da confrontare in un ambiente temporaneo (per le cartelle un «export», per un singolo file un «cat») quando necessario, e lo ripulisce dopo la chiusura del programma esterno o di se stesso.

Preferisci programma di unione esterno

  Seleziona se nella finestra di unione Utilizza unificatore esterno debba essere marcato o meno come predefinito.

### Programma esterno di unione

Configura il programma e le opzioni da usare quando non vuoi usare la funzione di unione integrata di subversion; come predefinito è kdiff3 %s1 %s2 %t. L'ordine di sostituzione delle variabili non è importante, e i termini possono anche comparire più di una volta, ad es. `kdiff3 -o %t %s1 %s2 %t`. Questa cosa è stata testata solo con meld e KDiff3. Considera che che i programmi esterno normalmente non riconoscono il parametro ignore di subversion, quindi questi possono mostrare molto di più del previsto.

#### Sostituzioni di variabile per il programma di unione esterno

%s1

  Sostituito con la sorgente numero uno.

%s2

  Sostituito con la sorgente numero due. Se questa è vuota o uguale alla sorgente uno e l'inizio e la fine della revisione sono uguali, questa variabile sarà ignorata. Quindi fai attenzione ad impostare righe di comandi come xxdiff --title1 %s1 --title2 %s2 %s1 %s2 %t.

%t

  Sostituito con la destinazione.

### Programma di risoluzione dei conflitti

Puoi usare un programma esterno, come KDiff3 per la risoluzione dei conflitti, quello predefinito è kdiff3 %o %m %n -o %t.

#### Sostituzione di variabili per il risolutore esterno di conflitti

Tra parentesi dopo ciascuna descrizione c'è un esempio di come Subversion chiamerebbe i file. Queste opzioni sono progettate per KDiff3, perché in questo momento è l'unica applicazione che supporta tutti i parametri richiesti per una buona risoluzione dei conflitti.

%o oppure %l

  Versione vecchia (locale, a sinistra). Questo significa il numero di revisione più basso, cioè il punto d'inizio delle modifiche in conflitto. (`foo.cc.r2`)

%m oppure %w

  Versione mia (funzionante) del file, cioè quello che hai modificato rispetto alla vecchia versione. (`foo.cc.mine`)

%n oppure %r

  Versione nuova (remota, a destra) del file. Per esempio quella fatta da qualcun altro. (`foo.cc.r3`)

%t

  Il nome della destinazione, ad es. quello dell'origine. Per KDiff3, ad esempio, questo dovrebbe essere il nome dopo il parametro `-o` (cioè il nome del file di output). (`foo.cc`)

KIO / riga di comando
KIO / riga di comando

## KIO / riga di comando

Mostra log dopo l'esecuzione di un comando

  Se si deve aprire una finestra con il log dell'ultimo comando di Subversion quando è stato eseguito dalla riga di comando o dal menu delle azioni di Konqueror.

Numero minimo di righe di log da mostrare

  Se Mostra log... viene impostato, qual è il minimo di righe prima che venga mostrare questa finestra. In questo modo puoi impostare che questa finestra sia visualizzata solo se viene generato un output interessante (un log di deposito e così via)

Non visualizzare il menu contestuale in Konqueror

  Se impostato, nessuna voce del menu delle azioni di kdesvn viene attivata in Konqueror.

Non visualizzare le voci nel menu principale delle azioni

  Se impostato, kdesvn non mostrerà alcune azioni extra all'interno del menu Azione di Konqueror o di Dolphin.

Le operazioni KIO utilizzano un messaggio di log standard

  Quando si fanno operazioni su un deposito attraverso il protocollo KIO di kdesvn dall'interno di Konqueror (ad esempio con i protocolli «ksvn+...») su grandi operazioni come lo spostamento o la copia di cartelle, kdesvn dovrebbe chiedere un messaggio di log per ciascuno di essi. Questo è il comportamento di Konqueror. Quando viene impostata quest'opzione, l'implementazione di KIO da kdesvn non chiederà un messaggio, ma imposterà un messaggio standard. Questo flag non è per le operazioni dal menu delle azioni di kdesvn in Konqueror, ma solo per copie/spostamenti/creazioni di cartelle/eliminazioni fatte con Konqueror o con altri gestori di file su un url di KIO.

Messaggio standard

  Il messaggio che il componente KIO di kdesvn dovrebbe impostare nelle operazioni da Konqueror quando viene impostato il flag sopra; il valore predefinito è Revisione fatta con KIO kdesvn.

KIO può sovrascrivere

  Se questo flag viene impostato avrai il supporto di base alla scrittura per gli elementi esistenti. ad es. puoi aprire i file nel tuo editor e salvarli senza effettuare il checkout su di essi (kdesvn lo farà in background).

  Usalo solo sei sei sicuro di quello che stai facendo.

KIO mostra i messaggi di avanzamento

  Se impostato, KIO mostra informazioni dettagliate sull'attuale operazione in KDE Plasma. I messaggi di errore di KIO saranno sempre visualizzati e non possono essere disattivati.

Capitolo 6. Guida ai comandi
Guida ai comandi

# Capitolo 6. Guida ai comandi

## La finestra principale di kdesvn

### Il menu File

File → Apri (Ctrl+O)

  Apre una copia di lavoro locale o un deposito da cui si è prelevato in precedenza

File → URL aperti di recente

  È un collegamento per aprire i depositi usati di recente. Facendo clic su questi elementi si apre un elenco dalla parte del menu con molte delle copie di lavoro o dei depositi aperti di recente; facendo clic su elemento specifico, questo sarà aperto in kdesvn

File → Nuovo (Ctrl+N)

  Apre una finestra con una nuova istanza di kdesvn

File → Amministrazione Subversion

  Elemento del menu con compiti amministrativi per i depositi di subversion, come:

  Crea e apri un nuovo deposito
  Dump del deposito su file
  Copia a caldo un deposito
  Carica dump in un deposito

  . Per ulteriori informazioni leggi l'output di svnadmin --help

File → Chiudi (Ctrl+W)

  Chiude il deposito corrente o la copia di lavoro

File → Esci (Ctrl+Q)

  Esce da kdesvn

### Il menu Segnalibri

Vedi l'aiuto di Konqueror.

### Il menu Subversion

Azioni generali di Subversion

Subversion → Generale → Storia dell'elemento (Ctrl+L)

  Visualizza il log completo per l'oggetto selezionato. Fai attenzione, questa lista può essere davvero lunga!

Subversion → Generale → Storia dell'elemento ignorando le copie... (Ctrl+Shift+L)

  Mostra lo storico dei log dell'elemento selezionato senza seguire le copie.

Subversion → Generale → Dettagli (Ctrl+I)

  Visualizza informazioni dettagliate sugli elementi selezionati

Subversion → Generale → Traccia

  Genera una lista annotata su tutti i checkin. Può richiedere molto tempo!

Subversion → Generale → Intervallo traccia

  Annota un intervallo di depositi per un file.

Subversion → Generale → Mostra la testa

  Mostra il contenuto dell'ultima versione depositata di quell'elemento. (Può essere diversa dalla versione della copia di lavoro se ci stai lavorando!)

Subversion → Generale → Sposta (F2)

  Sposta o rinomina un elemento in una copia di lavoro o in un deposito

Subversion → Generale → Copia (Ctrl+C)

  Copia un elemento nella copia di lavoro o in un deposito

Subversion → General → Elimina i file e le cartelle selezionate (Canc)

  Elimina le voci selezionate. Se stai lavorando su una copia locale devi poi depositare le tue eliminazioni.

Subversion → Generale → Nuova cartella

  Crea una nuova cartella.

Subversion → Generale → Importa cartelle nell'attuale

  Seleziona le cartelle che vuoi importare in quella attualmente selezionata

Subversion → Generale → Esegui il checkout di un deposito

  Crea una nuova copia di lavoro di un deposito

Subversion → Generale → Esporta un deposito

  Esporta un deposito in un file system, cioè crea un albero delle revisioni pulito senza le informazioni di subversion.

Subversion → Generale → Blocca gli elementi correnti

  Segna gli elementi correnti come bloccati. Leggi il manuale di subversion prima di farlo!

Subversion → Generale → Sblocca gli elementi correnti

  Rimuove il blocco dagli elementi correnti. Leggi il manuale di subversion prima di farlo!

Copia di lavoro

Subversion → Copia di lavoro → Aggiorna a HEAD

  Aggiorna la copia locale alla HEAD del deposito

Subversion → Copia di lavoro → Aggiorna alla revisione...

  Aggiorna la copia di lavoro ad una revisione specifica del deposito

Subversion → Copia di lavoro → Deposita (Ctrl+#)

  Invia le modifiche degli oggetti selezionati nella copia di lavoro al deposito.

Subversion → Copia di lavoro → Mostra le modifiche locali (Ctrl+D)

  Visualizza le modifiche locali come output di confronto (senza l'accesso alla rete). Queste sono semplicemente le differenze a cui la copia di lavoro è stata aggiornata, non rispetto alla versione nel deposito.

Subversion → Copia di lavoro → Mostra le modifiche rispetto a HEAD (Ctrl+H)

  Crea le differenze tra l'attuale copia di lavoro e la HEAD del deposito.

Subversion → Copia di lavoro → Proprietà (Ctrl+P)

  Visualizza/modifica le proprietà assegnate dell'attuale voce.

Subversion → Copia di lavoro → Aggiungi i file e le cartelle selezionate (Inserisci)

  Aggiunge i file e/o le cartelle selezionate al controllo di versione.

Subversion → Copia di lavoro → Annulla le attuali modifiche

  Annulla le modifiche fatte alla copia di lavoro e aggiornala all'ultimo stato aggiornato.

Subversion → Copia di lavoro → Marca come risolto

  Segna come non in conflitto gli elementi in conflitto e rimuovi i file associati.

Subversion → Copia di lavoro → Unisci due revisioni

  Unisce due revisioni della voce nella copia di lavoro.

Subversion → Copia di lavoro → Ignora / non ignorare l'elemento corrente

  Modifica le proprietà della cartella genitore dell'elemento attuale, cosicché l'elemento selezionato sarà marcato come ignorato se non impostato, diversamente rimuovilo dalla lista degli ignorati.

Subversion → Copia di lavoro → Pulizia

  Pulisce la copia di lavoro e rimuove i blocchi di invio, se ce ne sono

Subversion → Copia di lavoro → Cambia il deposito ("switch")

  Cambia la radice dell'attuale copia di lavoro.

Deposito

Subversion → Deposito → Esegui il checkout dell'attuale percorso del deposito

  Crea una copia di lavoro dall'elemento attualmente selezionato, se è una cartella.

Subversion → Deposito → Esporta l'attuale percorso del deposito

  Crea una copia di lavoro pulita dall'elemento attualmente selezionato in un file system locale, se è una cartella.

Azioni di visualizzazione

Subversion → Visualizza → Aggiorna vista (F5)

  Aggiorna lo stato attuale di tutti gli oggetti visualizzati; questo elenca ciascun oggetto chiedendo di visualizzarlo nello stato attuale.

Subversion → Visualizza → Espandi l'albero dei file/Comprimi l'albero dei file

  Espande o contrae la vista dell'albero del deposito.

Subversion → Cache dei log → Ferma l'aggiornamento della cache dei log

  Il log è nella cache, e viene usato per visualizzare l'albero della revisione di un deposito. A seconda della connessione internet, della dimensione del deposito di Subversion e della lunghezza della cronologia può volerci molto tempo, perciò potresti fermare l'aggiornamento della cache dei log con questa azione.

Subversion → Aggiungi le identità ssh a ssh-agent

  Immagazzina la tua chiave SSH dell'attuale sessione, in modo che non sia più necessario inserire la password.

### Il menu Database

Database → Mostra il contenuto del database

  Visualizza una panoramica del contenuto della cache del banca dati, per conoscere i depositi e per permettere di eliminare la cache o i depositi ed accedere alle impostazioni del deposito.

Database → Impostazioni per il deposito attuale

  Visualizza una finestra per adattare le impostazioni per la cache, per i log e per le statistiche.

### Il menu Impostazioni e Aiuto

Oltre ai comuni elementi del menu di KDE Impostazioni ed Aiuto che sono descritti nel menu Impostazioni ed Aiuto dei Fondamentali di KDE, kdesvn ha queste voci di menu addizionali:

Settings → Impostazioni rapide
  Carica l'ultimo URL aperto all'avvio

    Ricarica l'ultimo URL aperto se non ne viene fornito nessuno da riga di comando.

  I log seguono le modifiche ai nodi

  Mostra i file ignorati

    Mostra gli elementi segnati in subversion come ignorati o meno.

  Mostra file sconosciuti

    Mostra i file che non sono stati aggiunti al deposito di subversion.

  Nascondi i file non modificati

    Usa quest'azione per mostrare solo i file modificati e per fornire una panoramica chiara e coincisa.

  Lavoro in linea

    Lavorando scollegati la cache dei log non verrà aggiornata, quindi i log nella cache possono differire da quelli reali.

Capitolo 7. Riconoscimenti, licenza e ringraziamenti
Riconoscimenti, licenza e ringraziamenti

# Capitolo 7. Riconoscimenti, licenza e ringraziamenti

Copyright del programma 2005-2009 Rajko Albrecht `(ral AT alwins-world.de)`

Molte ringraziamenti ai contributori:

- Andreas Richter `(ar AT oszine.de)` - per il port qt4 di svnqt

- Michael Biebl `(biebl AT teco.edu)` - per il suo aiuto, per le sue idee, per le implementazioni ed i suggerimenti.

- Bram Schoenmakers `(bramschoenmakers AT kde.nl)` - per i suoi suggerimenti specifici per KDE, per la traduzione dall'olandese e per la ripulitura al mio codice.

E grazie a tutti gli altri traduttori (non credevo di poter ricevere così velocemente così tante traduzioni!) e per tutti i loro suggerimenti, positivi o negativi. Mi hanno aiutato molto.

Se vuoi tradurre kdesvn e vuoi dare una mano, leggi lapagina di localizzazione di KDE, oppure chiedi nella mailing list`(kde-i18n-doc AT kde.org)`.

Copyright della documentazione 2005-2006 Rajko Albrecht `(ral AT alwins-world.de)`

Traduzione a cura di Paolo Zamponi`(zapaolo AT email.it)`

Questa documentazione è concessa in licenza sotto i termini della GNU Free Documentation License.

Questo programma è concesso in licenza sotto i termini della GNU General Public License.

Appendice A. Sintassi per le revisioni
Sintassi per le revisioni

# Appendice A. Sintassi per le revisioni

Le revisioni possono essere fatte nel formato standard per il client svn, cioè: numero, parola chiave o data.

Numero

  Un numero maggiore o uguale a -1; quest'ultimo valore significa «revisione non specificata», mentre lo 0 è la revisione iniziale. Normalmente questi numeri non dovrebbero essere utilizzati (la maggior parte delle operazioni non avranno successo se vengono usati).

Parole chiave

  Una tra

  - HEAD

  - BASE

  - COMMITED

  - PREV

  - START

  - WORKING

  Le parole chiave sono sensibili alle maiuscole, per esempio head non equivale a HEAD!

Data

  La data in forma {AAAA-MM-GG}. MM e GG devono essere in questa forma, cioè 2005-1-1 deve essere scritto come {2005-01-01}.

L'aggiunta di una revisione specifica ad un URL deve essere sempre fatta con «?rev=`revisione`».