= Breve Tutorial de SVN = == Operaciones básicas == === Checkout === Descarga una rama del repositorio * svn co URI directorio-de-destino * Ejemplos: * svn co http://webapps.uco.es/svn/ts-uco/trunk tsuco * svn co http://webapps.uco.es/svn/ts-uco/branches/selector selector === Update === Actualiza el repositorio local * svn up [directorio] === Add === Añade un archivo local para que forme parte del repositorio. No lo sube al servidor, solo lo marca para añadir. * svn add --no-ignore [archivos-o-directorios] ... ''--no-ignore'' se usa para que añada archivos binarios, entre otros. También sirve para que vuelva a buscar archivos en un directorio que ya estaba agregado. === Remove === Borra archivos o directorios enteros * svn rm [archivos-o-directorios] ... === Revert === Lo que hace ''revert'' es dejar el directorio o el archivo en el mismo estado en el que estaría en la versión del repositorio en la que estamos trabajando. Útil si hemos editado un archivo y queremos dejarlo como estaba, recuperar un archivo borrado o desmarcar un archivo marcado para añadir. Solo se puede usar '''antes''' de hacer commit. * svn revert archivos-o-directorios ... === Commit === Envía cambios al repositorio * svn ci [archivos-o-directorios] ... == Operaciones avanzadas == === Anular un commit === Si hemos hecho un commit y queremos anular algún cambio (o todos), lo que se hace es descargar parte del commit anterior y volver a subir los cambios en nuevo commit. Realmente no se puede deshacer ningún cambio, pero podemos dejar el estado de un commit igual que el estado de otro anterior. Es lo que se llama ''merge''. * Ejemplo: Hemos hecho un commit que nos ha devuelto que nuestra revisión es la 76, para anularla haríamos lo siguiente: * svn merge -c -76 * svn ci -m "Anulado el cambio de la revisión 76" === Crear un tag === Creamos una etiqueta que marca el estado concreto del repositorio en una revisión determinada. * svn copy URI-ORIGEN URI-DESTINO * Ejemplo: * svn copy https://webapps.uco.es/svn/ts-uco/trunk https://webapps.uco.es/svn/ts-uco/tags/tsuco-3.0-alpha === Crear un directorio === Creamos un directorio directamente en el repositorio. El motivo puede ser crear una nueva rama de trabajo. * svn mkdir -m "Comentario" URI * Ejemplo: * svn mkdir https://webapps.uco.es/svn/ts-uco/branches/my-proyect También podríamos crear una nueva rama con copy, para desarrollar otra línea de trabajo y más adelante cambiar trunk por una rama concreta, con la ayuda de merge.