Servei Subversion

RDlab@lsi.upc.edu
Gener 2014

català Benvinguts a LSI.

  1. Introducció
  2. Accés al servei
  3. Càrrega inicial del repositori
  4. Creació de la "còpia de treball" (“working copy”)
  5. Modificació de la "còpia de treball"
  6. Afegir arxius al projecte
  7. Actualització de la "còpia de treball"
  8. Enllaços d’interès

1. Introducció

A continuació es mostrarà com accedir al servei de repositoris Subversion del RDlab, i com fer les tasques principals en mode text (per línia de comandes).

Hi ha altres clients de subversion amb interfície gràfica que queden fora de l'abast d'aquesta guia. Alguns dels més populars són Subclipse i Tortoise [2].

En cas de cercar informació sobre l’aplicació SVNFrontend, la podreu trobar al manual ubicat a http://rdlab.lsi.upc.edu/index.php/ca/serveis/documentacio.html.

2. Accés al servei

Per tal de tenir accés al servei cal demanar al RDlab un nom d'usuari (en endavant, <username>) i una contrasenya (<password>).

Aquests es poden demanar via web mitjançant el formulari a la pàgina http://rdlab.lsi.upc.edu/index.php/ca/serveis/solicitaracces.html o mitjançant un correu electrònic rdlab@lsi.upc.edu.

Un cop rebuts, l'usuari ja disposa d'un repositori pels seus projectes. Aquest es pot veure a http://svn-rdlab.lsi.upc.edu/subversion/<username>.

3. Càrrega inicial del repositori

Si el projecte encara no existeix al repositori, el primer pas és crear-lo i carregar el contingut del projecte al repositori. Per això cal crear una carpeta temporal on es copiarà el contingut del projecte que es vol posar sota revisió. Suposem que ho fem al directori “elMeuProjecte-temp” i que conté un arxiu “HolaMon.java”. Des d'aquesta carpeta cal executar la comanda “svn import”:

$svn import . http://svn-rdlab.lsi.upc.edu/subversion/<username>/elMeuProjecte -m "primera importacio" --username <username>

El servidor demanarà la contrasenya

Clave de '<username>':

la introduïm i tot seguit se’ns mostrarà la següent sortida:

Añadiendo elMeuProjecte/HolaMon.java Commit de la revisión 1.

Aquest procés ha creat una carpeta “elMeuProjecte” al repositori amb el contingut del projecte i amb el comentari “primera importació”.

Ara podem esborrar la carpeta temporal que havíem creat:

$ rm -rf elMeuProjecte-temp

4. Creació de la "còpia de treball" (“working copy”)

Si ja existeix un projecte al repositori podem crear una “còpia de treball”. La “còpia de treball” és el directori del nostre ordinador on es troba la còpia del projecte que es sincronitzarà amb la còpia del repositori.

Cal destacar que la comanda “svn import” descrita anteriorment només ha pujat el contingut del projecte al servidor de subversion, però no ha creat una “còpia de treball”. Per fer això cal crear una nova carpeta i executar la comanda “svn checkout”:

$ cd ..
$ mkdir elMeuProjecte
$ svn checkout http://svn-rdlab.lsi.upc.edu/subversion/<username>/elMeuProjecte/ elMeuProjecte --username <username>

El sistema ens mostrarà la sortida :

A   elMeuProjecte/HolaMon.java Revisión obtenida: 1

En aquest moment ja es disposa d'una còpia associada a la del repositori. Ja es poden fer modificacions a la còpia local i pujar-los al repositori (com s'explica al següent apartat) o actualitzar la còpia local amb canvis que hagin fet altres usuaris al repositori (apartat 7).

5. Modificació de la "còpia de treball"

Quan es fan canvis a la “còpia de treball” i es vol incorporar-los al repositori s’ha d’executar la comanda “svn commit” des de la carpeta de la “còpia de treball”:

$ cd elMeuProjecte
$ svn commit . -m "modificat HolaMon" --username <username>

Si, per exemple, hem modificat l'arxiu HolaMon.java, el sistema ens mostrarà la sortida :

Enviando HolaMon.java
Transmitiendo contenido de archivos .
Commit de la revisión 2.

6. Afegir arxius al projecte

Si es creen arxius o carpetes nous a la còpia de treball i es vol incorporar-los al repositori, s’han d’executar les comandes “svn add” para afegir els arxius al projecte i després “svn commit” para afegir-los al repositori com s’explica a l’apartat anterior. Si, per exemple, s’ha afegit l’arxiu “nouArxiu.java”:

$ svn add nouArxiu.java --username <username>

el sistema ens mostrarà la sortida :

A    nouArxiu.java

7. Actualització de la "còpia de treball"

Si un altre usuari ha fet canvis al projecte i els ha incorporat al repositori, es poden incorporar aquests canvis a la nostra “còpia de treball” amb la comanda “svn update”:

$ svn update . --username <username>

El sistema ens mostrarà la sortida :

Añadiendo    elMeuProjecte/HolaMon.java En la revisión 3.

Amb la comanda svn update també es pot recuperar una revisió anterior d’un arxiu o de tota una carpeta amb l’opció “-r” seguida del número de revisió. Per exemple per recuperar la revisió 2 de l’arxiu “HolaMon.java” :

$ svn update ./elMeuProjecte/HolaMon.java –r2 --username <username>

Per recuperar tota la carpeta “elMeuProjecte” a la revisió 2:

$ svn update ./elMeuProjecte –r2 --username <username>

8. Enllaços d’interès

  1. Subclipse (subversion per a Eclipse):
    http://subclipse.tigris.org/
  2. Tortoise (subversion per a Windows):
    http://tortoisesvn.net/
  3. Subversion, pàgina oficial:
    http://subversion.apache.org/
  4. Llibre “Control de versions amb Subversion” (O'Reilly Media)
    http://svnbook.red-bean.com/