Skip to content

Commit 8172dde

Browse files
authored
1 parent 381c4da commit 8172dde

File tree

1 file changed

+89
-0
lines changed
  • software/version-control

1 file changed

+89
-0
lines changed

software/version-control/svn.md

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
Esto es un tutorial básico para Subversion (SVN) [Pincha aquí para un tutorial más extenso](http://www.hasheado.com/usando-subversion-desde-la-linea-de-comandos.html).
2+
3+
Subversion (SVN) es una herramienta software para la gestión de ficheros online. Utiliza un servidor centralizado (a veces algunos más de respaldo) al cual se conectan los diversos usuarios del sistema para subir o descargar ficheros. Al igual que otros RCS (Revision Control System, entre los cuales se encuentran SVN, CVS, Hg, Git, Bazaar...) mantiene una base de datos incremental ("repositorio"). Se actualiza con las subidas de ficheros de los usuarios ("commits"), pero las anteriores versiones ("revisiones") se mantienen y son siempre accesibles en caso de necesidad de ir para atrás. El hecho de registrar qué cambios existen entre distintas revisiones de código y la posibilidad de comparación y marcha atrás hacen que los RCS sean componentes fundamentales para la depuración y el desarrollo de software. SVN ofrece además una inferfaz web ("http") para navegar y descargar ficheros, y se puede integrar con TRAC para ofrecer una interfaz web con más funcionalidades.
4+
5+
## Clientes SVN
6+
7+
Existen diversos clientes SVN cuya interfaz es gráfica. [Tortoise SVN](http://tortoisesvn.net/downloads) es un cliente SVN gráfico para Windows que agrega funcionalidades al menú que se despliega al pulsar el botón derecho del ratón dentro de una carpeta. Para Linux existe [RabbitVCS](http://www.rabbitvcs.org), muy semejante. [RapidSVN](http://rapidsvn.tigris.org) es un cliente SVN gráfico
8+
multiplataforma (en Ubuntu se instala con un *sudo apt-get install rapidsvn*).
9+
10+
## Tutorial SVN Ubuntu
11+
12+
Los siguientes pasos funcionan para una máquina Ubuntu. Sin embargo, el procedimiento (orden de operaciones) es el mismo para cualquier otra Distribución o Sistema Operativo.
13+
14+
1. Lo primero es intalar un cliente Subversion. Aquí opté por el más básico, el de interfaz de texto.
15+
16+
```bash
17+
sudo apt-get install subversion  # Posiblemente necesites escribir tu contraseña de sudo
18+
```
19+
20+
2. Acto seguido deberéis descargar el repositorio o trozo de repositorio sobre el que vais a trabajar ("check-out"). Por defecto descarga la última revisión ("HEAD").
21+
22+
```bash
23+
svn co https://asrob.svn.sourceforge.net/svnroot/asrob  # Cambia la URL (http...) por la del repositorio en cuestión. Posiblemente necesites escribir tu contraseña de usuario del repositorio
24+
```
25+
26+
3. A medida que generéis contenido, éste no se "agrega" al repositorio. Al comprobar el "status" del svn tecleando:
27+
28+
```bash
29+
svn st
30+
```
31+
32+
Si has generado ficheros nuevos, la contestación tendrá el siguiente aspecto:
33+
```bash
34+
? tu_fichero_nuevo1....
35+
? tu_fichero_nuevo2....
36+
? tu_carpeta_nueva1...
37+
```
38+
39+
4. Deberás agregar todo lo nuevo:
40+
41+
```bash
42+
svn add *  <- Se podría también hacerlo fichero a fichero
43+
```
44+
45+
5. Viendo el "status" veréis que:
46+
47+
```bash
48+
svn st
49+
50+
A tu_fichero_nuevo1....
51+
A tu_fichero_nuevo2....
52+
A tu_carpeta_nueva1...
53+
```
54+
55+
Y si hay algún fichero existente modificado, aparecerá como:
56+
57+
```bash
58+
svn st
59+
60+
M tu_fichero_modificado1....
61+
```
62+
63+
6. Sólo falta subir todo al repositorio ("commit").
64+
65+
```bash
66+
svn ci -m"He mejorado mi nivel de usuario SVN!"
67+
```
68+
69+
El cliente de interfaz de texto de SVN exige que se escriba un mensaje
70+
que explique el porqué de los cambios realizados entre "revisión" y
71+
"revisión".
72+
73+
-----
74+
75+
Otro comando muy interesante es este, que sirve para ver la diferencia
76+
entre un fichero con una revisión pasada del mismo:
77+
78+
`$ svn diff -r numero_de_la_revisión_antigua fichero_con_extensión`
79+
80+
## Configuraciones SVN
81+
82+
Muchas veces nos interesa ignorar cierto fichero o tipo de fichero.
83+
Podemos añadir la línea:
84+
85+
```bash
86+
global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo Thumbs.db *.aux *.blg *.out *.lof *.suo build
87+
```
88+
89+
al fichero **config**, que en Windows se encuentra en: *C:\\Documents and Settings\\\[username\]\\Application Data\\Subversion*, y en GNU/Linux Ubuntu puede encontrarse en *~/.subversion*.

0 commit comments

Comments
 (0)