Il CVS Anonimo (anche conosciuto come anoncvs) è una caratteristica del programma di utilità CVS contenuto in FreeBSD che serve per sincronizzarsi con un deposito CVS remoto (in gergo repository CVS). Tra le altre cose, permette agli utenti di FreeBSD di realizzare, senza avere particolari permessi, operazioni CVS in sola lettura su uno dei server anoncvs ufficiali del progetto FreeBSD. Per utilizzarlo è sufficiente impostare la variabile di ambiente CVSROOT facendola puntare al server anoncvs appropriato, immettere la password “anoncvs” con il comando cvs login, e poi usare il comando cvs(1) per accederci come se fosse un deposito locale.
Nota: Il comando cvs login memorizza le password utilizzate per l'autenticazione con il server CVS in un file chiamato .cvspass nella tua directory HOME. Se questo file non esiste, potresti ricevere un errore alla prima esecuzione di cvs login. Crea un file .cvspass vuoto e riprova il login.
Benché si possa dire che i servizi CVSup e anoncvs realizzino sostanzialmente le stesse funzioni, ci sono vari particolari che possono influenzare la scelta di un metodo di sincronizzazione piuttosto dell'altro. Per dirla in breve, CVSup è più efficiente nell'uso delle risorse di rete ed è il più avanzato tecnicamente tra i due, ma tutto questo ha un prezzo. Per usare CVSup, bisogna installare e configurare un client speciale prima di poter scaricare qualcosa, e si può scaricare solo blocchi piuttosto grossi che CVSup chiama collezioni.
Anoncvs, al contrario, può essere usato per esaminare qualunque cosa a partire da un singolo file fino a uno specifico programma (come ls o grep) specificando il nome del modulo CVS. Ovviamente, anoncvs è adatto solo per operazioni di sola lettura sul deposito CVS, quindi se hai intenzione di supportare lo sviluppo locale in uno dei depositi condivisi del progetto FreeBSD allora CVSup è in realtà l'unica opzione.
La configurazione di cvs(1) per usare un deposito CVS Anonimo è semplicemente una questione di impostare la variabile di ambiente CVSROOT affinché punti a uno dei server anoncvs del progetto FreeBSD. Al momento della stesura di questo testo sono disponibili i seguenti server:
Austria: :pserver:[email protected]:/home/ncvs (Usa cvs login ed inserisci qualunque password quando richiesta.)
Francia: :pserver:[email protected]:/home/ncvs (pserver (password “anoncvs”), ssh (nessuna password))
Germania: :pserver:[email protected]:/home/ncvs (Usa cvs login ed inserisci la password “anoncvs” quando richiesta.)
Germania: :pserver:[email protected]:/home/ncvs (rsh, pserver, ssh, ssh/2022)
Giappone: :pserver:[email protected]:/home/ncvs (Usa cvs login ed inserisci la password “anoncvs” quando richiesta.)
USA: [email protected]:/home/ncvs (solo ssh - nessuna password)
SSH HostKey: 1024 a1:e7:46:de:fb:56:ef:05:bc:73:aa:91:09:da:f7:f4 [email protected] SSH2 HostKey: 1024 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65 ssh_host_dsa_key.pub
USA: [email protected]:/home/ncvs (solo ssh - nessuna password)
SSH HostKey: 1024 8b:c4:6f:9a:7e:65:8a:eb:50:50:29:7c:a1:47:03:bc [email protected] SSH2 HostKey: 2048 4d:59:19:7b:ea:9b:76:0b:ca:ee:da:26:e2:3a:83:b8 ssh_host_dsa_key.pub
Dato che CVS permette di estrarre (nel suo gergo: “check out”) qualsiasi
versione dei sorgenti di FreeBSD che sia mai esistita (o, in alcuni casi, che esisterà),
è bene familiarizzare con il parametro revisione (-r
) di cvs(1) e sapere quali
valori può assumere nel deposito del progetto FreeBSD.
Ci sono due tipi di tag, i tag di revisione e i tag di ramo. Un tag di revisione fa riferimento ad una revisione specifica. Il suo significato rimane lo stesso di giorno in giorno. Un tag di ramo, d'altro canto, si riferisce sempre all'ultima revisione relativa a una specifica linea di sviluppo. Dato che un tag di ramo non si riferisce ad una revisione specifica, esso potrebbe avere un significato diverso da un giorno con l'altro.
La Sezione A.7 contiene i tag di revisione che possono essere interessanti per gli utenti. Tuttavia, nessuno di questi tag è valido per la collezione dei port poichè questa non ha revisioni multiple.
Quando specifichi un tag di ramo, normalmente ricevi l'ultima versione dei file
relativa a quella linea di sviluppo. Se vuoi ricevere una versione precedente, puoi farlo
specificando la data con il parametro -D date
. Si rimanda
alla pagina man di cvs(1) per ulteriori
dettagli.
Benché sia consigliata un'attenta lettura della pagina man di cvs(1) prima di fare qualsiasi cosa, seguono alcuni veloci esempi che spiegano in modo essenziale l'uso del CVS Anonimo:
Esempio A-1. Estrazione di Qualcosa dalla -CURRENT (ls(1)):
% setenv CVSROOT :pserver:[email protected]:/home/ncvs % cvs login Alla richiesta, inserire la password “anoncvs”. % cvs co ls
Esempio A-2. Utilizzo di SSH per estrarre il ramo src/:
% cvs -d [email protected]:/home/ncvs co src The authenticity of host 'anoncvs.freebsd.org (128.46.156.46)' can't be established. DSA key fingerprint is 52:02:38:1a:2f:a8:71:d3:f5:83:93:8d:aa:00:6f:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'anoncvs.freebsd.org' (DSA) to the list of known hosts.
Esempio A-3. Estrazione della Versione di ls(1) dal Ramo 6-STABLE:
% setenv CVSROOT :pserver:[email protected]:/home/ncvs % cvs login Alla richiesta, inserire la password “anoncvs”. % cvs co -rRELENG_6 ls
Esempio A-4. Creazione di una Lista di Cambiamenti (come Diff Unificate) di ls(1)
% setenv CVSROOT :pserver:[email protected]:/home/ncvs % cvs login Alla richiesta, inserire la password “anoncvs”. % cvs rdiff -u -rRELENG_5_3_0_RELEASE -rRELENG_5_4_0_RELEASE ls
Esempio A-5. Scoperta di Quali Altri Nomi di Moduli Possono Essere Usati
% setenv CVSROOT :pserver:[email protected]:/home/ncvs % cvs login Alla richiesta, inserire la password “anoncvs”. % cvs co modules % more modules/modules
Le seguenti risorse addizionali possono essere utili nell'apprendimento del CVS:
CVS Tutorial dal Cal Poly.
CVS Home, la comunità di sviluppo e supporto del CVS.
CVSWeb è l'interfaccia web di CVS relativa al progetto FreeBSD.
Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Per domande su FreeBSD, leggi la documentazione prima di contattare <[email protected]>.
Per domande su questa documentazione, invia una e-mail a <[email protected]>.