Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Debian GNU/Linux Reference Guide
Prev Home Next

12.1.2 Esempi di una sessione CVS

Quanto segue imposta l'ambiente di shell per l'accesso al deposito CVS.


12.1.2.1 CVS anonimo (solo download)

Accesso remoto in sola lettura

     $ export CVSROOT=:pserver:[email protected]:/cvsroot/qref
     $ cvs login
     $ cvs -z3 co qref

12.1.2.2 Uso del server CVS locale

Accesso locale da una shell sulla stessa macchina:

     $ export CVSROOT=/var/lib/cvs

12.1.2.3 Uso di un pserver CVS remoto

Accesso remoto senza SSH (usate le capacit� del protocollo RSH in cvs)

     $ export CVSROOT=:pserver:[email protected]:/var/lib/cvs
     $ cvs login

E' vulnerabile ad attacchi tipo eavesdropping.


12.1.2.4 CVS remoto tramite ssh

Accesso remoto con SSH:

     $ export CVSROOT=:ext:[email protected]:/var/lib/cvs

oppure, per SourceForge:

     $ export CVSROOT=:ext:[email protected]:/cvsroot/qref

Potete anche utilizzare l'autenticazione RSA (Connettersi con meno passwords – RSA, Sezione 9.5.3), che elimina la necessit� della richiesta di password.


12.1.2.5 Creare un nuovo archivio CVS

Per,

     OGGETTO          VALORE             SIGNIFICATO
     albero sorgente  ~/progetto-x       Tutti i codici sorgente
     Nome progetto    progetto-x         Nome per questo progetto
     Vendor Tag:      Main-branch        Tag per la branca intera
     Release Tag:     Versione-iniziale Tag per una versione specifica

Quindi,

     $ cd ~/progetto-x              # entra nella directory sorgente
      ... crea un albero sorgente ...
     $ cvs import -m "Start progetto-x" progetto-x Main-branch Versione-iniziale
     $ cd ..; rm -R ~/progetto-x

12.1.2.6 Lavorare con CVS

Per richiamare e lavorare con le versioni locali del progetto-x con l'archivio CVS:

     $ cd                # muove all'area di lavoro.
     $ cvs co progetto-x # copia i sorgenti CVS all'archivio locale
     $ cd progetto-x
      ... esegui cambiamenti al contenuto ...
     $ cvs diff -u       # simile a diff -u repository/ local/
     $ cvs up -C file_modificato       # elimina le modifiche ad un file
     $ cvs ci -m Descrivi i cambiamenti   # salva i sorgenti locali nel CVS
     $ vi nuovofile_aggiunto
     $ cvs add nuovofile_aggiunto
     $ cvs ci -m Aggiunto nuovofile_aggiunto
     $ cvs up                        # fonde l'ultima versione da CVS
      ... per creare tutte le sottodirectory appena create da CVS, usate
      .... "cvs up -d -P", invece
      ... cercate le righe che iniziano per "C nomefile"
      ... il codice immodificato viene spostato a `.#nomefile.version'.
      ... Cerca "<<<<<<<" e ">>>>>>>" in nomefile.
     $ cvs tag Release-1             # aggiunge la tag di versione
     ... esegui ulteriori modifiche ...
     $ cvs tag -d Release-1          # rimuove la tag di versione
     $ cvs ci -m altri commenti
     $ cvs tag Release-1             # ri-aggiunge la tag di versione
     $ cd                            # ritorna all'area di lavoro.
     $ cvs co -r Release-initial -d old progetto-x 
      ... riporta la versione originale alla directory old
     $ cd old
     $ cvs tag -b Release-initial-bugfixes # crea la tag di branca (-b)
      ... Ora si pu� lavorare sulla vecchia versione (Tag=sticky)
     $ cvs update -d -P             # non crea directory vuote
      ... L'albero sorgente ha ora una tag fissa "Release-initial-bugfixes"
      ... Lavorate su questa branca
     $ cvs up -d -P # si sincronizza con i file modificati da altri su questa branca
     $ cvs ci -m "controllate questa branca"
     $ cvs update -kk -A -d -P
      ... Rimuovete la tag fissa e dimenticate il contenuto
      ... Aggiornate la linea principale senza espansione per parola chiave
     $ cvs update -kk -d -P -j Release-initial-bugfixes
      ... Fonde la branca Release-initial-bugfixes nella linea 
      ... principale senza espansione per parola chiave.  Risolvete i conflitti con l'editor.
     $ cvs ci -m fusa Release-initial-bugfixes
     $ cd
     $ tar -cvzf old-progetto-x.tar.gz old # produce un archivio, -j per bz2
     $ cvs release -d old     # rimuove i sorgenti locali (opzionale)

Alcune opzioni utili da ricordare (da usare come primi argomenti per cvs):

     -n      esecuzione secca, nessun effetto
     -t      mostra messaggi sui passi dell'attivit� di cvs

12.1.2.7 Esportare i file da CVS

Per ottenere l'ultimissima versione da CVS, usate "tomorrow":

     $ cvs ex -D tomorrow nome_modulo

12.1.2.8 Amministrare CVS

Aggiungere un alias ad un progetto(server locale):

     $ su - admin           # un membro del team
     $ export CVSROOT=/var/lib/cvs
     $ cvs co CVSROOT/modules
     $ cd CVSROOT
     $ echo "px -a progetto-x" >>modules
     $ cvs ci -m Ora px � un alias per progetto-x
     $ cvs release -d .
     $ exit                 # o Ctrl-D per uscire da su
     $ cvs co -d progetto px 
      ... check out progetto-x (alias:px) da CVS alla directory del progetto
     $ cd project
      ... modifica il contenuto ...

Debian GNU/Linux Reference Guide
Prev Home Next

 
 
  Published under the terms of the GNU General Public License Design by Interspire