Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
|
code:subversion [2008/04/26 17:11] 127.0.0.1 editor externo |
code:subversion [2020/05/09 09:25] (actual) |
||
|---|---|---|---|
| Línea 11: | Línea 11: | ||
| - Edita el fichero ''conf/svnserve.conf'' que se habrá creado en el repositorio. Más adelante existe un apartado sobre ficheros de configuración, échale un vistazo. | - Edita el fichero ''conf/svnserve.conf'' que se habrá creado en el repositorio. Más adelante existe un apartado sobre ficheros de configuración, échale un vistazo. | ||
| - Inicia el servidor: ''svnserve -d -r /home/alfred/svnpath''. El parámetro //-d// hace que se inicie como daemon, el //-r// que el cliente no pueda salir del path indicado. El puerto por defecto es 3690. Para acceder al repositorio creado utilizaremos la dirección: ''<nowiki>svn://<host>/prueba</nowiki>'' | - Inicia el servidor: ''svnserve -d -r /home/alfred/svnpath''. El parámetro //-d// hace que se inicie como daemon, el //-r// que el cliente no pueda salir del path indicado. El puerto por defecto es 3690. Para acceder al repositorio creado utilizaremos la dirección: ''<nowiki>svn://<host>/prueba</nowiki>'' | ||
| + | |||
| + | |||
| Línea 30: | Línea 32: | ||
| En un //Ubuntu server// con Apache2 instalado podemos instalar un servidor de subversion añadiendo los paquetes **subversion** y **libapache2-svn**. | En un //Ubuntu server// con Apache2 instalado podemos instalar un servidor de subversion añadiendo los paquetes **subversion** y **libapache2-svn**. | ||
| * ''sudo apt-get install subversion libapache2-svn'' | * ''sudo apt-get install subversion libapache2-svn'' | ||
| - | Tras crear un repositorio (pongamos en /svn mediante el comando ''sudo svnadmin create /svn'', recuerda que este ha de poder ser accesible por el usuario correspondiente a apache) editaremos el fichero de configuración de webdav que, en distribuciones basadas en Debian, se encuentra en ///etc/apache2/mods-enabled/dav_svn.conf//. Una vez tengamos el fichero abierto haremos los siguientes cambios: | + | Tras crear un repositorio (pongamos en /svn mediante el comando ''sudo svnadmin create /svn'', recuerda que //todo el directorio// ha de poder ser accesible por el usuario correspondiente a apache) editaremos el fichero de configuración de webdav que, en distribuciones basadas en Debian, se encuentra en ///etc/apache2/mods-enabled/dav_svn.conf//. Una vez tengamos el fichero abierto haremos los siguientes cambios: |
| - Descomentar y modificar el elemento //<Location /svn>//, este indica cual será la dirección para este repositorio. Por ejemplo: //<nowiki>http://127.0.0.1/svn</nowiki>//. No olvides descomentar también, hacia el final del fichero, el elemento que cierra Location (</Location>). | - Descomentar y modificar el elemento //<Location /svn>//, este indica cual será la dirección para este repositorio. Por ejemplo: //<nowiki>http://127.0.0.1/svn</nowiki>//. No olvides descomentar también, hacia el final del fichero, el elemento que cierra Location (</Location>). | ||
| - Descomentar la línea ''DAV svn'' la cual activa el repositorio. | - Descomentar la línea ''DAV svn'' la cual activa el repositorio. | ||
| Línea 50: | Línea 52: | ||
| <code> | <code> | ||
| <Location /agl> | <Location /agl> | ||
| - | DAV svn; | + | DAV svn |
| SVNPath /home/alfred/svn_repositories/agl | SVNPath /home/alfred/svn_repositories/agl | ||
| AuthType Basic | AuthType Basic | ||
| Línea 57: | Línea 59: | ||
| </Location> | </Location> | ||
| </code> | </code> | ||
| + | |||
| ===== Administración y configuración de un repositorio ===== | ===== Administración y configuración de un repositorio ===== | ||
| Línea 70: | Línea 73: | ||
| + | ===== Conceptos ===== | ||
| + | * **Import**: Subir al repositorio (sin necesidad de que el directorio esté enlazado al repositorio). | ||
| + | * **Export**: Bajar del repositorio (sin necesidad de que el directorio esté enlazado al repositorio). | ||
| + | * **Update**: Actualizar el directorio local con los datos del repositorio. | ||
| + | * **Checkout**: Enlazar un directorio con un repositorio. | ||
| + | * **Commit**: Actualizar cambios hechos localmente en el repositorio. | ||
| + | * **Branch**: Copiar el directorio actual en otro para hacer una rama nueva. | ||
| + | Inicialmente se trabaja sobre un directorio //trunk//, sobre este se harán los commits y los updates. Cuando se quiera hacer una nueva versión se hará sobre el directorio //branches/x// siendo x la versión. | ||
| Línea 84: | Línea 94: | ||
| | //svn status// | Indica los cambios que tú has hecho sobre los archivos del repositorio en local desde el último commit. || | | //svn status// | Indica los cambios que tú has hecho sobre los archivos del repositorio en local desde el último commit. || | ||
| | //svn diff path// | Muestra los cambios realizados a un objetivo. || | | //svn diff path// | Muestra los cambios realizados a un objetivo. || | ||
| - | | svn revert | :?: || | + | | svn revert | Elimina los cambios realizados, volviendo a la versión usada. || |
| | **Fusionar los cambios** ||| | | **Fusionar los cambios** ||| | ||
| | //svn merge <path1> <path2>// | Une los cambios realizados en path1 sobre path2 || | | //svn merge <path1> <path2>// | Une los cambios realizados en path1 sobre path2 || | ||
| Línea 162: | Línea 172: | ||
| * Crear copia de seguridad: ''svnadmin dump <dirección> | gzip -9 > <archivo>.gz'' | * Crear copia de seguridad: ''svnadmin dump <dirección> | gzip -9 > <archivo>.gz'' | ||
| * Restaurar copia de seguridad: ''gunzip -c <archivo>.gz | svnadmin load <carpeta>'' | * Restaurar copia de seguridad: ''gunzip -c <archivo>.gz | svnadmin load <carpeta>'' | ||
| + | |||
| ==== Cambiar la URL de un repositorio ==== | ==== Cambiar la URL de un repositorio ==== | ||
| Línea 171: | Línea 182: | ||
| + | |||
| + | |||
| + | ==== Volver a una versión anterior ==== | ||
| + | Para, por ejemplo, ir de la versión 150 (actual) a la 140: | ||
| + | <code> | ||
| + | svn update | ||
| + | svn merge -r 150:140 . | ||
| + | svn commit -m "Rolled back to r140" | ||
| + | </code> | ||
| + | ==== Eliminar los cambios realizados a un fichero ==== | ||
| + | <code> | ||
| + | svn revert work2.R | ||
| + | </code> | ||
| ===== Notas ===== | ===== Notas ===== | ||
| Línea 177: | Línea 201: | ||
| * [[http://developer.r-project.org/SVNtips.html|Subversion Techniques]] | * [[http://developer.r-project.org/SVNtips.html|Subversion Techniques]] | ||
| * [[http://www.onlamp.com/pub/a/onlamp/2004/08/19/subversiontips.html|The Top Ten Subversion Tips for CVS Users]] | * [[http://www.onlamp.com/pub/a/onlamp/2004/08/19/subversiontips.html|The Top Ten Subversion Tips for CVS Users]] | ||
| + | * Una interface web para los repositorios de subversion es //websvn//. | ||