Anar a: Buscar
FIB > Laboratori de Càlcul > Serveis > Subversion > Client de text Castellano | English


Descripció
Conceptes
Client de text
Ús sota Eclipse
Accés via web
Compartir el repositori
Preguntes freqüents



Subversion

Última modificació: 06-10-2006

Client de línia de comandes

Subversion ofereix una comanda, svn, amb la qual es pot posar sota revisió un o més fitxers que pertanyin a un projecte o pràctica. Veiem un exemple:

    1. Creació de la pràctica o projecte.
    Crear un fitxer d'exemple en un subdirectori del nostre HOME, que després posarem sota revisió:
      cd $HOME/practica1_tmp
      Crear un fitxer holaMon.java que contingui:

      public class Hola
        {
        public static void main(String[] args) {
        System.out.println("Hola, mon!"); }
        }

    2. Creació del repositori.
    L'LCFIB ha creat un repositori per a cada estudiant: https://svn.fib.upc.es/svn/username. Per comprovar la seva existència executar la comanda:
      svn list https://svn.fib.upc.es/svn/username
    i ens hauria d'aparèixer la següent informació:
      projecte1/
    Ara, podríem aprofundir un nivell i consultar el contingut de projecte1:

      svn list https://svn.fib.upc.es/svn/username/projecte1
    i ens hauria d'aparèixer la següent informació:
      branches/
      tags/
      trunk/

    3. Càrrega inicial del repositori.
    Podem importar la nostra pràctica en un directori existent del repositori:
      svn import . https://svn.fib.upc.es/svn/username/projecte1/trunk -m "Comentari: primera importació"
    o bé, indicar un nou directori, que es crearà per la pròpia comanda 'svn import':

      svn import . https://svn.fib.upc.es/svn/username/assig1/tema1/proj1/trunk -m "Comentari: primera importació"
    En aquest últim exemple, es crearia l'arbre de directoris assig1/tema1/proj1/trunk automàticament. A la resta del document seguim usant el repositori d'exemple però es podria sustituir per la ruta que haguem creat.
    4. Creació de la còpia de treball ("working copy").
    La comanda svn import no converteix el directori on tenim la nostra pràctica en un "working copy", i per tant, per obtenir-lo caldrà executar la comanda svn checkout sobre un directori nou practica1 per poder començar a fer modificacions. A continuació, ja podem esborrar el directori practica1_tmp que havíem utilitzat per la càrrega inicial.
      cd ..
      svn checkout https://svn.fib.upc.es/svn/username/projecte1/trunk practica1
      rm -rf practica1_tmp
    5. Events possibles quan el repository i el "working copy" estan sincronitzats.
    Ara tenim un repositori i un "working copy" sincronitzats. Poden succeïr dos tipus d'events:
      a. Que fem modificacions al working copy i haguem de comunicar-les al repositori. Veure el punt 6.
      b. Que algu altre faci modificacions al repositori i ens veiem obligats a fer un update del nostre working copy. Veure el punt 7.

    6. Modificació de la còpia de treball ("working copy") i incorporació al repositori.
    Les modificacions poden ser de dos tipus:
      a. modificacions a fitxers existents.
        Modifiquem l'string "Hola, mon!" per "Hola, FIBers!" del fitxer holaMon.java amb un editor de text:
          cd practica1
          editar holaMon.java
        Després de fer modificacions, caldrà executar un commit per incorporar els canvis al repositori:
          svn commit . -m "Canviat l'string de salutació "
      b. adicions i esborrats de fitxers del working copy.
        Per afegir un nou fitxer adeuMon.java al repositori:
          vi adeuMon.java
          svn add adeuMon.java
          svn commit . -m "Afegir fitxer adeuMon.java"
        Nota: Quan creem un fitxer al nostre working copy, no ens serveix fer svn commit, per què subversion ens dirà que aquest fitxer no està sota el control de revisions en el repositori. Caldrà fer svn add, i svn commit.
        Per esborrar el fitxer del "working copy" que hem creat en el pas anterior:
          svn del adeuMon.java
          svn commit . -m "Esborrar fitxer adeuMon.java"
        Ara tornem a tenir una altra vegada un repositori i un "working copy" sincronitzats. Tornem a estar a la situació del punt 5.

    7. Actualització de la "còpia de treball" ("working copy") quan hi ha hagut canvis al repositori.
    Si el repositori ha estat modificat per altres cal que carreguem els canvis en el nostre "working copy". Caldrà fer:
      svn update


versió per imprimir