Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Programmazione/Cvs"
Differenze tra le versioni 2 e 20 (in 18 versioni)
Versione 2 del 17/02/2007 19.45.18
Dimensione: 5388
Commento:
Versione 20 del 24/02/2019 19.12.44
Dimensione: 6977
Autore: dd3my
Commento: nuovo stile note/avvisi/suggerimenti
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 1: Linea 1:
## page was renamed from Cvs
Linea 2: Linea 3:
||<tablebgcolor="red" tablewidth="100%" tablestyle="margin: 0pt; font-size: 18px; text-align: center;"style="padding: 0.5em;">'''ATTENZIONE: Questa pagina è in fase di creazione...'''||
Linea 4: Linea 4:
[[BR]]
||<tablebgcolor="#f1f1ed" tablewidth="35%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="padding: 0.5em;">[[TableOfContents]]||
<<BR>>
<<Indice(depth=1)>>
Linea 7: Linea 7:
'''Cvs''', ovvero __Concurrent__ (o __Current__) __Version System__, è un sistema di ''controllo di revisione'' (o di ''versione'') il cui scopo è quello di gestire più versioni (o appunto revisioni) del medesimo codice sorgente agendo direttamente sul tree remoto. I cambiamenti effettuati sul codice sorgenti vengono automaticamente registrati con un ''autoincremento'' di un dato valore numerico che viene assegnato ad ogni modifica. = Introduzione =
Linea 9: Linea 9:
Il lato positivo di questa tecnologia è il poter tenere sotto controllo qualsiasi cambiamento effettuato dagli addetti ai lavori, avendo la possibilità di tornare indietro a revisioni precedenti nel caso di errori o manomissioni volontarie al codice sorgente. Indubbia è anche la possibilità di collaborazione estesa che grazie a questo sistema diviene semplice dato che un gruppo di persone può lavorare liberamente allo stesso codice sorgente modificando il tree remoto ed aggiornando la loro copia locale in relazione a modifiche di altri sviluppatori. '''Cvs''', ovvero '''Concurrent''' (o '''Current''') '''Version System''', è un ''sistema di controllo di revisione'' (o di ''versione'') il cui scopo è quello di gestire più versioni (o appunto revisioni) del medesimo codice sorgente agendo direttamente sul tree remoto. I cambiamenti effettuati sul codice sorgente vengono automaticamente registrati con un ''autoincremento'' di un dato valore numerico o alfanumerico che indica univocamente la revisione.
Linea 11: Linea 11:
= Installazione client =
Per utilizzare cvs su piattaforma ''linux'' si utilizza '''cvs''', il ''client opensource''. In ''ubuntu'' esso si trova nei repositories ed è installabile con il seguente comando
= Caratteristiche =
Linea 14: Linea 13:
{{{ Il punto di forza di questa tecnologia è il poter tenere sotto controllo qualsiasi cambiamento effettuato dagli sviluppatori, avendo la possibilità di tornare a revisioni precedenti nel caso di errori o manomissioni volontarie al codice sorgente.<<BR>>Indubbia è anche la possibilità di collaborazione estesa che grazie a questo sistema diviene semplice: un gruppo di persone può infatti lavorare liberamente allo stesso codice sorgente modificando il tree remoto ed aggiornando la propria copia locale in relazione a modifiche di altri sviluppatori.

= Installazione del client =

Per utilizzare cvs su piattaforma Linux si utilizza '''cvs''', il client ''opensource''. In '''Ubuntu''' esso si trova nei [[Repository|repository]] ed è installabile con il seguente comando:{{{
Linea 18: Linea 21:
[[Anchor(var)]] <<Anchor(var)>>
Linea 20: Linea 23:
'''Cvsroot''' è una variabile molto importante per il lavoro mediante ''cvs''. L'averla settata correttanente ci permette di poter effettuare operazioni sul repository che scegliamo senza dover ripetere ogni volta la sua locazione ed il nostro login. Ovviamente questo si adatta a chi ha a che fare specialmente con un solo repository ''cvs''.
Linea 22: Linea 24:
Il modo più semplice per settare questa variabile è: '''Cvsroot''' è una variabile molto importante per il lavoro mediante ''cvs''. La corretta impostazione permette di operare sul repository scelto senza dover ripetere ogni volta la sua locazione e la procedura del login. Ovviamente questo si adatta a chi ha a che fare specialmente con un solo repository ''cvs''.
Linea 24: Linea 26:
{{{ Il modo più semplice per impostare questa variabile è:{{{
Linea 28: Linea 30:
 * '''pserver''' è il metodo di connessione/autenticazione e sta per password authenticated server
 * '''nomeutente''' è il vostro nome utente per quel dominio. Nel caso dobbiate effettuare solo un checkout può essere anche anonimo, ovvero anonymous
 * '''dominio.it''' è il dominio completo di eventuale sottodominio a cui dovete
collegarvi (molto spesso è del tipo cvs.dominio.it)
 * '''/percorso/al/cvs''' è il path assoluto alla directory contenente il tree cvs che dovete modificare/prelevare
 * '''pserver''' è il metodo di connessione/autenticazione e sta per ''password authenticated server''
 * '''nomeutente''' è il nome utente per un dato dominio. Nel caso di un semplice ''checkout'', può anche essere anonimo: fornire ''anonymous'' come stringa.
 * '''dominio.it''' è il domini
o, completo di eventuale sottodominio, cui collegarsi (molto spesso è del tipo cvs.dominio.it)
 * '''/percorso/al/cvs''' è il path assoluto alla directory contenente il tree cvs da modificare/prelevare.
Linea 33: Linea 35:
Una volta settata dovete ovviamente esportarla

{{{
Una volta impostata è necessario esportarla:{{{
Linea 39: Linea 39:
Così che possa essere usata dal programma. Per controllare che tutto sia andato a buon fine provate a dare

{{{
Così che possa essere usata dal programma. Per controllare che tutto sia andato a buon fine, eseguire:{{{
Linea 45: Linea 43:
E controllate che l'output sia quello da voi inserito in precedenza. Controllare che l'output sia quello inserito in precedenza.
Linea 48: Linea 46:
L'operazione più semplice e comune per la maggioranza degli utenti è quella di '''checkout''', ovvero di copia del tree remoto di un programma in una cartella locale. il comando da passare al programma è '''co''' e la sintassi è la seguente.
Linea 50: Linea 47:
{{{ L'operazione più semplice e comune per la maggioranza degli utenti è quella di '''checkout''', ovvero di copia del tree remoto di un programma in una directory locale. Il comando da passare al programma è '''co''' e la sintassi è la seguente:{{{
Linea 54: Linea 51:
 * '''-d''' indica la necessità di specificare un dominio di lavoro
 * ''':pserver: nomeutente_dominio.it :/percorso/al/cvs''' indica il dominio, il metodo di autenticazione e la cartella di lavoro
 * '''co''' è il comando che vogliamo eseguire, ovvero il checkout
 * '''cartella''' è il nome della cartella locale in cui sarà salvato il tree
 * '''-d''' indica la necessità di specificare un dominio di lavoro;
 * ''':pserver: nomeutente_dominio.it :/percorso/al/cvs''' indica il dominio, il metodo di autenticazione e la directory di lavoro;
 * '''co''' è il comando da eseguire, ovvero il checkout;
 * '''directory''' è il nome della directory locale in cui sarà salvato il tree.
Linea 59: Linea 56:
oppure se avete già settato correttamente la variabile [#var Cvsroot]

{{{
cvs co cartella
oppure avendo già impostato correttamente la variabile [[#var|Cvsroot]]:{{{
cvs co directory
Linea 66: Linea 61:
Per creare un nuovo tree sia remoto che locale il comando utilizzato è sempre '''import'''. La sintassi generale di utilizzo è
Linea 68: Linea 62:
{{{
cvs -d :pserver:nomeutente_dominio.it:/percorso/al/cvs import -m "primo import in CVS" nomeprogetto vendortag releasetag
Per creare un nuovo tree sia remoto che locale il comando utilizzato è sempre '''import'''. La sintassi generale di utilizzo è:{{{
cvs -d :pserver:nomeutente@dominio.it:/percorso/al/cvs import -m "primo import in CVS" nomeprogetto vendortag releasetag
Linea 73: Linea 67:
 * ''':pserver: nomeutente@dominio.it :/percorso/al/cvs''' indica il dominio, il metodo di autenticazione e la cartella di lavoro
 * '''import''' è il comando utilizzato
 * '''-m "primo import in CVS"''' specifica un piccolo commento da associare alla creazione
 * '''nomeprogetto''' è il nome del tree e non necessariamente deve corrispondere alla directory di lavoro anche se in molti casi si preferisce così
 * '''vendortag releasetag''' sono due parameti avanzati la cui configurazioen va oltre gli scopi di questa guida. Se volete maggiori informazioni consultate [http://cvsbook.red-bean.com/cvsbook.html#Advanced%20CVS questa] pagina. Altrimenti potete sostituirli con i parametri di default '''jrandom start'''
 * ''':pserver: nomeutente_dominio.it :/percorso/al/cvs''' indica il dominio, il metodo di autenticazione e la directory di lavoro;
 * '''import''' è il comando utilizzato;
 * '''-m "primo import in CVS"''' specifica un piccolo commento da associare alla creazione;
 * '''nomeprogetto''' è il nome del tree. Non necessariamente deve corrispondere alla directory di lavoro (anche se in molti casi si preferisce così);
 * '''vendortag releasetag''' sono due parametri avanzati la cui configurazione va oltre gli scopi di questa guida.  I parametri predefiniti sono: '''jrandom start'''.
Linea 79: Linea 73:
Come vedete il comando è complesso e generalmente se create un tree remoto ci lavorerete spesso ed è pertanto conveniente usare la variabile [#var Cvsroot] per semplificare la sintassi che diviene {{{#!wiki important
Per maggiori informazioni sull'amministrazione avanzata di CVS consultare [[http://cvsbook.red-bean.com/cvsbook.html#Advanced%20CVS|questa]] pagina.}}}
Linea 81: Linea 76:
{{{ Il comando è complesso e di utilizzo frequente su tree remoti: è pertanto conveniente usare la variabile [[#var|Cvsroot]] per semplificare la sintassi. Nel caso di utilizzo di ''cvsroot'' il comando diviene:{{{
Linea 85: Linea 80:
= Fonti =
Per la realizzazione di questa guida sono state utilizzate le informazioni dei seguenti documenti
Perché questo comando dia i risultati aspettati è necessario eseguirlo dopo aver navigato mediante terminale '''all'interno''' della cartella contenente i file del progetto. Ad esempio volendo importare dei file presenti nella directory ''cvs'' del proprio ''Desktop'' il comando da eseguire ''prima'' di '''cvs import''' è:{{{
cd Desktop/cvs
}}}

= Altre Operazioni =

Per l'esplicazione dei seguenti comandi si fa riferimento ad un sistema in cui sia già stata configurata la variabile [[#var|Cvsroot]]. In caso contrario, in ogni comando aggiungere: {{{
-d :pserver:nomeutente@dominio.it:/percorso/al/cvs
}}}

== Aggiungere file o directory ==

Per aggiungere un file o una cartella (automaticamente ''in modo ricorsivo'', indi comprendente tutti i file e le sottodirectory al suo interno) al tree si utilizza il comando '''add''' con la sintassi:{{{
cvs add file
cvs add cartella
}}}

== Rimuovere file o directory ==

Per rimuovere un file o una directory (anche in questo caso ricorsivamente) si usa il comando '''rm''':{{{
cvs rm file
cvs rm cartella
}}}


= Alcune limitazioni di cvs =

Purtroppo il metodo cvs ha alcune limitazioni in operazioni di utilizzo comune ed è per questo che spesso, al suo posto, si preferisce usare [[Programmazione/Subversion|SVN]].

 * Non è possibile __copiare__ file o directory oppure __muovere__ file o directory direttamente da ''cvs'';
 * Non è ancora supportato il mero ''listing'' dei file senza checkout;
 * Queste operazioni devono essere fatte con altri strumenti ad esempio '''ssh''', pregiudicando così la loro registrazione nelle modifiche effettuate al tree e conseguente aggiornamento di versione;
 * Il login deve essere sempre effettuato mediante il parametro '''user[at]dominio''' e non può essere lasciato al server il compito di richiedere username e password come accade in [[Programmazione/Subversion|SVN]].

= Ulteriori risorse =
Linea 93: Linea 121:
 . CategoryNuoviDocumenti CategoryProgrammazione


Introduzione

Cvs, ovvero Concurrent (o Current) Version System, è un sistema di controllo di revisione (o di versione) il cui scopo è quello di gestire più versioni (o appunto revisioni) del medesimo codice sorgente agendo direttamente sul tree remoto. I cambiamenti effettuati sul codice sorgente vengono automaticamente registrati con un autoincremento di un dato valore numerico o alfanumerico che indica univocamente la revisione.

Caratteristiche

Il punto di forza di questa tecnologia è il poter tenere sotto controllo qualsiasi cambiamento effettuato dagli sviluppatori, avendo la possibilità di tornare a revisioni precedenti nel caso di errori o manomissioni volontarie al codice sorgente.
Indubbia è anche la possibilità di collaborazione estesa che grazie a questo sistema diviene semplice: un gruppo di persone può infatti lavorare liberamente allo stesso codice sorgente modificando il tree remoto ed aggiornando la propria copia locale in relazione a modifiche di altri sviluppatori.

Installazione del client

Per utilizzare cvs su piattaforma Linux si utilizza cvs, il client opensource. In Ubuntu esso si trova nei repository ed è installabile con il seguente comando:

sudo apt-get install cvs

Cvsroot

Cvsroot è una variabile molto importante per il lavoro mediante cvs. La corretta impostazione permette di operare sul repository scelto senza dover ripetere ogni volta la sua locazione e la procedura del login. Ovviamente questo si adatta a chi ha a che fare specialmente con un solo repository cvs.

Il modo più semplice per impostare questa variabile è:

CVSROOT=:pserver:nomeutente@dominio.it:/percorso/al/cvs
  • pserver è il metodo di connessione/autenticazione e sta per password authenticated server

  • nomeutente è il nome utente per un dato dominio. Nel caso di un semplice checkout, può anche essere anonimo: fornire anonymous come stringa.

  • dominio.it è il dominio, completo di eventuale sottodominio, cui collegarsi (molto spesso è del tipo cvs.dominio.it)

  • /percorso/al/cvs è il path assoluto alla directory contenente il tree cvs da modificare/prelevare.

Una volta impostata è necessario esportarla:

export CVSROOT

Così che possa essere usata dal programma. Per controllare che tutto sia andato a buon fine, eseguire:

echo $CVSROOT

Controllare che l'output sia quello inserito in precedenza.

Checkout

L'operazione più semplice e comune per la maggioranza degli utenti è quella di checkout, ovvero di copia del tree remoto di un programma in una directory locale. Il comando da passare al programma è co e la sintassi è la seguente:

cvs -d :pserver:nomeutente@dominio.it:/percorso/al/cvs co cartella
  • -d indica la necessità di specificare un dominio di lavoro;

  • :pserver: nomeutente_dominio.it :/percorso/al/cvs indica il dominio, il metodo di autenticazione e la directory di lavoro;

  • co è il comando da eseguire, ovvero il checkout;

  • directory è il nome della directory locale in cui sarà salvato il tree.

oppure avendo già impostato correttamente la variabile Cvsroot:

cvs co directory

Creare un repository

Per creare un nuovo tree sia remoto che locale il comando utilizzato è sempre import. La sintassi generale di utilizzo è:

cvs -d :pserver:nomeutente@dominio.it:/percorso/al/cvs import -m "primo import in CVS" nomeprogetto vendortag releasetag
  • -d indica la specificazione di un dominio di lavoro

  • :pserver: nomeutente_dominio.it :/percorso/al/cvs indica il dominio, il metodo di autenticazione e la directory di lavoro;

  • import è il comando utilizzato;

  • -m "primo import in CVS" specifica un piccolo commento da associare alla creazione;

  • nomeprogetto è il nome del tree. Non necessariamente deve corrispondere alla directory di lavoro (anche se in molti casi si preferisce così);

  • vendortag releasetag sono due parametri avanzati la cui configurazione va oltre gli scopi di questa guida. I parametri predefiniti sono: jrandom start.

Per maggiori informazioni sull'amministrazione avanzata di CVS consultare questa pagina.

Il comando è complesso e di utilizzo frequente su tree remoti: è pertanto conveniente usare la variabile Cvsroot per semplificare la sintassi. Nel caso di utilizzo di cvsroot il comando diviene:

cvs import -m "initial import into CVS" myproj vendortag releasetag

Perché questo comando dia i risultati aspettati è necessario eseguirlo dopo aver navigato mediante terminale all'interno della cartella contenente i file del progetto. Ad esempio volendo importare dei file presenti nella directory cvs del proprio Desktop il comando da eseguire prima di cvs import è:

cd Desktop/cvs

Altre Operazioni

Per l'esplicazione dei seguenti comandi si fa riferimento ad un sistema in cui sia già stata configurata la variabile Cvsroot. In caso contrario, in ogni comando aggiungere:

-d :pserver:nomeutente@dominio.it:/percorso/al/cvs

Aggiungere file o directory

Per aggiungere un file o una cartella (automaticamente in modo ricorsivo, indi comprendente tutti i file e le sottodirectory al suo interno) al tree si utilizza il comando add con la sintassi:

cvs add file
cvs add cartella

Rimuovere file o directory

Per rimuovere un file o una directory (anche in questo caso ricorsivamente) si usa il comando rm:

cvs rm file
cvs rm cartella

Alcune limitazioni di cvs

Purtroppo il metodo cvs ha alcune limitazioni in operazioni di utilizzo comune ed è per questo che spesso, al suo posto, si preferisce usare SVN.

  • Non è possibile copiare file o directory oppure muovere file o directory direttamente da cvs;

  • Non è ancora supportato il mero listing dei file senza checkout;

  • Queste operazioni devono essere fatte con altri strumenti ad esempio ssh, pregiudicando così la loro registrazione nelle modifiche effettuate al tree e conseguente aggiornamento di versione;

  • Il login deve essere sempre effettuato mediante il parametro user[at]dominio e non può essere lasciato al server il compito di richiedere username e password come accade in SVN.

Ulteriori risorse


CategoryProgrammazione