Você está na página 1de 89

MANUAL DE USUARIO

TORTOISESVN

Tabla de contenidos
Empezando
Iconos sobreimpresionados
Mens contextuales
Arrastrar y soltar
Atajos comunes
Autentificacin
Maximizando ventanas
Importando datos en un repositorio
Importar
Importar en el sitio
Ficheros especiales
Obteniendo una copia de trabajo
Profundidad de obtencin
Confirmando sus cambios en el repositorio
El dilogo de Confirmacin
Listas de cambios
Excluyendo tems de la lista de confirmacin
Mensajes de registro de confirmacin
Progreso de confirmacin
Actualice su copia de trabajo con los cambios de otros
Resolviendo conflictos
Conflictos de ficheros
Conflictos de rbol
Obteniendo informacin del estado
Iconos sobreimpresionados
Columnas de TortoiseSVN en el Explorador de Windows
Estado local y remoto
Viendo diferencias
Listas de cambios
Dilogo de Registro de revisiones
Invocando el dilogo de Registro de revisiones
Acciones del registro de revisiones
Obteniendo informacin adicional
Obteniendo ms mensajes de registro
Revisin actual de la copia de trabajo
Caractersticas de registro de fusin
Cambiando el mensaje de registro y el autor
Filtrando los mensajes de registro
Informacin estadstica
Modo sin conexin
Refrescando la vista
Viendo diferencias
Diferencias de ficheros
Opciones de fn de lnea y espacios en blanco
Comparando carpetas
Diferenciando imgenes utilizando TortoiseIDiff
Herramientas externas de diferencias/fusin
Aadiendo nuevos ficheros y directorios
Copiando/Moviendo/Renombrando ficheros y carpetas
Ignorando ficheros y directorios

Concordancia de patrones en las listas de ignorados


Eliminando, moviendo y renombrando
Eliminando ficheros y carpetas
Moviendo ficheros y carpetas
Cambiando las maysculas/minsculas en un nombre de fichero
Lidiando con conflictos en las maysculas/minsculas de un nombre de fichero
Reparando renombrados de ficheros
Eliminando ficheros no versionados
Deshacer cambios
Limpieza
Configuracin del proyecto Propiedades de
Subversion Propiedades de projecto
TortoiseSVN
tems externos
Carpetas externas
Ficheros externos
Haciendo ramas / etiquetas
Crando una rama o etiqueta
Obtener o cambiar...
Fusionando
Fusionando un rango de revisiones
Reintegrando una rama.
Fusionando dos rboles diferentes
Opciones de fusin
Revisando los resultados de la fusin
Registro de fusin
Manejando conflictos durante la fusin
Fusionar una rama completada
Mantenimiento de ramas de caractersticas
Bloqueando
Cmo trabaja el bloqueo en Subversion
Obteniendo un bloqueo
Quitando un Bloqueo
Comprobando el estado de los bloqueos
Haciendo ficheros no-bloqueados como slo-lectura
Los scripts ganchos de bloqueo
Creando y aplicando parches
Creando un fichero parche
Aplicando un fichero parche
Quin cambi qu lnea?
Autora de ficheros
Autora de las diferencias
El navegador de repositorios
Grficos de revisin
Nodos del grfico de revisin
Cambiando la vista
Usando el grfico
Refrescando la vista
Podando rboles
Exportando una copia de trabajo de Subversion
Eliminando una copia de trabajo del control de versiones

Este documento describe el uso diario del cliente TortoiseSVN.


Para aprovechar al mximo el manual de usuario:
Debe tener ya instalado TortoiseSVN.
Debe estar familiarizado con los sistemas de control de versiones.
Debe conocer las bases de Subversion.
Debe haber preparado un servidor y/o tener acceso a un repositorio de Subversion.

Empezando
Iconos sobreimpresionados

Figura 1: Explorador mostrando iconos sobreimpresionados


Una de las funciones ms visibles de TortoiseSVN son los iconos sobreimpresionados que aparecen
en los ficheros de su copia de trabajo. Estos le muestran de un vistazo qu ficheros han sido
modificados.

Mens contextuales

Figura 2: Men contextual para un directorio bajo el control


de versiones
Todos los comandos de TortoiseSVN se invocan desde el men contextual del explorador de
Windows. La mayora se ven directamente, cuando hace click con el botn derecho en un fichero o
una carpeta. Los comandos disponibles dependen de si el fichero o la carpeta o su carpeta padre est
bajo el control de versiones o no. Tambin puede ver el men de TortoiseSVN como parte del men
archivo del explorador.

Sugerencia
Algunos comandos que se utilizan muy raramente slo estn disponibles en el men
contextual extendido. Para mostrar el men contextual extendido, mantenga pulsada
la tecla Mays mientras hace click con el boton derecho.
En algunos casos puede ver varias entradas de TortoiseSVN. Esto no es un error!

Figura 3: Men archivo del explorador para un


acceso directo en una carpeta versionada
Este ejemplo es para un acceso directo sin versionar dentro de una carpeta versionada, y en el men
de archivo del Explorador hay tres entradas para TortoiseSVN. Una es para la carpeta, otra para el
acceso directo en s mismo, y otra para el objeto al que apunta el acceso directo. Para ayudarle a
distinguir entre ellos, los iconos tienen un indicador en la esquina inferior derecha para mostrarle
que la entrada del men es para un fichero, una carpeta, un acceso directo o para mltiples tems
seleccionados.
Si est utilizando Windows 2000 ver que los mens contextuales se muestran slo como texto, sin
los iconos de men mostrados arriba. Sabemos que esto funcionaba en las versiones anteriores, pero
Microsoft ha cambiado la forma en la que los iconos de men funcionan en Vista, y eso nos ha
forzado a utilizar una forma para mostrarlos que desafortunadamente no funciona en Windows
2000.

Arrastrar y soltar

Figura 4: Men de arrastre con el botn


derecho para un directorio bajo el control de
versiones

Otros comandos estn disponibles como manejadores de arrastre, cuando arrastra con el botn
derecho ficheros o carpetas a un nuevo destino dentro de copias de trabajo, o cuando arrastra con el
botn derecho un fichero o una carpeta no versionados a un directorio que est bajo el control de
versiones.

Atajos comunes
Algunas operaciones comunes tienen atajos de Windows bien conocidos, pero no aparecen en
botones o en los mens. Si no puede averiguar cmo hacer algo obvio, como refrescar una vista,
mire aqu.
F1
La ayuda, por supuesto.
F5
Refresca la vista actual. Este es quizs el comando de una tecla ms til. Por ejemplo... en el
Explorador esto refresca los iconos sobreimpresionados en su copia de trabajo. En el dilogo
de confirmacin volver a reescanear la copia de trabajo para ver qu puede necesitar ser
confirmado. En el dilogo de Mostrar Registro contactar con el repositorio de nuevo
buscando los cambios ms recientes.
Ctrl-A
Selecciona todo. Esto puede ser til si obtiene un mensaje de error y quiere copiar y pegarlo
en un email. Utilice Ctrl-A para seleccionar el mensaje de error y luego...
Ctrl-C
... copia el texto seleccionado.

Autentificacin
Si el repositorio al que intenta acceder est protegido por contrasea, aparecer un dilogo de
autentificacin.

Figura 5: Dilogo de autentificacin

Introduzca su usuario y contrasea. La casilla le permite que TortoiseSVN almacene las


credenciales en el directorio por defecto de Subversion: %APPDATA%\Subversion\auth, en
tres subdirectorios:
svn.simple contiene las credenciales para la autentificacin bsica (usuario/contrasea).
svn.ssl.server contiene los certificados SSL de servidor.
svn.username contiene las credenciales para autentificacin slo por usuario
(sin necesidad de contrasea).
Si desea eliminar la cach de autentificacin para todos los servidores, puede hacerlo desde la
pgina Datos Almacenados del dilogo de configuracin de TortoiseSVN. Ese botn borrar todos
los datos de autentificacin cacheados de los directorios auth de Subversion, as como cualquier
dato de autentificacin almacenado en el registro por versiones anteriores de TortoiseSVN.
Algunas personas quieren que se eliminen sus datos de autenticacin cuando cierran su sesin de
Windows, o cuando apagan el sistema. La forma de conseguir esto es utilizar un script de cierre
para eliminar el directorio %APPDATA%\Subversion\auth, por ejemplo
@echo off
rmdir /s /q "%APPDATA%\Subversion\auth"

Maximizando ventanas
Muchos de los dilogos de TortoiseSVN tienen montones de informacin que mostrar, pero a
menudo es ms til maximizar slo la altura o slo la anchura, mejor que maximizar para ocupar
toda la pantalla. Como ayuda existen atajos para esto en el botn Maximizar. Utilice el botn
central del ratn para maximizar verticalmente, y el botn derecho del ratn para maximizar
horizontalmente.

Importando datos en un repositorio

Importar
Si est importando en un repositorio que ya tiene algunos proyectos, entonces la estructura del
repositorio ya estar decidida. Si est importando datos a un nuevo repositorio entonces merece la
pena tomar el tiempo para pensar en cmo debera organizarse.
Esta seccin describe el comando importar de Subversion, que fue diseado para importar una
jerarqua de directorios en el repositorio de una vez. Aunque funciona, tiene algunos
inconvenientes:
No hay forma de seleccionar los ficheros y carpetas a incluir, salvo si utiliza
la configuracin del patrn global de ignorar.
La carpeta importada no se convierte en una copia de trabajo. Tiene que hacer una
obtencin para copiar los ficheros de nuevo desde el servidor.
Es fcil importar en un nivel de carpetas errneo en el
repositorio. Antes de importar su proyecto en un repositorio debera:
1. Quitar todos los ficheros que no se necesitan para construir el proyecto (ficheros temporales,
ficheros que se generan por un compilador como los *.obj, binarios compilados, ...)
2. Organizar los ficheros en carpetas y subcarpetas. Aunque es posible renombrar/mover los
ficheros ms tarde, es muy recomendable que tenga la estructura del proyecto antes de

importarlo!
Ahora seleccione la carpeta superior de la estructura de directorios del proyecto en el explorador de
Windows, y haga click con el botn derecho para abrir el men contextual. Seleccione el comando
TortoiseSVN Importar... y aparecer un cuadro de dilogo:

Figura 6: El dilogo Importar


En este dilogo tiene que introducir la URL del lugar del repositorio donde desea importar su
proyecto. Es muy importante darse cuenta de que la carpeta local que est importando no aparece en
s misma en el repositorio, slo su contenido. Por ejemplo, si tiene una estructura:
C:\Proyectos\Widget\source
C:\Proyectos\Widget\doc
C:\Proyectos\Widget\images

e importa C:\Proyectos\Widget en http://mydomain.com/svn/trunk entonces


puede que se sorprenda al encontrar que sus subdirectorios van directos a trunk en vez de estar en
un subdirectorio Widget. Necesita especificar el subdirectorio como parte de la URL,
http://mydomain.com/svn/trunk/Widget-X. Tenga en cuenta que el comando
importar automticamente crea los subdirectorios en el repositorio si no existen.
El mensaje de importacin se utiliza como un mensaje de registro.
Por defecto, los ficheros y carpetas que concuerden con los patrones globales de ignorar no se
importan. Para cambiar este comportamiento, puede utilizar la casilla Incluir ficheros ignorados.
Tan pronto como presione Aceptar, TortoiseSVN importa el rbol completo de directorios,
incluyendo todos los ficheros, en el repositorio. El proyecto ahora est almacenado en el repositorio
bajo el control de versiones. Por favor tenga en cuenta que la carpeta que ha importado NO est
bajo el control de versiones! Para obtener una copia de trabajo bajo el control de versiones necesita
Obtener la versin que acaba de importar. O siga leyendo para averiguar cmo importar una carpeta
en el sitio.

Importar en el sitio
Asumiendo que ya tiene un repositorio, y que quiere aadir una nueva estructura de carpetas e l,
slo tiene que seguir estos pasos:
1. Utilice el navegador de repositorios para crear nuevas carpetas de proyecto directamente en
el repositorio.
2. Ejecute la operacin obtener de la nueva carpeta sobre la carpeta de ms alto nivel que desea
importar. Obtendr una advertencia porque la carpeta local no est vaca. Ahora tiene una
carpeta de ms alto nivel versionada con contenido no versionado.
3. Utilice TortoiseSVN Aadir... en esta carpeta versionada para aadir parte o todo su
contenido. Puede aadir y eliminar ficheros, establecer las propiedades svn:ignore en
las carpetas y hacer cualquier otro cambio que necesite.
4. Confirme la carpeta de ms alto nivel, y ya tiene un nuevo rbol versionado, y una copia de
trabajo local, creada desde su carpeta existente.

Ficheros especiales
A veces necesitar tener un fichero bajo control de versiones que contenga datos especficos del
usuario. Esto significa que tiene un fichero que cada desarrollador/usuario necesita modificar para
que se ajuste a su configuracin local. Pero versionar ese fichero es dificil, porque cada usuario
hara confirmaciones de sus cambios cada vez en el repositorio.
En estos casos le sugerimos que utilice ficheros plantilla. Cree un fichero que contenga todos
los datos que sus desarrolladores puedan necesitar, adalo al control de versiones y haga que sus
desarrolladores lo obtengan. Luego, cada desarrollador tendr que hacer una copia de ese fichero y
renombrar esa copia. Despus de eso, modificar la copia no vuelve a ser un problema.
Por poner un ejemplo, puede mirar el script de compilacin de TortoiseSVN. Se invoca a un fichero
llamado TortoiseVars.bat que no existe en el repositorio. Slo existe el fichero
TortoiseVars.tmpl. TortoiseVars.tmpl es el fichero plantilla del que cada
desarrollador tiene que hacer una copia y cambiarla de nombre a TortoiseVars.bat. Dentro
de ese fichero, hemos aadido comentarios para que los usuarios vean qu lineas tienen que editar y
cambiar de acuerdo a sus configuraciones locales para que funcione.
Para no molestar a los usuarios, tambin hemos aadido el fichero TortoiseVars.bat a la lista
de ignorados de su carpeta padre, es decir, hemos cambiado la propiedad de Subversion
svn:ignore para incluir ese nombre de fichero. De esta forma no se mostrar como no
versionado en cada confirmacin.

Obteniendo una copia de trabajo


Para tener una copia de trabajo necesita obtener una de un repositorio.
Seleccione un directorio en el explorador de Windows donde quiera poner su copia de trabajo. Haga
click con el botn derecho para mostrar el men contextual y seleccione el comando TortoiseSVN
Obtener..., que mostrar el siguiente cuadro de dilogo:

Figura 7: El dilogo Obtener


Si introduce un nombre de carpeta que no an no exista, se crear un directorio con ese nombre.

Profundidad de obtencin
Puede elegir la profundidad que desea para la obtencin, lo que le permite especificar la
profundidad de la recusin en las carpetas hijas. Si slo desea unas pocas secciones de un rbol
grande, puede obtener slo la carpeta de ms alto nivel, y luego actualizar las carpetas
seleccionadas de forma recursiva.
Totalmente recursivo
Obtener el rbol entero, incluyendo todas las carpetas hijas y subcarpetas.
Hijos inmediatos, incluyendo carpetas
Obtener el directorio especificado, incluyendo todos los fichero sy carpetas hijas, pero no
rellenar las carpetas hijas.
Slo los ficheros hijos
Obtener la carpeta especificada, incluyendo todos los ficheros pero no obtener ninguna
carpeta hija.
Slo este tem
Obtener slo el directorio. No rellenarlo con ficheros ni carpetas hijas.
Copia de trabajo
Retiene la profundidad especificada en la copia de trabajo. Esta opcin no se utiliza en el
dilogo obtener, pero es el valor por defecto para todos los dems dilogos que tengan opcin
de profundidad.

Exclur
Utilizado para reducir la profundidad de una copia de trabajo despus de que una carpeta haya
sido rellenada. Esta opcin slo est disponible en el dilogo Acctualizar a la revisin.
Si obtiene una copia de trabajo dispersa (por ejemplo seleccionando cualquier otra opcin distinta
de totalmente recursivo para la profundidad de la obtencin), puede conseguir subcarpetas adicionales utilizando el Navegador de repositorios o el dilogo Comprobar
modificaciones.
En el navegador de repositorios, haga click con el botn derecho en la carpeta donde ha ejecutado
obtener, y luego utilice TortoiseSVN Navegador de repositorios para lanzar el dilogo. Localice
la subcarpeta que desea aadir a su copia de trabajo, y utilice Men contextual Actualizar tem a
la revisin... Este men slo ser visible si el tem seleccionado no existe an en su copia de trabajo,
mientras que el tem padre s existe.
En el dilogo Comprobar modificaciones, primero haga click en el botn Comprobar repositorio. El
dilogo mostrar como aadido remotamente todos los ficheros y carpetas que estn en el
repositorio pero que an no se han obtenido. Haga click con el botn derecho sobre la carpeta o
carpetas que desea aadir a su copia de trabajo, y luego utilice Men contextual Actualizar.
Esta caracterstica es muy til si slo desea obtener partes de un rbol ms grande, pero desea la
facilidad de poder actualizar una nica copia de trabajo. Suponga que tiene un gran rbol que tiene
subcarpetas desde Proyecto01 a Proyecto99, y slo desea obtener las carpetas
Proyecto03, Proyecto25 y Proyecto76/SubProy. Utilice estos pasos:
1. Obtenga la carpeta padre con profundidad Slo este tem. Ahora tiene una carpeta de nivel
superior vaca.
2. Seleccione la nueva carpeta y utilice TortoiseSVN Navegador de repositorios para ver el
contenido del repositorio.
3. Haga click con el botn derecho sobre Proyecto03 y Men contextual Actualizar tem
a la revisin.... Mantenga las configuraciones por defecto y haga click en Aceptar. Ahora
tendr una carpeta totalmente poblada.
Repita el mismo proceso para Proyecto25.
4. Navegue a Proyecto76/SubProy y haga lo mismo. Esta vez notar que la carpeta
Proyecto76 no tiene otro contenido que SubProy, que a su vez est totalmente poblado.
Subversion ha creado las carpetas intermedias pero sin rellenarlas.

Cambiando la profundidad de la copia de trabajo


Una vez que haya obtenido una copia de trabajo a una profundidad en concreto,
puede cambiar dicha profundidad ms tarde para obtener ms o menos contenido
utilizando Men contextual Actualizar tem a la revisin....

Utilizando un servidor antiguo


Los servidores anteriores a la versin 1.5 no entienden la peticin de profundidad de
copia de trabajo, por lo que no siempre pueden manejar las peticiones de forma
eficiente. El comando funcionar, pero un servidor antiguo puede que enve todos
los datos, dejando que sea el cliente quien filtre lo que no necesite, lo que puede
significar un montn de trfico de red. Si es posible, debera actualizar su servidor a
la versin 1.5.

Si el proyecto contiene referencias a proyectos externos que no desea que se


obtengan al mismo tiempo, utilice la casilla Omitir externos.

Importante
Si est marcado Omitir externos, o si desea incrementar el valor de la profundidad,
deber realizar actualizaciones a su copia de trabajo utilizando TortoiseSVN
Actualizar a la Revisin... en vez de TortoiseSVN Actualizar. La actualizacin
estndar incluir todos los externos y mantendr la profundidad actual.
Le recomendamos que obtenga nicamente la parte trunk del rbol de directorios, o desde ms
abajo. Si especifica la ruta padre del rbol de directorios en la URL, al final puede acabar con un
disco duro lleno porque obtendr una copia del rbol completo del repositorio, incluyendo cada
rama y etiqueta de su proyecto!

Confirmando sus cambios en el repositorio


Enviar los cambios que ha hecho al repositorio se conoce como confirmar los cambios. Pero antes
de confirmar tiene que estar seguro de que su copia de trabajo est actualizada. Puede o bien
ejecutar TortoiseSVN Actualizar directamente, o bien ejecutar TortoiseSVN Comprobar
Modificaciones primero, para ver qu se ha cambiado localmente o en el servidor.

El dilogo de Confirmacin
Si su copia de trabajo est actualizada y no hay conflictos, ya est preparado para confirmar sus
cambios. Seleccione los ficheros y/o carpetas que desee confirmar y seleccione TortoiseSVN
Confirmar....

Figura 8: El dilogo de Confirmacin


El dilogo de confirmacin le mostrar todos los ficheros cambiados, incluso los ficheros aadidos,

borrados o no versionados. Si no desea que un fichero cambiado se confirme, smplemente


desmarque ese fichero. Si desea incluir un fichero no versionado, mrquelo para aadirlo a la
confirmacin.
Los tems que han sido cambiados a una ruta de repositorio diferente tambin se indican utilizando
un marcador (s). Puede haber cambiado algo mientras trabaja en una rama y habrsele olvidado
volver a cambiarlo al tronco. Este es su signo de advertencia!

Confirmar ficheros o carpetas?


Cuando confirma ficheros, el dilogo de confirmacin slo le ensea los ficheros que
ha seleccionado. Cuando confirma una carpeta el dilogo de confirmacin
seleccionar los ficheros que han cambiado de forma automtica. Si se olvid un
fichero nuevo que haya creado, al confirmar la carpeta lo encontrar. Confirmar una
carpeta no significa que todos los ficheros se marquen como cambiados; slo le hace
la vida ms fcil haciendo ms trabajo por usted.
Si ha modificado ficheros que han sido incluidos desde un repositorio diferente utilizando
svn:externals, esos cambios no pueden ser includos en la misma confirmacin atmica.
Aparecer un smbolo de advertencia bajo la lista de ficheros que le indicar si esto ha ocurrido, y el
texto de ayuda le explicar que esos ficheros externos deben confirmarse de forma separada.

Muchos ficheros sin versionar en el dilogo de confirmar


Si cree que el dilogo de confirmacin de TSVN le muestra demasiados ficheros no versionados
(por ejemplo, ficheros generados por el compilador o copias de seguridad hechas por su editor), hay
varias formas de manejar esta situacin. Puede:
aadir el fichero (o una extensin con mscara) a la lista de ficheros a ignorar en la
pgina de configuracin. Esto afectar a todas las copias de trabajo que tenga.
aadir el fichero a la lista de svn:ignore utilizando TortoiseSVN Aadir a la lista
de ignorados. Esto nicamente afectar al directorio en el que establezca la propiedad
svn:ignore. Puede cambiar la propiedad svn:ignore de un directorio utilizando el
Dilogo de Propiedades SVN.

Haciendo doble click en cualquier fichero modificado en el dilogo de


confirmacin, se lanzar la herramienta externa de diferenciar para mostrarle
sus cambios. El men contextual le proporciona ms opciones, como se ve
en la captura de pantalla. Tambin puede arrastrar ficheros desde aqu a
otra aplicacin, como un editor de textos o un IDE.
Puede seleccionar o deseleccionar tems haciendo click en la casilla a la izquierda del tem. Para los
directorios puede utilizar Maysculas-Seleccionar para ejecutar la accin de forma recursiva.
Las columnas que se muestran en el panel inferior son personalizables. Si hace click con el botn
derecho en cualquier cabecera de columna ver un men contextual que le permite seleccionar qu
columnas se muestran. Tambin puede cambiar el ancho de la columna utilizando el manejador de
arrastre que aparece cuando mueve el cursor sobre el lmite de una columna. Estas
personalizaciones se mantienen, por lo que ver los mismos encabezados la siguiente vez.
Por defecto cuando confirma los cambios, cualquier bloqueo que tenga en los ficheros se libera
automticamente cuando la confirmacin tiene xito. Si desea mantener esos bloqueos, asegrese de
que la casilla Mantener bloqueos est marcada. El estado por defecto de esta casilla se toma de la

opcin no_unlock del fichero de configuracin de Subversion.

Arrastrar y soltar
Puede arrastrar ficheros hasta el dilogo de confirmacin desde cualquier otro lugar,
siempre y cuando las copias de trabajo sean del mismo repositorio. Por ejemplo,
puede tener una copia de trabajo enorme con diferentes ventanas del explorador
abiertas en carpetas distantes de la jerarqua. Si quiere evitar confirmar desde la
carpeta ms alta (lo que implica una lenta operacin de bsqueda de cambios) puede
abrir el dilogo de confirmar para una carpeta y arrastrar desde las otras ventanas
para incluir ficheros dentro de la misma confirmacin atmica.
Puede arrastrar ficheros no versionados que residan dentro de una copia de trabajo al
dilogo de confirmacin, y automticamente sern SVN aadidos.

Reparando renombrados externos


A veces los ficheros se renombran fuera de Subversion, y se muestran en la lista de
ficheros como un fichero faltante y un fichero no versionado. Para evitar perder la
historia necesita notificar a Subversion su conexin. Simplemente seleccione tanto el
nombre antiguo (faltante) como el nombre nuevo (sin versionar) y utilice Men
contextual Reparar movimiento para emparejar los dos ficheros como un
renombrado.

Listas de cambios
El dilogo de confirmacin da soporte a las listas de cambios de Subversion para ayudar a agrupar
ficheros relacionados.

Excluyendo tems de la lista de confirmacin


A veces tiene ficheros versionados que cambian con frecuencia pero que realmente no desea
confirmar. En ocasiones esto indica un fallo en su sistema de compilacin - por qu estn esos
ficheros versionados? debera utilizar ficheros de plantilla? Pero ocasionalmente es inevitable. Una
razn clsica es que su IDE cambie una fecha en el fichero de proyecto cada vez que lo compile. El
fichero de proyecto debe estar versionado ya que contiene todas las configuraciones de la
compilacin, pero no necesita confirmarse slo porque la fecha haya cambiado.
Para ayudarle en casos tan extraos como estos, hemos reservado una lista de cambios llamada
ignore-on-commit. Cualquier fichero aadido a esta lista de cambios se desmarcar
automticamente en el dilogo de confirmacin. An puede confirmar los cambios, pero tendr que
selecionarlo manualmente en el dilogo de confirmacin.

Mensajes de registro de confirmacin


Asegrese de introducir un mensaje de registro que describa los cambios que est confirmando.
Esto le ayudar a saber qu ocurri y cuando segn navegue por los mensajes de registro del
proyecto en el futuro. El mensaje puede ser tan extenso o escueto como desee; muchos proyectos
tienen directrices sobre qu debe incluirse en ellos, el idioma que debe utilizarse, y a veces incluso
un formato estricto.
Puede aplicar formatos sencillos en sus mensajes de registro utilizando una convencin similar a la
usada en los emails. Para aplicar un estilo a un texto, utilice *texto* para la negrita, _texto_

para el subrayado, y ^texto^ para la cursiva.

Figura 9: El corrector ortogrfico del dilogo de


Confirmacin
TortoiseSVN incluye un corrector ortogrfico para ayudarle a escribir sus mensajes de registro
correctamente. Este corrector sealar cualquier palabra mal escriba. Utilice el men contextual
para acceder a las correcciones sugeridas. Por supuesto, el corrector no conoce todos los trminos
tcnicos que utiliza, as que a veces palabras bien escritas aparecern como errores. Pero no se
preocupe. Puede simplemente aadirlas a su diccionario personal utilizando el men contextual.
La ventana de mensajes de registro tambin incluye una facilidad de autocompletar nombres de
ficheros y funciones. Esto utiliza expresiones regulares para extraer clases y nombres de funciones
de los ficheros (de texto) que est confirmando, y tambin los propios nombres de ficheros. Si una
palabra que est tecleando concuerda con algo en la lista (despus de haber tecleado al menos 3
caracteres, o de pulsar Ctrl+Espacio), aparecer un desplegable que le permitir seleccionar el
nombre completo. Las expresiones regulares suministradas con TortoiseSVN se mantienen en la
carpeta bin de la instalacin de TortoiseSVN. Tambin puede definir sus propias expresiones
regulares y almacenarlas en %APPDATA%\TortoiseSVN\autolist.txt.
Puede reutilizar mensajes de registro que haya introducido anteriormente. Tan slo
debe pulsar en Mensajes recientes para ver una lista de los ltimos mensajes que
ha introducido para esta copia de trabajo. El nmero de mensajes almacenados se
puede personalizar en el dilogo de configuracin de TortoiseSVN.
Puede limpiar todos los mensajes de confirmacin almacenados desde la pgina Datos
Almacenados de la configuracin de TortoiseSVN, o puede eliminar mensajes individuales dentro
del dilogo Mensajes recientes utilizando la tecla Supr.
Si desea incluir las rutas marcadas en su mensaje de registro, puede utilizar el comando Men

contextual Pegar lista de nombres de ficheros en el control de edicin.


Otra forma de insertar rutas en el mensaje de registro es simplemente arrastrar los ficheros desde la
lista de ficheros al control de edicin.

Propiedades especiales de carpetas


Hay diversas propiedades especiales de carpeta que pueden usarse para darle mayor control sobre el
formato de los mensajes de registro de las confirmaciones y el idioma que utiliza el mdulo del
corrector ortogrfico.

Integracin con herramientas de control de errores


Si ha activado el sistema de control de errores, puede poner una o ms incidencias en el cuatro de
texto Bug-ID / N-Incid.:. Si quiere introducir mltiples incidencias, seprelas por comas.
Alternativamente, si est utilizando el soporte de control de errores basado en expresiones
regulares, simplemente aada las referencias a sus incidencias como parte del mensaje de registro.

Progreso de confirmacin
Tras pulsar Aceptar aparece un dilogo mostrando el progreso de la confirmacin.

Figura 10: El dilogo Progreso mostrando el progreso de una


confirmacin
El dilogo de progreso utiliza una codificacin de colores para resaltar las diferentes acciones de
confirmacin:
Azul
Confirmando una modificacin.
Prpura
Confirmando un tem aadido.
Rojo oscuro
Confirmando un borrado o un reemplazo.

Negro
Todos los dems tems.
Este es el esquema de colores por defecto, pero puede personalizar dichos colores utilizando el
dilogo de configuracin.

Actualice su copia de trabajo con los cambios de otros

Figura 11: Dilogo de progreso mostrando una actualizacin


terminada
Peridicamente, debera asegurarse de que los cambios que hacen los dems se incorporen en su
copia de trabajo local. El proceso de incorporar los cambios desde el servidor a su copia de trabajo
local se conoce como actualizacin. La actualizacin puede hacerse en ficheros sueltos, en un
conjunto de ficheros, o recursivamente en jerarquas completas de directorios. Para actualizar,
seleccione los ficheros y/o directorios que desee, haga click con el botn derecho y seleccione
TortoiseSVN Actualizar en el men contextual del explorador. Aparecer una ventana con el
progreso de la actualizacin segn se ejecuta. Los cambios que los dems hayan hecho se
fusionarn con sus ficheros, manteniendo cualquier cambio que haya hecho en los mismos ficheros.
El repositorio no se ve afectado por una actualizacin.
El dilogo de progreso utiliza un cdigo de colores para resaltar diferentes acciones de
actualizacin:
Prpura
Nuevo tem aadido a su copia de trabajo
Rojo oscuro
tem redundante borrado de su copia de trabajo, o tem faltante reemplazado en su copia de
trabajo.
Verde
Cambios del repositorio que se han fusionado satisfactoriamente con sus cambios locales.
Rojo brillante

Cambios del repositorio fusionados con sus cambios locales, pero que han dado lugar a
conflictos que debe resolver.
Negro
Items sin cambios en su copia de trabajo actualizados con una versin ms nueva desde el
repositorio.
Este es el esquema de colores por defecto, pero puede personalizar dichos colores utilizando el
dilogo de configuracin. La profundidad por defecto es Copia de trabajo, lo que respeta la
configuracin de profundidad ya existente. Tambin puede decidir si desea ignorar cualquier
proyecto externo en la actualizacin (esto es, los proyectos referenciados utilizando svn:externals).

Atencin
Si actualiza un fichero o una carpeta a una revisin en concreto, no debera hacer cambios en esos
ficheros. Obtendr mensajes out of date (desactualizado) cuando intente confirmarlos! Si
desea deshacer los cambios de un fichero y empezar de nuevo desde una revisin anterior, puede
revertir a una revisin previa desde el dilogo de registro de revisiones.

Actualizar a la revisin puede ser til a veces para ver cmo estaba su proyecto en un
momento anterior en su historia. Pero en general, actualizar ficheros individuales a una
revisin anterior no es una buena idea, ya que deja su copia de trabajo en un estado
inconsistente. Si el fichero que est actualizando ha cambiado de nombre, incluso puede
encontrar que ese fichero ha desaparecido de su copia de trabajo porque en esa revisin no
haba ningn fichero con ese nombre. Tambin debe tener en cuenta que el tem mostrar
una sobreimpresin normal verde, por lo que no se puede distinguir del resto de ficheros que
estn actualizados.
Si desea simplemente una copia local de una versin antigua de un fichero, es mejor utilizar el
comando Men contextual Guardar revisin en... desde el dilogo de registro para dicho fichero.

Mltiples ficheros/carpetas
Si selecciona mltiples ficheros y carpetas en el explorador y luego selecciona
Actualizar, todos esos ficheros/carpetas se actualizan uno a uno. TortoiseSVN se
asegura de que todos los ficheros/carpetas del mismo repositorio se actualicen
exactamente a la misma revisin! Incluso si entre esas actualizaciones ocurri alguna
confirmacin.

El fichero local ya existe


A veces cuando intente actualizar, la actualizacin falla con un mensaje para decir
que ya existe un fichero local con el mismo nombre. Esto tpicamente ocurre cuando
Subversion intenta obtener un fichero recin versionado, y se encuentra un fichero
no versionado del mismo nombre en su copia de trabajo. Subversion nunca
sobreescribir un fichero no versionado - puede contener algo en lo que est
trabajando, y que casualmente tiene el mismo nombre de fichero que otro
desarrollador ha utilizado para su recin confirmado fichero.
Si obtiene este mensaje de error, la solucin es simplemente renombrar el fichero
local sin versionar. Tras completar la actualizacin, puede comprobar si el fichero
renombrado sigue siendo necesario.

Si sigue obteniendo mensajes de error, utilize mejor el comando TortoiseSVN


Comprobar modificacioness para mostrar todos los ficheros con problemas. De esa
forma puede lidiar con ellos de un golpe.

Resolviendo conflictos
De vez en cuando, obtendr un conflicto cuando actualice/fusione sus ficheros desde el repositorio o
cuando cambie su copia de trabajo a una URL diferente. Hay dos tipos de conflictos:
conflictos de fichero
Un conflicto de fichero ocurre si dos (o ms) desarrolladores han cambiado las mismas lneas
de un fichero.
conflictos de rboles
Un conflicto de rbol ocurre cuando un desarrollador mueve/renombra/elimina un fichero o
una carpeta, que otro desarrollador tambin ha movido/renombrado/borrado, o quizs lo haya
modificado.

Conflictos de ficheros
Un conflicto de fichero ocurre cuando uno o ms desarolladores han hecho cambios en las mismas
lneas de un fichero. Dado que Subversion no sabe nada de su proyecto, delega la resolucin de los
conflictos en los desarrolladores. Cuando se le informa de un conficto, debera abrir el fichero en
cuestin, y buscar lneas que empiecen con el texto <<<<<<<. El rea conflictiva se marca as:
<<<<<<< nombre-del-fichero
sus cambios
=======
cdigo fusionado del repositorio
>>>>>>> revisin

Adems, para cada fichero en conflicto Subversion deja tres ficheros adicionales en su directorio:
nombre-del-fichero.ext.mine
Este es su fichero tal y como estaba en su copia de trabajo antes de que actualizara su copia de
trabajo - esto es, sin marcadores de conflicto. Este fichero tiene sus ltimos cambios en l y
nada ms.
nombre-del-fichero.ext.rREV-ANTIGUA
Este es el fichero que era la revisin BASE antes de que actualizara su copia de trabajo. Esto
es, el fichero que obtuvo antes de empezar a hacer sus ltimos cambios.
nombre-del-fichero.ext.rREV-NUEVA
Este es el fichero que su cliente de Subversion acaba de recibir desde el servidor del que
actualiz su copia de trabajo. Este fichero corresponde a la revisin HEAD del repositorio.
Puede o bien lanzar una herramienta externa de fusiones / editor de conflictos con el men
contextual TortoiseSVN Editar Conflictos o bien utilizar otro editor manualmente para resolver
el conflicto. Debe decidir cmo tiene que quedar el cdigo, hacer los cambios necesarios, y grabar

el fichero.
Despus, ejecute el comando TortoiseSVN Resolver y confirme sus modificaciones al
repositorio. Tome nota de que el comando Resolver realmente no resuelve el conflicto.
Simplemente elimina los ficheros filename.ext.mine y filename.ext.r*, dejndole
confirmar sus cambios.
Si tiene conflictos con ficheros binarios, Subversion no intentar mezclar dichos ficheros por si
mismo. El fichero local se mantendr sin cambios (exactamente tal y como lo haba cambiado
usted) y obtendr unos ficheros nombrefichero.ext.r*. Si desea descartar sus cambios y
quedarse con la versin del repositorio, utilice el comando Revertir. Si desea mantener su versin y
sobreescribir la versin del repositorio, utilice el comando Resuelto y luego confirme su versin.
Puede utilizar el comando Resuelto para mltiples ficheros si pulsa con el botn derecho en la
carpeta padre y selecciona TortoiseSVN Resuelto... Esto mostrar un dilogo con todos los
ficheros en conflicto dentro de esa carpeta, y le permitir seleccionar cules marcar como resueltos.

Conflictos de rbol
Un conflicto de rbol ocurre cuando un desarrollador mueve/renombra/elimina un fichero o una
carpeta, que otro desarrollador tambin ha movido/renombrado/borrado, o quizs lo haya
modificado. Hay diferentes situaciones que puede resultar en un conflicto de rbol, y todas ellas
requiere pasos diferentes para resolver el conflicto.
Cuando se elimina un fichero de forma local en Subversion, el fichero tambin se elimina del
sistema local de ficheros, por lo que incluso si es parte de un conflicto de rbol no se puede mostrar
una sobreimpresin de conflicto y no puede hacer clic con el botn derecho sobre l para resolver el
conflicto. En este caso, utilice el dilogo Comprobar modificaciones para acceder a la opcin Editar
conflictos.
TortoiseSVN puede ayudarle a encontrar el lugar correcto para fusionar los cambios, pero puede
que necesite realizar un trabajo adicional para arreglar los conflictos. Recuerde que tras una
actualizacin la BASE de trabajo siempre contendr la revisin de cada tem tal y como estaba en el
repositorio en el momento de la actualizacin. Si revierte un cambio tras la actualizacin, se revierte
a su estado del repositorio, no a como estaba cuando empez a hacer sus propios cambios locales.
Borrado local, llega un cambio en la actualizacin
1. El desarrollador A modifica Foo.c y lo confirma en el repositorio
2. El desarrollador B al mismo tiempo ha movido Foo.c a Bar.c en su propia copia de
trabajo, o simplemente ha borrado Foo.c o su carpeta padre.
Una actualizacin de la copia de trabajo del desarrollador B acaba con un conflicto de rbol:
Foo.c ha sido borrado de la copia de trabajo, pero est marcado como un conflicto
de rbol.
Si el conflicto aparece despus de un renombrado en vez de un borrado, entonces Bar.c
est marcado como aadido, pero no contiene las modificaciones del desarrollador A.
El desarrollador B ahora tiene que elegir si mantiene los cambios realizados por el desarrollador A.
En el caso de un renombrado, puede fusionar los cambios de Foo.c dentro del fichero renombrado
Bar.c. Para simples borrados de ficheros o directorios puede elegir quedarse con los cambios del
tem del desarrollador A y descartar el borrado. O, si marca el conflicto como resuelto sin hacer
nada ms, estar descartando los cambios del desarrollador A.
El dilogo de editar conflictos ofrece la posibilidad de fusionar cambios si puede encontrar el
fichero original del renombrado Bar.c. Dependiendo de dnde se haya realizado la actualizacin,

puede que no sea posible encontrar el fichero de origen.


Edicin local, entra un borrado en la actualizacin
1. El desarrollador A mueve Foo.c a Bar.c y lo confirma en el repositorio.
2. El desarrollador B modifica Foo.c en su copia de trabajo.
O en el caso de mover una carpeta...
1. El desarrollador A mueve la carpeta padre FooFolder a BarFolder y lo confirma en el
repositorio.
2. El desarrollador B modifica Foo.c en su copia de trabajo.
Una actualizacin de la copia de trabajo de B acaba con un conflicto de rbol. Para un conflicto
simple de fichero:
Bar.c se aade a la copia de trabajo como un fichero normal.
Foo.c se marca como aadido (con historia) y tiene un conflicto de
rbol. Para un conflicto de carpeta:
BarFolder se aade a la copia de trabajo como una carpeta normal.
FooFolder se marca como aadida (con historia) y tiene un conflicto de rbol.
Foo.c se marca como modificado.
El desarrollador B tiene ahora que decidir si desea continuar con la reorganizacin del desarrollador
A y fusionar sus cambios en los ficheros correspondientes de la nueva estructura, o simplemente
revertir los cambios de A y mantener el fichero local.
Para fusionar sus cambios locales con la reorganizacin, el desarrollador B tiene que encontrar
primero qu nombre de fichero tiene ahora el fichero en conflicto Foo.c que fue
renombrado/movido en el repositorio. Esto puede hacerse utilizando el dilogo de registro. Luego
debe fusionar los cambios a mano ya que no hay actualmente forma de automatizar o simplificar
este proceso. Una vez que se hayan portado los cambios, la ruta en conflicto es redundante y puede
borrarse. En este ccaso utilice el botn Eliminar en el dilogo de editar conflictos para limpiar y
marcar el conflicto como resuelto.
Si el desarrollador B decide que los cambios de A eran errneos deber elegir el botn Mantener en
el dilogo de editar conflictos. Esto marca el fichero o carpeta en conflicto como resuelto, pero los
cambios del desarrollador A tendrn que eliminarse a mano. De nuevo el dilogo de registro ayuda
a controlar lo que se ha movido.
Eliminacin local, entra una eliminacin en la actualizacin
1. El desarrollador A mueve Foo.c a Bar.c y lo confirma en el repositorio
2. El desarrollador B mueve Foo.c a Bix.c
Una actualizacin de la copia de trabajo del desarrollador B acaba con un conflicto de rbol:
Bix.c se marca como aadido con historia.
Bar.c se aade a la copia de trabajo con el estado 'normal'.
Foo.c se marca como borrado y tiene un conflicto de rbol.
Para resolver este conflicto, el desarrollador B tiene que averiguar qu nombre de fichero tiene
ahora el fichero en conflicto Foo.c que fue renombrado/movido en el repositorio. Esto puede

hacerse utilizando el dilogo de registro.


Luego el desarrollador B tiene que decidir qu nuevo nombre de fichero de Foo.c mantiene - el
del desarrollador A o el renombrado que hizo l mismo.
Despus de que el desarrollador B haya resuelto manualmente el conflicto, el conflicto de rbol
debe marcarse como resuelto mediante el botn del dilogo de editar conflictos.
Falta en local, entra un cambio en la fusin
1. El desarrollador A, que est trabajando en el tronco, modifica Foo.c y lo confirma en el
repositorio
2. El desarrollador B, que est trabajando en una rama, mueve Foo.c a Bar.c y lo confirma
en el repositorio
Una fusin de los cambios en el tronco del desarrollador A con los cambios de la copia de trabajo
de la rama del desarrollador B acaba con un conflicto de rbol:
Bar.c ya est en la copia de trabajo con estado 'normal'.
Foo.c se marca como faltante con un conflicto de rbol.
Para resolver este conflicto, el desarrollador B tiene que marcar el fichero como resuelto en el
dilogo de edicin de conflictos, lo que lo eliminar de la lista de conflictos. Luego tendr que
decidir si copia el fichero faltante Foo.c desde el repositorio a la copia de trabajo, si fusiona los
cambios del desarrollador A hechos a Foo.c en el fichero renombrado Bar.c, o si desea ignorar
los cambios marcando el conflicto como resuelto y no haciendo nada ms.
Tenga en cuenta que si copia el fichero faltante desde el repositorio y luego marca como resuelto, su
copia de eliminar de nuevo. Tiene que resolver el conflicto antes.
Edicin local, entra un borrado en la fusin
1. El desarrollador A, que est trabajando en el tronco, mueve Foo.c a Bar.c y lo confirma
en el repositorio
2. El desarrollador B, que est trabajando en una rama, modifica el fichero Foo.c y lo
confirma en el repositorio.
Hay un caso equivalente cuando se mueven carpetas, pero todava no se detecta en Subversion 1.6...
1. El desarrollador A, que est trabajando en el tronco, mueve la carpeta padre FooFolder a
BarFolder y lo confirma en el repositorio.
2. El desarrollador B, que est trabajando en un rama, modifica Foo.c en su copia de trabajo.
Una fusin de los cambios en el tronco del desarrollador A con los cambios de la copia de trabajo
de la rama del desarrollador B acaba con un conflicto de rbol:
Bar.c se marca como aadido.
Foo.c se marca como modificado con un conflicto de rbol.
El desarrollador B tiene ahora que decidir si desea continuar con la reorganizacin del desarrollador
A y fusionar sus cambios en los ficheros correspondientes de la nueva estructura, o simplemente
revertir los cambios de A y mantener el fichero local.
Para fusionar sus cambios locales con la reorganizacin, el desarrollador B debe primero averiguar
qu nombre de fichero tiene ahora el fichero en conflicto Foo.c que fue renombrado/movido en el
repositorio. Esto se puede hacer utilizando el dilogo mostrar registro sobre el origen de la fusin.
El editor de conflictos slo muestra el registro para la copia de trabajo ya que no sabe qu ruta fue

utilizada en la fusin, as que lo tendr que averiguar por su cuenta. Luego se deben fusionar los
cambios a mano ya que no hay actualmente forma de automatizar o simplificar este proceso. Una
vez que los cambios se hayan portado, la ruta en conflicto es redundante y puede eliminarse. En este
caso utilice el botn Eliminar en el dilogo de edicin de conflictos para limpiar y marcar el
conflicto como resuelto.
Si el desarrollador B decide que los cambios de A eran errneos, deber elegir el botn Mantener en
el dilogo de editar conflictos. Esto marca el fichero o carpeta en conflicto como resuelto, pero los
cambios del desarrollador A debern eliminarse a mano. De nuevo el dilogo de registro sobre el
origen de la fusin ayuda a averiguar qu se movi.
Eliminacin local, entra un borrado en la fusin
1. El desarrollador A, que est trabajando en el tronco, mueve Foo.c a Bar.c y lo confirma
en el repositorio
2. El desarrollador B, que est trabajando en una rama, mueve Foo.c a Bix.c y lo confirma
en el repositorio
Una fusin de los cambios en el tronco del desarrollador A con los cambios de la copia de trabajo
de la rama del desarrollador B acaba con un conflicto de rbol:
Bix.c se marca con el estado normal (no modificado).
Bar.c se marca como aadido con historia.
Foo.c se marca como faltante con un conflicto de rbol.
Para resolver este conflicto, el desarrollador B tiene que averiguar qu nombre de fichero tiene
ahora el fichero en conflicto Foo.c que fue renombrado/movido en el repositorio. Esto puede
hacerse utilizando el dilogo de registro sobre el origen de la fusin. El editor de conflictos slo
muestra el registro de la copia de trabajo, dado que no conoce qu ruta se utiliz para la fusin, por
lo que tendr que averiguarlo por si mismo.
Luego el desarrollador B tiene que decidir qu nuevo nombre de fichero de Foo.c mantiene - el
del desarrollador A o el renombrado que hizo l mismo.
Despus de que el desarrollador B haya resuelto manualmente el conflicto, el conflicto de rbol
debe marcarse como resuelto mediante el botn del dilogo de editar conflictos.

Obteniendo informacin del estado


Mientras est trabajando en su copia de trabajo a menudo necesitar saber qu ficheros ha
cambiado/aadido/borrado o renombrado, o incluso qu ficheros han sido cambiados y confirmados
por los dems.

Iconos sobreimpresionados

Figura 12: Explorador mostrando iconos


sobreimpresionados
Ahora que ha obtenido una copia de trabajo desde un repositorio de Subversion, puede ver sus
ficheros en el explorador de Windows con los iconos cambiados. sta es una de las razones por las
que TortoiseSVN es tan popular. TortoiseSVN aade lo que se llama un icono sobreimpresionado al
icono de cada fichero que se superpone al icono original del fichero. Dependiendo del estado en
Subversion del fichero, el icono sobreimpresionado es diferente.

Una copia de trabajo recin obtenida tiene una marca verde como sobreimpresin. Esto significa
que el estado de Subversion es normal.

En cuanto empiece a editar un fichero, el estado cambia a modificado y el icono


sobreimpresionado cambia entonces a una marca de exclamacin roja. De esta forma puede ver
fcilmente qu ficheros se han cambiado desde la ltima vez que actualiz su copia de trabajo, y
que necesitan ser confirmados.

Si durante una actualizacin ocurre un conflicto, el icono cambia a un signo de exclamacin


amarillo.

Si ha establecido la propiedad svn:needs-lock en un fichero, Subversion establece ese fichero


como de slo-lectura hasta que obtenga un bloqueo en l. Estos ficheros tienen esta sobreimpresin
para indicarle que debe obtener un bloqueo antes de que pueda editarlo.

Si ha obtenido un bloqueo sobre un fichero, y el estado de Subversion es normal, este icono


sobreimpresionado le recordar que debera liberar el bloqueo si no lo est utilizando para permitir
a los dems que puedan confirmar sus cambios en el fichero.

Este icono le muestra que algunos ficheros o carpetas dentro de la carpeta actual se han marcado
para ser eliminados del control de versiones, o bien que falta un fichero que est bajo el control

de versiones dentro de una carpeta.

El signo ms le indica que el fichero o carpeta est programado para ser aadido al control de
versiones.

La barra le indica que el fichero o carpeta est ignorado para los asuntos de control de versiones.
Esta sobreimpresin es opcional.

Este icono muestra los archivos y carpetas que no estn bajo el control de versiones pero tampoco
han sido ignorados. Esta sobreimpresin es opcional.
De hecho, puede que se encuentre con que no todos estos iconos se utilizan en su sistema. Esto se
debe a que el nmero de sobreimpresiones permitidas por Windows est muy limitado y si est
utilizando tambin una versin antigua de TrotoiseCVS, entonces no hay suficientes huecos de
sobreimpresin disponibles. TortoiseSVN intenta ser un Buen Ciudadano (TM) y limita su uso de
sobreimpresiones para darles una oportunidad al resto de aplicaciones.

Columnas de TortoiseSVN en el Explorador de Windows


Se puede ver la misma informacin que est disponible en los iconos sobreimpresionados (y mucha
ms) como columnas adicionales en la Vista Detalles del Explorador de Windows.
Simplemente haga click con el botn derecho en la cabecera de una columna y seleccione Ms... en
el men contextual que aparece. Se mostrar un dilogo donde puede especificar las columnas que
se mostrarn en la vista Detalles, y su orden. Baje hasta que vea las entradas que empiezan por
SVN. Marque aquellas que desee mostrar y cierre el dilogo pulsando Aceptar. Las columnas
aparecern a la derecha de las que ya se mostraban. Puede reorganizarlas utilizando arrastrar y
soltar, o cambiarlas de tamao, para que se ajusten a sus necesidades.

Importante
Las columnas adicionales en el Explorador de Windows no estn disponibles en
Vista, dado que Microsoft decidi no habilitar tales columnas para todos los
ficheros, sino nicamente para tipos de ficheros especficos.

Sugerencia
Si desea que la organizacin actual se muestre en todas sus copias de trabajo, puede
que desee convertirla en su vista por defecto.

Estado local y remoto

Figura 13: Comprobar modificaciones


A menudo es muy til saber qu ficheros ha cambiado y tambin qu ficheros han cambiado y
confirmado los dems. Ah es donde viene bien el comando TortoiseSVN Comprobar
Modificaciones.... Este dilogo le muestra todos los ficheros que ha cambiado de alguna forma en
su copia de trabajo, y adems todos los ficheros no versionados que pueda tener.
Si pulsa en el botn Comprobar Repositorio tambin puede comprobar los cambios en el
repositorio. De esa forma puede comprobar antes de hacer una actualizacin si es posible que haya
un conflicto. Tambin puede actualizar ficheros concretos desde el repositorio sin actualizar la
carpeta completa. Por defecto, el botn Comprobar Repositorio slo obtiene el estado remoto con la
profundidad obtenida de la copia de trabajo. Si desea ver todos los ficheros y carpetas del
repositorio, incluso aquellas que no ha obtenido, entonces tendr que pulsar la tecla Mays mientras
hace click en el botn Comprobar Repositorio.
El dilogo utiliza un cdigo de colores para resaltar el estado.
Azul
tems modificados localmente.
Prpura
tems aadidos. Los tems que han sido aadidos con historia tienen un signo + en la columna
Estado del texto, y un texto de ayuda que le muestra de dnde ha sido copiado.
Rojo oscuro
tems faltantes o borrados.
Verde
tems modificados localmente y en el repositorio. Los cambios se fusionarn al actualizar.
sto puede producir conflictos al actualizar.

Rojo brillante
Items modificados localmente y borrados en el repositorio, o modificados en el repositorio y
borrados localmente. Esto producir conflictos al actualizar.
Negro
tems sin cambios y sin versionar.
Este es el esquema de colores por defecto, pero puede personalizar dichos colores utilizando el
dilogo de configuracin.

Los tems que han sido cambiados a una ruta de repositorio diferente tambin se indican
utilizando un marcador (s). Puede haber cambiado algo mientras trabaja en una rama y
habrsele olvidado volver a cambiarlo al tronco. Este es su signo de advertencia!
Desde el men contextual del dilogo puede mostrar un resumen de los cambios. Compruebe los
cambios locales que usted ha hecho utilizando Men Contextual Comparar con Base.
Compruebe los cambios en el repositorio hechos por los dems utilizando Men Contextual
Mostrar Diferencias como Diff Unificado.
Tambin puede revertir cambios en ficheros individuales. Si ha borrado un fichero de forma
accidental, se mostrar como Falta y puede utilizar
Los ficheros sin versionar y los ignorados se pueden enviar a la papelera de reciclaje desde aqu
utilizando Men Contextual Eliminar. Si quiere eliminar los ficheros de forma definitiva (sin
utilizar la papelera de reciclaje) pulse la tecla Maysculas mientras hace click en Eliminar.
Si desea examinar un fichero ms en detalle, puede arrastrarlo desde aqu a otra aplicacin, tal como
un editor de textos o un IDE.
Las columnas son personalizables. Si hace click con el botn derecho en cualquier cabecera de
columna ver un men contextual que le permite seleccionar qu columnas se muestran. Tambin
puede cambiar el ancho de la columna utilizando el manejador de arrastre que aparece cuando
mueve el cursor sobre el lmite de una columna. Estas personalizaciones se mantienen, por lo que
ver los mismos encabezados la prxima vez.
Si est trabajando al mismo tiempo en varias tareas sin relacion entre ellas, tambin puede agrupar
los ficheros juntos en listas de cambios.

En la parte inferior del dilogo puede ver un sumario del rango de revisiones del repositorio
en uso en su copia de trabajo. Estas son revisiones confirmadas, no las revisiones
actualizadas; representan el rango de revisiones donde estos ficheros fueron confirmados
por ltima vez, no las revisiones a las que se han actualizado. Tenga en cuenta que el rango
de revisiones mostrado se aplica slo a los tems mostrados, no a la copia de trabajo
completa. Si quiere ver esa informacin para la copia de trabajo completa debe seleccionar
la casilla Mostrar ficheros no modificados.
Sugerencia
Si quiere una vista llana de su copia de trabajo, por ejemplo mostrando todos los
ficheros y carpetas en todos los niveles de su jerarqua de carpetas, entonces el
dilogo Comprobar modificaciones es la forma ms sencilla de conseguirlo.
Smplemente seleccione la casilla Mostrar archivos no modificados para ver todos
los ficheros de su copia de trabajo.

Reparando renombrados externos


A veces los ficheros se renombran fuera de Subversion, y se muestran en la lista de
ficheros como un fichero faltante y un fichero no versionado. Para evitar perder la
historia necesita notificar a Subversion su conexin. Simplemente seleccione tanto el
nombre antiguo (faltante) como el nombre nuevo (sin versionar) y utilice Men
contextual Reparar movimiento para emparejar los dos ficheros como un
renombrado.

Viendo diferencias
A menudo querr mirar dentro de sus ficheros, para echar un vistazo a lo que ha cambiado. Puede
llevar esto a cabo seleccionando un fichero que haya cambiado, y seleccionando Diferenciar desde
el men contextual de TortoiseSVN. Esto inicia el visor externo de diferencias, que comparar el
fichero actual con la copia prstina (revisin BASE), que se guard tras su obtencin o tras la ltima
actualizacin.

Sugerencia
Puede mostrar diferencias incluso cuando no est dentro de una copia de trabajo, o
cuando tiene mltiples versiones del fichero alrededor:
Seleecione los dos ficheros que desea comparar en el explorador (por ejemplo,
utilizando la tecla Ctrl y el ratn) y seleccione Diferenciar del men contextual de
TortoiseSVN. El fichero que haya pulsado en ltimo lugar (el que tiene el foco, es
decir, el rectngulo con puntos) ser tomado como ms nuevo.

Listas de cambios
En un mundo ideal, slo trabajar en una cosa cada vez, y su copia de trabajo slo contendr un
conjunto de cambios lgicos. Vale, de vuelta al mundo real. A menudo ocurre que tiene que trabajar
en varias tareas sin relacin entre s a la vez, y cuando mira en el dilogo de confirmar, todos los
cambios estn juntos y mezclados. La caracterstica lista de cambios le ayuda a hacer agrupaciones
de ficheros, facilitando ver qu se est haciendo. Por supuesto sto slo funciona si los cambios no
se superponen. Si dos tareas diferentes afectan al mismo archivo, no hay forma de separar los
cambios.

Importante
La caracterstica de lista de cambios en TortoiseSVN slo est disponible en
Windows XP y posterior, puesto que depende de una capacidad del shell que no est
presente en Windows 2000. Lo sentimos, pero Windows 2000 es ya demasiado
antiguo, as que por favor no se queje.

Puede ver las listas de cambios en varios lugares, pero los ms importantes son el dilogo de
confirmacin y el de comprobar modificaciones. Empecemos en el dilogo comprobar
modificaciones despus de que haya estado trabajando en varias caractersticas y varios
ficheros. La primera vez que abra el dilogo, todos los ficheros modificados se muestran
juntos. Supongamos que ahora quiere organizar las cosas y agrupar esos ficheros segn la
caracterstica.
Seleccione uno o ms ficheros y utilice Men contextual Mover a la lista de cambios para aadir
un tem a una lista de cambios. Inicialmente no habr listas de cambios, por lo que la primera vez
que ejecute esto tendr que crear una nueva lista de cambios. Dle un nombre que describa para qu
la est utilizando, y pulse Aceptar. El dilogo de confirmacin cambiar para mostrar agrupaciones

de tems.
Una vez que haya creado una lista de cambios puede arrastrar y soltar tems en ella, tanto desde otra
lista de cambios como desde el Explorador de Windows. Arrastrar desde el Explorador puede ser
til ya que le permite aadir tems a una lista de cambios antes de que el fichero sea modificado.
Puede hacer eso desde el dilogo comprobar modificaciones, pero slo si muestra todos los ficheros
no modificados.

Figura 14: Dilogo de confirmacin con listas de


cambios

En el dilogo de confirmacin puede ver esos mismos ficheros, agrupados por listas de cambios.
Adems de dar una indicacin visual inmediata de las agrupaciones, tambin puede utilizar los
encabezados de grupo para seleccionar qu ficheros confirmar.
En XP hay un men contextual que aparece cuando hace click con el botn derecho en una cabecera
de grupo, y que le ofrece la posibilidad de marcar o desmarcar todas las entradas de grupo. En Vista
sin embargo el men contextual no es necesario. Haga click en la cabecera de grupo para
seleccionar todas las entradas, y luego marque la casilla de una de las entradas seleccionadas para
marcarlas todas.
TortoiseSVN reserva un nombre de lista de cambios para su propio uso, llamada ignore-oncommit. Se utiliza para marcar los ficheros versionados que casi nunca querr confirmar, incluso
aunque tengan cambios locales.

Cuando confirme ficheros que pertenezcan a una lista de cambios, normalmente no es


necesario que dichos ficheros sigan perteneciendo a la lista de cambios. Por este motivo, y
por defecto, los ficheros se eliminan de las listas de cambios automticamente al ser
confirmados. Si desea mantener el fichero en su lista de cambios, utilice la casilla Mantener
listas de cambios en la parte inferior del dilogo de confirmacin.

Sugerencia
Las listas de cambios son una caracterstica nicamente del cliente local. La creacin
y eliminacin de listas de cambios no afectan ni al repositorio ni a la copia de trabajo
de ningn otro cliente. Simplemente son una forma conveniente para organizar sus
ficheros.

Dilogo de Registro de revisiones


Para cada cambio que haga y confirme, debera proporcionar un mensaje de registro de ese cambio.
As podr averiguar despus qu cambios hizo y por qu, y tendr un registro detallado para su
proceso de desarrollo.
El dilogo de Registro de revisiones recopila todos esos mensajes de registro y se los ensea. La
pantalla se divide en tres paneles.
El panel superior le muestra una lista de revisiones donde se confirmaron cambios a
los ficheros/carpetas. Este sumario incluye la fecha y la hora, la persona que confirm
la revisin y el inicio del mensaje de registro.
Las lneas azules indican que algo se ha copiado a esta lnea de desarrollo (quizs desde una
rama).
El panel medio le muestra el mensaje de registro completo para la revisin seleccionada.
El panel inferior le muestra una lista de todos los ficheros y carpetas que se cambiaron
como parte de la revisin seleccionada.
Pero hace mucho ms que eso - le proporciona comandos del men contextual que puede utilizar
para obtener an ms informacin de la historia del proyecto.

Invocando el dilogo de Registro de revisiones

Figura 15: El dilogo de Registro de revisiones


Hay varios lugares desde los que puede mostrar el dilogo de Registro:
Desde el submen contextual de TortoiseSVN
Desde la pgina de propiedades
Desde el dilogo de Progreso despus de que termine una actualizacin. En ese caso el
dilogo de Registro slo le mostrar aquellas revisiones que cambiaron desde su ltima
actualizacin

Acciones del registro de revisiones


El panel superior tiene una columna Acciones que contiene iconos que resumen qu se ha hecho en
esa revisin. Hay cuatro iconos diferentes, cada uno mostrado en su propia columna.
Si una revisin modific un fichero o un directorio, se muestra el icono modificado en la primera
columna.
Si en una revisin se aadi un fichero o directorio, se muestra el icono aadido en la segunda
columna.
Si en una revisin se elimin un fichero o directorio, se muestra el icono eliminado en la tercera
columna.

Si una revisin reemplaz un fichero o un directorio, se muestra el icono reemplazado en la cuarta


columna.

Obteniendo informacin adicional

Figura 16: El panel superior del dilogo


de Registro de revisiones con el men
contextual
El panel superior del dilogo de Registro tiene un men contextual que le permite acceder a mucha
ms informacin. Algunas de las entradas de este men aparecen slo cuando se muestra el registro
de un fichero, y algunas slo cuando se muestra el registro de una carpeta.
Comparar con la copia de trabajo
Comparar las revisiones seleccionadas con su copia de trabajo. La Herramienta de Diferencias
por defecto es TortoiseMerge que se proporciona con TortoiseSVN. Si el dilogo de registro
es de una carpeta, esto mostrar una lista de sus ficheros cambiados, y le permitir revisar los
cambios hechos a cada fichero individualmente.
Comparar y mostrar autora con la BASE de trabajo
Obtener la informacin de autora de la revisin seleccionada, y del fichero en su BASE de
trabajo, y comparar los resultados utilizando una herramienta visual de diferencias.

Mostrar cambios como diff unificado


Ver los cambios hechos en la revisin seleccionada como fichero de diff unificado (formato de
parche GNU). Esto le muestra slo las diferencias con unas pocas lneas de contexto. Es ms dificil
de leer que una comparacin visual de ficheros, pero le mostrar todos los cambios juntos en un
formato compacto.
Comparar con la revisin anterior
Compara la revisin seleccionada con la revisin anterior. Esto funciona de forma similar a
comparar con su copia de trabajo. Para carpetas esta opcin mostrar primero el dilogo de ficheros

cambiados permitindole seleccionar los ficheros a comparar.


Comparar y mostrar autora con la revisin anterior
Muestra el dilogo de ficheros cambios permitindole seleccionar ficheros. Obtiene la informacin
de autora de la revisin seleccionada, y de la revisin anterior, y compara los resultados utilizando
una herramienta visual de diferencias (slo para carpetas).
Guardar revisin en...
Almacenar la revisin seleccionada en un fichero, para que pueda tener una versin antigua de ese
fichero. (Slo para ficheros).
Abrir / Abrir con...
Abrir el fichero seleccionado, bien con el visor por defecto para ese tipo de fichero, o bien con el
programa que elija. (Slo para ficheros).
Autora...
Muestra la autora del fichero hasta la revisin seleccionada (slo para ficheros).
Explorar el repositorio
Abrir el navegador de repositorios para examinar el fichero o la carpeta seleccionados en el
repositorio tal y como estaban en la revisin seleccionada.
Crear rama/etiqueta desde la revisin
Crea una rama o una etiqueta desde la revisin seleccionada. Esto es til por ejemlpo si se le olvid
crear una etiqueta y ya ha confirmado algunos cambios que se supone que no deben ir en esa
versin.
Actualizar tem a la revisin
Actualizar su copia de trabajo a la revisin seleccionada. til si quiere hacer que su copia de trabajo
refleje un momento en el pasado, o si ha realizado confirmaciones posteriores en el repositorio y
quiere actualizar su copia de trabajo un paso cada vez. Es mejor actualizar un directorio completo
en su copia de trabajo, no slo un fichero, ya que si no su copia de trabajo podra ser inconsistente.
Si desea deshacer un cambio anterior de forma permanente, utilice Revertir a esta revisin
Revertir a esta revisin
Revierte a una revisin anterior. Si ha hecho varios cambios, y luego decide que realmente desea
volver a dejar las cosas como estaban en la revisin N, este es el comando que necesita. Los
cambios se revierten en su copia de trabajo, por lo que esta operacin no afecta al repositorio hasta
que confirme los cambios. Tenga en cuenta que esto deshar todos los cambios que se hayan
realizado tras la revisin seleccionada, reemplazando el fichero o la carpeta con la versin anterior.
Si su copia de trabajo est en un estado no modificado, despus de realizar esta accin su copia de
trabajo se mostrar como modificada. Si ya tiene cambios locales, este comando fusionar los
cambios de deshacer en su copia de trabajo.
Lo que ocurre internamente es que Subversion realiza una fusin inversa de todos los cambios
realizados despus de la revisin seleccionada, deshaciendo el efecto de esas confirmaciones sobre
las previas.
Si despus de realizar esta accin decide que desea deshacer lo deshecho y volver a obtener su

copia de trabajo a su estado previo siin modificaciones, deber utilizar TortoiseSVN Revertir
desde el Explorador de Windows, lo que descartar los cambios locales hechos por esta accin de
fusin inversa.
Si desea simplemente ver cmo estaba un fichero o una carpeta en una revisin anterior, utilice
Actualizar a la revisin o Guardar revisin como....
Revertir los cambios hechos en esta revisin
Deshace los cambios que se hicieron en la revisin seleccionada. Estos cambios se deshacen en su
copia de trabajo, por lo que esta operacin no afecta al repositorio en absoluto! Tenga en cuenta
que esto deshar nicamente los cambios hechos en esa revisin; no reemplaza su copia de trabajo
con el fichero completo tal y como estaba en la revisin anterior. Esto es muy til para deshacer un
cambio anterior cuando ya se han hecho otros cambios que no tienen que ver con l.
Si su copia de trabajo est en un estado no modificado, despus de realizar esta accin su copia de
trabajo se mostrar como modificada. Si ya tiene cambios locales, este comando fusionar los
cambios de deshacer en su copia de trabajo.
Lo que ocurre internamente es que Subversion realiza una fusin inversa de esa nica revisin,
deshaciendo sus efectos sobre la confirmacin anterior.
Puede deshacer lo deshecho tal y como se describe arriba en Revertir a esta revisin.
Fusionar revisin en...
Fusiona la(s) revision(es) seleccionada(s) en una copia de trabajo diferente. Un dilogo de seleccin
de carpeta le permitir elegir la copia de trabajo donde desea fusionar, pero despus de eso no hay
dilogo de confirmacin, ni oportunidad de probar la fusin sin ejecutarla realmente. Es una buena
idea fusionar en una copia de trabajo sin cambios, y as poder revertir los cambios si no funcionan!
Esta es una funcionalidad til si desea fusionar las revisiones seleccionadas de una rama en otra.
Obtener...
Hace una obtencin nueva de la carpeta seleccionada en la revisin seleccionada. Esto muestra un
dilogo para que confirme la URL y la revisin, y seleccione un lugar para la obtencin.
Exportar...
Exporta la carpeta o el fichero seleccionado en la revisin seleccionada. Esto muestra un dilogo
para que confirme la URL y la revisin, y para que seleccione un lugar para la exportacin.
Editar autor / mensaje de registro
Editar el mensaje de registro o el autor adjunto a una confirmacin anterior.

Mostrar propiedades de la revisin


Ver y editar cualquier propiedad de revisin, no slo el mensaje de registro y el autor.

Copiar al portapapeles
Copia los detalles de registro de las revisiones seleccionadas al portapapeles. Esto copia el
nmero de revisin, el autor, la fecha, el mensaje de registro y la lista de tems cambiados
para cada revisin.
Buscar mensaje de registro...
Buscar en los mensajes de registro el texto que desee. Esto busca en los mensajes de registro
que ha introducido, y tambin en los sumarios de accin creados por Subversion (mostrados

en el panel inferior). La bsqueda no distingue maysculas y minsculas.

Figura 17: Men contextual del panel


superior para 2 revisiones
seleccionadas
Si selecciona dos revisiones a la vez (utilizando el modificador habitual Ctrl), el men contextual
cambia y le ofrece menos opciones:
Comparar revisiones
Compara las dos revisiones seleccionadas utilizando una herramienta de diferencias visual. La
herramienta de diferencias por defecto es TortoiseMerge que se proporciona con
TortoiseSVN.
Si selecciona esta opcin para una carpeta, aparecer un dilogo posterior mostrando los
ficheros cambiados y ofrecindole ms opciones de diferenciacin.

Autora de las revisiones


Obtener la informacin de autora de las dos revisiones y comparar los resultados utilizando una
herramienta visual de diferencias.

Mostrar diferencias como diff unificado


Ver las diferencias entre las dos revisiones seleccionadas como un fichero diff unificado. Esto
funciona para ficheros y carpetas.
Copiar al portapapeles
Copie los mensajes de registro al portapapeles tal y como se describi anteriormente.
Buscar mensaje de registro...
Buscar mensajes de registro como se describe ms arriba.
Si selecciona dos o ms revisiones (utilizando los modificadores habituales Ctrl o Maysculas), el
men contextual incluir una entrada para revertir todos los cambios que se hicieron en ese rango de
revisiones. sta es la forma ms sencilla para deshacer un grupo de revisiones de golpe.
Tambin puede elegir fusionar en otra copia de trabajo las revisiones seleccionadas, como se
describi ms arriba.
Si todas las revisiones seleccionadas tienen el mismo autor, puede editar el autor de todas esas
revisiones de un golpe.

Figura 18: El panel inferior


del dilogo de Registro con el
men contextual
El panel inferior del dilogo Registro tambin tiene un men contextual que le permite
Mostrar cambios
Mostrar los cambios hechos en la revisin seleccionada sobre el fichero seleccionado. Este
men contextual slo est disponible para los ficheros que se muestran como modificados.
Autora de los cambios
Obtener la informacin de autora de la revisin seleccionada y de la revisin anterior del
fichero seleccionado, y comparar los resultados utilizando una herramienta visual de
diferencias.

Mostrar como diff unificado


Mostrar los cambios del fichero en formato diff unificado. Este men contextual slo est
disponible para los ficheros que se muestran como modificados.
Abrir / Abrir con...
Abrir el fichero seleccionado, bien con el visor por defecto para ese tipo de fichero, o bien con el
programa que elija.
Autora...
Abre el dilogo Autora, permitindole ver la informacin de autora hasta la revisin seleccionada.
Revertir los cambios hechos en esta revisin
Revertir los cambios hechos al fichero seleccionado en esa revisin.
Mostrar propiedades
Ver las propiedades de Subversion del tem seleccionado.
Mostrar registro
Mostrar el registro de revisiones para ese fichero seleccionado.
Obtener registros de fusiones
Muestra el registro de revisiones para el nico fichero seleccionado, incluyendo los cambios
fusionados.

Guardar revisin en...


Grabar la revisin seleccionada a un fichero, para que pueda tener una versin antigua de ese
fichero.

Sugerencia
Puede haberse dado cuenta de que a veces nos referimos a cambios y otras veces a
diferencias. Cul es la diferencia?
Subversion utiliza nmeros de revisin para dos cosas diferentes. Una revisin
generalmente representa el estado de un repositorio en un momento en el tiempo,
pero tambin puede utilizarse para representar el conjunto de cambios que generaron
esa revisin; por ejemplo, Hecho en la r1234 significa que los cambios
confirmados en la revisin 1234 implementan la caracterstica X. Para dejar claro en
qu sentido se utilizan, empleamos dos trminos distintos.
Si selecciona dos revisiones N y M, el men contextual le ofrecer mostrar las
diferencias entre estas dos revisiones. En trminos de Subversion esto es diff -r
M:N.
Si selecciona una nica revisin N, el men contextual le ofrecer mostrar los
cambios realizados en esa revisin. En trminos de Subversion esto es diff -r
N-1:N o diff -c N.
El panel inferior le muestra los ficheros cambiados en todas las revisiones
seleccionadas, por lo que el men contextual siempre ofrece mostrar cambios.

Obteniendo ms mensajes de registro


El dilogo Registro no siempre le muestra todos los cambios que se hayan hecho alguna vez por
unos cuantos motivos:
En un repositorio grande, puede haber cientos o incluso miles de cambios, y obtenerlos
todos puede llevar mucho tiempo. Normalmente estar interesado slo en los cambios ms
recientes. Por defecto, el nmero de mensajes de registro obtenidos se limita a 100, pero
puede cambiar este valor en TortoiseSVN Configuracin

Cuando se marca la casilla Parar en copia/renombrado, Mostrar Registro se parar en el


punto en el que el fichero o carpeta seleccionado se copi de algn otro lugar en el
repositorio. Esto puede ser til para buscar ramas (o etiquetas) porque se para en la raz de
esa rama, y le da una indicacin rpida de los cambios hechos nicamente en esa rama.
Normalmente querr dejar esta opcin sin marcar. TortoiseSVN recuerda el estado de la
casilla, por lo que respetar su preferencia.
Cuando se invoca el dilogo Mostrar Registro desde el dilogo Fusionar, la casilla siempre
se marca por defecto. Esto es porque al fusionar lo ms probable es buscar cambios en las
ramas, y retroceder a la raz de la rama no tiene sentido en ese caso.
Tenga en cuenta que Subversion actualmente implementa el renombrado como un par de
copia/borrado, por lo que renombrar un fichero o carpeta tambin provocar que el dilogo
de registro se pare si se marca esta opcin.
Si desea ver ms mensajes de registro, pulse Siguientes 100 para obtener los siguientes 100
mensajes de registro. Puede repetir sto tantas veces como sea necesario.
Al lado de este botn hay un botn multifuncin que recuerda la ltima opcin que utiliz. Pulse en
la flecha para ver las otras opciones ofrecidas.

Utilice Mostrar rango ... si desea ver un rango especfico de revisiones. Aparecer un dilogo que le
preguntar por la revisin de inicio y de fin.
Utilice Mostrar Todos si desea ver todos los mensajes de registro desde HEAD hasta la revisin 1.

Revisin actual de la copia de trabajo


Dado que el dilogo de registro le muestra el registro desde HEAD, no desde la revisin actual de la
copia de trabajo, a veces ocurre que se muestran mensajes de registro para contenidos que an no
han sido actualizados en su copia de trabajo. Para ayudar a mostrar esto ms claro, el mensaje de
confirmacin que corresponde a la revisin que tiene en su copia de trabajo se muestra en negrita.
Por defecto esto slo funciona para ficheros. Esto es as porque la revisin actualizada de una
carpeta puede no corresponderse con la revisin actualizada de su contenido, y la nica forma de
obtener la revisin actualizada efectiva de una carpeta es recorrer la copia de trabajo. Esta puede ser
una operacin lenta para copias de trabajo grandes, por lo que puede si desea habilitar esta
caracterstica deber crear una clave de registro DWORD con valor 1 en
HKCU\Software\TortoiseSVN\RecursiveLogRev.

Caractersticas de registro de fusin


Subversion 1.5 y posteriores almacenan un registro de las fusiones utilizando propiedades. Esto nos
permite obtener una historia ms detallada de los cambios fusionados. Por ejemplo, si desarrolla una
nueva caracterstica en una rama y luego la fusiona en el tronco, la caracterstica desarrollada
aparecer en el historial de registro del tronco como una nica confirmacin para la fusin, incluso
aunque haya habido 1000 confirmaciones durante el desarrollo de la rama.

Figura 19: El dilogo de registro mostrando revisiones con


registro de fusin

Si desea ver el detalle de qu revisiones se fusionaron como parte de esa confirmacin, utilice la
casilla Incluir revisiones fusionadas. Esto obtendr los mensajes de registro de nuevo, pero tambin
intercalar los mensajes de registro desde las revisiones que se fusionaron. Las revisiones
fusionadas se muestran en gris porque representan cambios hechos en una parte diferente del rbol.
Por supuesto que fusionar nunca es sencillo! Durante el desarrollo de la rama habr probablemente
fusiones ocasionales desde el tronco para mantener la rama en sincrona con la lnea principal del
cdigo. Por eso la historia de fusiones de la rama tambin incluir otra capa de historia de fusiones.
Estas capas se muestran en el dilogo de registro utilizando niveles de indentacin.

Cambiando el mensaje de registro y el autor


Las propiedades de revisin son completamente diferentes de las propiedades Subversion de cada
tem. Las propiedades de revisin (revprops) son tems descriptivos que estn asociados con un
nmero de revisin en concreto en el repositorio, como el mensaje de registro, la fecha de
confirmacin o el nombre del confirmador (autor).
A veces querr cambiar un mensaje de registro que introdujo en su da, quizs porque hay un error
ortogrfico en l o porque quiere mejorar el mensaje o cambiarlo por otras razones. O quizs quiera
cambiar el autor de una confirmacin porque se le olvid preparar la autentificacin, o ...
Subversion le permite cambiar las propiedades de la revisin en cualquier momento. Pero como
estos cambios no se pueden deshacer (estos cambios no se versionan), esta caracterstica est
deshabilitada por defecto. Para hacer que sto funcione, debe preparar un gancho pre-revpropchange. Por favor consulte el captulo sobre Scripts gancho en el Libro de Subversion para
tener ms detalles sobre cmo hacerlo.

Una vez que haya preparado su servidor con los ganchos necesarios, puede cambiar tanto el
autor como el mensaje de registro (o cualquier otra propiedad de revisin) de cualquier
revisin, utilizando el men contextual del panel superior del dilogo Registro. Tambin
puede editar un mensaje de registro utilizando el men contextual del panel del medio.
Aviso
Dado que las propiedades de revisin de Subversion no se versionan, al hacer
modificaciones a estas propiedades (por ejemplo, la propiedad del mensaje
svn:log) se sobreescribir el valor anterior de esa propiedad para siempre.

Filtrando los mensajes de registro


Si desea restringir los mensajes de registro para mostrar slo en los que est interesado en vez de
tener que navegar en una lista de cientos, puede utilizar los controles de filtro en la parte superior
del Dilogo de Registro. Los controles de fecha de inicio y de fin le permite restringir la salida a un
rango de fechas conocido. La caja de texto de bsqueda le permite mostrar slo los mensajes que
contengan una frase en particular.
Pulse en el icono de bsqueda para seleccionar sobre qu informacin desea buscar, y para
seleccionar el modo regex. Normalmente slo necesitar una bsqueda de texto simple, pero si
necesita utilizar trminos de bsqueda ms flexibles, puede utilizar expresiones regulares. Si mueve
el ratn encima de la caja, aparecer un texto de ayuda que le proporcionar pistas sobre cmo
utilizar las funciones regex.El filtro funciona comprobando si su cadena de filtro concuerda con las
entradas de registro, y de ellas slo se muestran aquellas entradas que concuerdan con la cadena de
filtro.
Para hacer que el filtro muestre todas las entradas de registro que no concuerdan con la cadena del
filtro, comience la cadena con un signo de exclamacin ('!'). Por ejemplo, una cadena de filtro !

nombredeusuario mostrar slo aquellas entradas que no fueron confirmadas por


nombredeusuario.
Tenga en cuenta que estos filtros actan sobre los mensajes ya obtenidos. Ellos no controlan la
descarga de mensajes desde el repositorio.
Tambin puede filtrar los nombres de las rutas en el panel inferior utilizando la casilla Ocultar rutas
cambiadas no relacionadas. Las rutas relacionadas son aquellas que contienen la ruta utilizada para
mostrar el registro. Si est obteniendo el registro de una carpeta, eso significa todo lo que est en
esa carpeta o debajo de ella. Para un fichero, significa slo ese fichero. La casilla tiene tres estados:
puede mostrar todas las rutas, poner en gris las rutas no relacionadas, u ocultar esas rutas
completamente.
A veces sus prcticas de trabajo requerirn que los mensajes de registro sigan un formato particular,
lo que significa que el texto que describe los cambios no es visible desde el sumario abreviado
mostrado en el panel superior. La propiedad tsvn:logsummary puede utilizarse para extraer
una porcin del mensaje de registro que se mostrar en el panel superior.

Ningn formato de registro desde el navegador de repositorios


Dado que el formateo depende del acceso a propiedades de Subversion, slo ver los
resultados cuando utilice una copia de trabajo obtenida. Acceder a las propiedades de
forma remota es una operacin lenta, por lo que no ver esta caracterstica desde el
navegador de repositorios.

Informacin estadstica
El botn Estadsticas lanza un cuadro de dilogo que muestra algunas informaciones interesantes
sobre las revisiones que se muestran en el dilogo Registro. Le muestra cuntos autores han estado
trabajando, cuntas confirmaciones han hecho, el progreso por semanas, y mucho ms. Ahora puede
ver de un vistazo quin ha trabajado duro y quin se ha tocado la barriga ;-)
Pgina de estadsticas
Esta pgina le proporciona todas las cifras que pueda necesitar, en particular el perodo y el nmero
de revisiones cubiertas, y algunos valores mnimos/mximos/medios.
Pgina de confirmaciones por autor

Figura 20: Histograma de confirmaciones por autor

Este grfico le muestra qu autores han estado activos en el proyecto como un simple histograma,
un histograma apilado o un grfico de tarta.

Figura 21: Grfico de tarta de confirmaciones por autor


Cuando hay unos pocos autores muy activos y muchos pequeos contribuyentes, el nmero de
segmentos pequeos puede hacer que el grfico sea ms dificil de leer. El selector deslizante en la
parte inferior le permite establecer un lmite (el porcentaje sobre el total de confirmaciones) bajo el
cual cualquier actividad se agrupa en una categora Otros.
Pgina de confirmaciones por fecha

Figura 22: Grfico de confirmaciones por fecha


Esta pgina proporciona una representacin grfica de la actividad del proyecto en trminos del
nmero de confirmaciones y autor. Esto da una idea de cundo se ha trabajado en un proyecto, y
quin estaba trabajando en cada momento.
Cuando hay varios autores, puede obtener muchas lneas en el grfico. Hay dos vistas disponibles
aqu: normal, en la que la actividad de cada autor se refiere a la lnea base, y apilado, donde la
actividad de cada autor se refiere a la lnea subyacente. La ltima opcin evita que se crucen las
lneas, lo que puede permitir un grfico ms sencillo de leer, pero es menos fcil ver la salida de

cada autor.
Por defecto el anlisis distingue maysculas y minsculas, por lo que los usuarios PeterEgan y
PeteRegan se tratan como autores diferentes. Sin embargo, en muchos casos los nombres de
usuario no distinguen maysculas y minsculas, y a veces se introducen de forma inconsistente, por
lo que puede querer que DavidMorgan y davidmorgan se traten como la misma persona.
Utilice la casilla Autores sin importar mays/mins para controlar este comportamiento.
Tenga en cuenta que las estadsticas cubren el mismo perodo que el dilogo Registro. Si slo se
est mostrando una revisin, las estadsticas no le dirn mucho.

Refrescando la vista
Si desea comprobar el servidor de nuevo para obtener los mensajes de registro ms recientes, puede
simplemente refrescar la vista utilizando F5. Si est utilizando la cach de registro (habilitada por
defecto), esto buscar en el repositorio los mensajes ms recientes y traer slo los nuevos. Si la
cach de registro estaba en modo desconectado, esto intentar volver a ponerla en lnea.
Si est utilizando la cach de registros y cree que el contenido del mensaje o el autor han podido
cambiar, puede utilizar Mays-F5 o Ctrl-F5 para re-obtener los mensajes mostrados desde el
servidor y actualizar la cach de registro. Tenga en cuenta que esto slo afecta a los mensajes que se
estn mostrando actualmente y que por tanto no invalida la cach completa de ese repositorio.

Viendo diferencias
Uno de los requisitos ms comunes en el desarrollo de proyectos es ver qu ha cambiado. Puede
querer ver las diferencias entre dos revisiones del mismo fichero, o las diferencias entre dos ficheros
separados. TortoiseSVN provee una herramienta integrada llamada TortoiseMerge para ver las
diferencias entre ficheros de texto. Para ver las diferencias entre ficheros de imagen, TortoiseSVN
tambin tiene una herramienta llamada TortoiseIDiff. Por supuesto, puede utilizar su herramienta de
diferencias favorita si lo desea.

Diferencias de ficheros
Cambios locales
Si desea ver qu cambios ha hecho usted en su copia de trabajo, simplemente utilice el men
contextual del explorador y seleccione TortoiseSVN Diferenciar.
Diferenciar con otra rama/etiqueta
Si desea ver qu ha cambiado en el tronco (si est trabajando en una rama) o en una rama
especfica (si est trabajando en el tronco), puede utilizar el men contextual del explorador.
Simplemente sostegna la tecla Maysculas mientras hace click con el botn derecho en el
fichero. Luego, seleccione TortoiseSVN Diferenciar con URL. En el siguiente dilogo,
especifique la URL del repositorio con la que quiere comparar su fichero local.
Tambin puede utilizar el navegador de repositorios y seleccionar dos rboles para
diferenciar, quizs dos ramas, o una rama/etiqueta y el tronco. Ah, el men contextual le
permite compararlos utilizando Comparar revisiones.

Diferenciar desde una revisin anterior


Si desea ver las diferencias entre una revisin en concreto y su copia de trabajo, utilice el dilogo

Registro de Revisiones, seleccione la revision de interes, y luego seleccione Compar con la copia
de trabajo desde el men contextual.
Si desea ver la diferencia entre la ltima revision confirmada y su copia de trabajo, asumiendo que
la copia de trabajo no se haya modificado, simplemente haga click con el botn derecho sobre el
fichero. Luego, seleccione TortoiseSVN Comparar con la revisin anterior. Esto realizar una
diferenciacin entre la revisin anterior a la fecha-de-la-ltima-confirmacin (tal y como se registr
en su copia de trabajo) y la BASE de la copia de trabajo. Esto le muestra el ltimo cambio hecho al
fichero que lo llev al estado que ahora est viendo en su copia de trabajo. No mostrar cambios
ms nuevos que su copia de trabajo.
Diferenciar entre dos revisiones antiguas
Si desea ver las diferencias entre dos revisiones que ya se confirmaron, utilice el dilogo Registro
de Revisiones y seleccione las dos revisiones que desea comparar (utilizando el modificador
habitual Ctrl). Luego seleccione Comparar revisiones desde el men contextual.
Si hizo esto desde el historial de revisiones de una carpeta, aparece un dilogo Comparar
Revisiones, mostrando una lista de ficheros cambiados en esa carpeta.

Todos los cambios hechos en una confirmacin


Si desea ver los cambios hechos a todos los ficheros en una revisin en particular de una vez, puede
utilizar la salida diff unificado (formato de parche GNU). Esto le muestra slo las diferencias con
unas pocas lneas de contexto. Es ms dificil de leer que una comparacin visual de ficheros, pero le
mostrar todos los cambios juntos. Desde el dilogo Registro de Revisiones, seleccione la revisin
de interes, y luego seleccione Mostrar Diferencias como Diff Unificado desde el men contextual.
Diferencias entre ficheros
Si desea ver las diferencias entre dos ficheros diferentes, puede hacerlo directamente en el
explorador seleccionando ambos ficheros (utilizando el modificador habitual Ctrl). Luego desde el
men contextual del explorador seleccione TortoiseSVN Diferenciar.
Diferencias entre un fichero/carpeta en la copia de trabajo y una URL
Si desea ver las diferencias entre un fichero en su copia de trabajo, y un fichero en cualquier
repositorio de Subversion, puede hacerlo directamente en el explorador seleccionando el fichero y
pulsando la tecla Maysculas mientras hace click con el botn derecho para obtener el men
contextual. Seleccione TortoiseSVN Diferenciar con URL. Puede hacer lo mismo para una
carpeta de copia de trabajo. TortoiseMerge muestra esas diferencias de la misma forma que muestra
un fichero de parche - una lista de ficheros cambiados que puede ver de uno en uno.
Diferencias con informacin de autora
Si desea ver no slo las diferencias sino tambin el autor, revisin y la fecha en la que se hicieron
los cambios, puede combinar los informes de diferencias y de autora desde dentro del dilogo del
historial de revisiones.

Si ha configurado una herramienta de diferenciado de terceros, puede utilizar


Maysculascuando seleccione el comando Diferenciar para utilizar la herramienta
alternativa.
Opciones de fn de lnea y espacios en blanco
A veces en la vida de un proyecto puede querer cambiar los fines de lnea de CRLF a LF, o puede
querer cambiar la indentacin de una seccin. Desafortunadamente esto marcar un gran nmero de
lneas como modificadas, incluso aunque no haya cambios en el significado del cdigo. Estas

opciones le ayudarn a administrar estos cambios cuando se comparan y aplican diferencias. Ver
estas opciones en los dilogos Fusionar y Autora, adems de en la configuracin de TortoiseMerge.
Ignorar finales de lnea excluye los cambios que slo se deban a diferencias en el estilo de fin de
lnea.
Comparar espacios en blanco incluye todos los cambios en la indentacin y en los espacios en
blanco interiores como lneas aadidas/eliminadas.
Ignorar cambios en espacios en blanco excluye los cambios que slo se deben a un cambio en la
cantidad o tipo de espacios en blanco, como por ejemplo cambios en la indentacin o cambio de
tabuladores a espacios. Aadir espacios en blanco donde antes no haba, o eliminar completamente
espacios en blanco an se mostrar como un cambio.
Ignorar todos los espacios en blanco excluye todos los cambios que slo se deban a espacios en
blanco.
Naturalmente, cualquier lnea cuyo contenido haya cambiado se incluye siempre en la
diferenciacin.

Comparando carpetas

Figura 23: El dilogo Comparar Revisiones

Cuando seleccione dos rboles dentro del navegador de repositorios, o cuando seleccione dos
revisiones de una carpeta en el dilogo de registro, puede Men contextual Comparar revisiones.
Este dilogo muestra una lista de todos los ficheros que han cambiado y le permite comparar o ver
la autora de cada uno individualmente utilizando el men contextual.
Puede exportar un rbol de cambios, lo que es til si necesita enviar a alguien la estructura de su
rbol de proyecto, pero conteniendo slo los ficheros que han cambiado. Esta operacin trabaja slo
sobre los ficheros seleccionados, por lo que necesitar seleccionar los ficheros de inters normalmente eso significa todos - y luego Men contextual Exportar seleccin a.... Se le
preguntar por una ruta donde guardar el rbol de cambios.

Tambin puede exportar la lista de ficheros cambiados a un fichero de texto utilizando Men
contextual Guardar lista de ficheros seleccionados a....
Si desea exportar la lista de ficheros y tambin las acciones (modificado, aadido, borrado), puede
hacerlo utilizando Men contextual Copiar la seleccin al portapapeles.
El botn en la parte superior le permite cambiar la direccin de la comparacin. Puede mostrar los
cambios necesarios para ir de A a B, o si lo prefiere, de B a A.
Los botones con los nmeros de revisin pueden utilizarse para cambiar a un rango de revisiones
diferente. Cuando cambia el rango, la lista de tems que difieren entre las dos revisiones se
actualizar automticamente.
Si la lista de nombres de ficheros es muy larga, puede utilizar la caja de bsqueda para reducir la
lista a los nombres de ficheros que contengan un texto especfico. Tenga en cuenta que se utiliza
una bsqueda de texto simple, as que si desea restringir la lista a ficheros de cdigo fuente C
debera introducir .c en vez de *.c.

Aadiendo nuevos ficheros y directorios

Figura 24: Men contextual del explorador para


ficheros no versionados
Si ha creado nuevos ficheros y/o directorios durante su proceso de desarrollo, necesitar aadirlos
tambin al control de cdigo. Seleccione los ficheros y/o directorios y utilice TortoiseSVN
Aadir.
Despus de que aada los ficheros o directorios al control de cdigo, el fichero aparece con una
sobreimpresin de icono aadido que significa que primero debe confirmar su copia de trabajo
para que esos ficheros y directorios estn disponibles para otros desarrolladores. Aadir un fichero/
directorio no afecta al repositorio!

Aadir muchos
Tambin puede usar el comando Aadir en carpetas que ya estn versionadas. En ese
caso, el dilogo de aadir le mostrar todos los ficheros sin versionar dentro de esa
carpeta versionada. Esto ayuda si tiene muchos ficheros nuevos y necesita aadirlos
todos de golpe.

Para aadir ficheros desde fuera de su copia de trabajo puede usar el manejador de arrastrary-soltar:
1. seleccione los ficheros que desea aadir
2. arrstrelos con el botn derecho a su nuevo destino dentro de la copia de trabajo
3. suelte el botn derecho del ratn
4. seleccione Men contextual SVN Aadir ficheros a esta Copia de Trabajo. En ese
momento los ficheros se copiarn a la copia de trabajo y se aadirn al control de versiones.

Tambin puede aadir ficheros dentro de una copia de trabajo simplemente arrastrndolos con el
botn izquierdo y soltndolos en el dilogo de confirmacin.
Si aade un fichero o carpeta por error, puede deshacer la adicin antes de confirmar utilizando
TortoiseSVN Deshacer aadir....

Copiando/Moviendo/Renombrando ficheros y carpetas


A menudo ocurre que ya tiene los ficheros que necesita en otro proyecto en su repositorio, y que
simplemente quiere copiarlos. Podra simplemente copiar los ficheros y aadirlos como se describe
ms arriba, pero eso no le dar ninguna historia. Y si posteriormente arregla un error en los ficheros
originales, slo podr fusionar el arreglo automticamente si la nueva copia est relacionada con la
original en Subversion.
La manera ms fcil de copiar ficheros y carpetas desde dentro de una copia de trabajo es utilizar el
men contextual que aparece al arrastrar con el botn derecho. Cuando arrastra con el botn
derecho un fichero o una carpeta de una copia de trabajo a otra, o incluso dentro de la misma
carpeta, aparece un men contextual cuando suelta el botn del ratn.

Figura 25: Men de arrastre con el


botn derecho para un directorio bajo el
control de versiones
Ahora puede copiar contenido existente versionado a un nuevo lugar, posiblemente renombrndolo
al mismo tiempo.
Tambin puede copiar o mover ficheros versionados dentro de una copia de trabajo, o entre dos
copias de trabajo, utilizando el mtodo familiar corta-y-pega. Utilice el mtodo estndar de
Windows Copiar o Cortar para copiar uno o ms tems versionados al portapapeles. Si el
portapapeles contiene tems versionados, puede utilizar TortoiseSVN Pegar (tenga en cuenta: no
es el mtodo estndar de Windows Pegar) para copiar o mover estos tems al nuevo lugar de la
copia de trabajo.
Puede copiar ficheros y carpetas desde su copia de trabajo a otro lugar del repositorio utilizando
TortoiseSVN Rama/Etiqueta.

Puede localizar una versin anterior de un fichero o carpeta en el dilogo de registro y


copiarlo a un nuevo lugar del repositorio directamente desde el dilogo de registro
utilizando Men contextual Crear rama/etiqueta desde la revisin.
Tambin puede utilizar el navegador de repositorio para localizar el contenido que quiere, y
copiarlo en su copia de trabajo directamente desde el repositorio, o copiar entre dos lugares dentro
del repositorio.

No se puede copiar entre repositorios


Mientras que puede copiar y mover ficheros y carpetas dentro de un repositorio, no
puede copiar o mover desde un repositorio a otro y preservar la historia utilizando
TortoiseSVN. Ni siquiera si los repositorios residen en el mismo servidor. Todo lo
que puede hacer el copiar el contenido en su estado actual y aadirlo como contenido
nuevo en el segundo repositorio.
Si no est seguro de si dos URLs en el mismo servidor se refieren al mismo
repositorio o a repositorios distintos, utilice el navegador de repositorios para abrir
una de las URLs y averiguar dnde est la raz del repositorio. Si puede ver ambos
lugares en una nica ventana del navegador de repositorios, entonces las dos rutas
estn en el mismo repositorio.

Ignorando ficheros y directorios

Figura 26: Men contextual del explorador para


ficheros no versionados
En la mayora de los proyectos tendr ficheros y carpetas que no debern estar sujetos al control de
versiones. Esto puede incluir ficheros creados por el compilador, *.obj, *.lst, o quizs una
carpeta de salida donde se almacenan los ejecutables. Cuando confirma los cambios, TortoiseSVN
le muestra los ficheros no versionados, que rellenan la lista de ficheros del dilogo de confirmar.
Por supuesto que puede desactivarlos para que no se muestren, pero entonces quizs se olvide de
aadir un nuevo fichero de cdigo fuente.
La mejor forma de evitar estos problemas es aadir los ficheros derivados a la lista de ignorados del
proyecto. De esta forma nunca se mostrarn en el dilogo de confirmar, pero se seguirn sealando
los genuinos ficheros de cdigo no versionados.
Si hace click con el botn derecho en un nico fichero no versionado, y selecciona el comando
TortoiseSVN Ignorar del men contextual, aparecer un submen que le permitir seleccionar
slo ese fichero, o todos los ficheros con la misma extensin. Si selecciona mltiples ficheros, no
hay submen y slo puede aadir esos ficheros o carpetas especficos.
Si desea eliminar uno o ms tems de la lista de ignorados, haga click con el botn derecho en
dichos tems y seleccione TortoiseSVN Eliminar de la Lista de Ignorados Tambin puede
acceder a la propiedad svn:ignore de la carpeta directamente. Esto le permitir especificar
patrones ms generales utilizando expansin de comodines en los nombres de los ficheros, descrito
ms adelante.

La lista global de ignorados


Otra forma de ignorar ficheros es aadirlos a la lista global de ignorados. La mayor diferencia aqu
es que la lista global de ignorados es una propiedad del cliente. Se aplica a todos los proyectos de
Subversion, pero slo en el PC cliente. En general es mejor utilizar la propiedad svn:ignore
donde sea posible, porque puede aplicarse a reas del proyecto especficas, y funciona para todos
los que obtengan el proyecto.

Ignorando tems versionados


Los ficheros y las carpetas verisonadas nunca pueden ser ignoradas - esta es una caracterstica de
Subversion.

Concordancia de patrones en las listas de ignorados


El patrn de ignorados de Subversion hace uso de la expansin de comodines en los nombres de los
ficheros, una tcnica que originariamente se utilizaba en Unix para especificar ficheros utilizando
meta-caracteres como son los comodines. Los siguientes caracteres tienen un significado especial:
*
Concuerda con cualquier cadena de caracteres, incluyendo la cadena vaca (sin caracteres).
?
Concuerda con un nico cracter cualquiera.
[...]
Concuerda con cualquiera de los caracteres includos entre los corchetes. Dentro de los
corchetes, un par de caracteres separados por - concuerda con cualquier caracter existente
entre los dos en el orden lexicogrfico. Por ejemplo, [AGm-p] concuerda con cualquiera de
estos: A, G, m, n, o o p.
La concordancia de patrones distingue entre maysculas y minsculas, lo que puede causar
problemas en Windows. Puede forzar que no se distingan a lo bruto, emparejando los caracteres; es
decir, por ejemplo, para ignorar *.tmp sin tener en cuenta las maysculas y minsculas, puede
utilizar un patrn como *.[Tt][Mm][Pp].

Sin rutas en la lista global de ignorados


No debera incluir informacin de ruta en su patrn. La concordancia de patrones
est pensanda para usarse contra nombres de fichero planos y nombres de carpeta. Si
desea ignorar todas las carpetas CVS, simplemente aada CVS a la lista de ignorados.
No hay necesidad de especificar CVS */CVS como se haca en versiones anteriores.
Si desea ignorar todas las carpetas tmp que existen dentro de una carpeta prog y no
dentro de una carpeta doc debera utilizar la propiedad svn:ignore. No hay una
forma fiable de conseguir esto utilizando patrones globales de ignorados.

Eliminando, moviendo y renombrando


Al contrario que CVS, Subversion le permite renombrar y mover ficheros y carpetas. Por tanto hay
entradas de men para borrar y renombrar en el submen TortoiseSVN.

Figura 27: Men contextual del explorador


para ficheros versionados

Eliminando ficheros y carpetas


Utilice TortoiseSVN Eliminar para eliminar ficheros o carpetas de Subversion.
Cuando TortoiseSVN Elimina un fichero, se elimina de su copia de trabajo inmediatamente, a la
vez que se marca para su borrado en el repositorio para la prxima confirmacin. La carpeta padre
del fichero muestra un icono sobreimpresionado de eliminado. Hasta que confirme el cambio,
puede recuperar el fichero utilizando TortoiseSVN Revertir sobre la carpeta padre.
Cuando se utiliza TortoiseSVN Eliminar sobre una carpeta, sta contina en su copia de trabajo,
pero la sobreimpresin cambia para indicarle que est marcada para ser eliminada. Hasta que
confirme el cambio, puede recuperar la carpeta utilizando TortoiseSVN Revertir sobre la propia
carpeta. Esta diferencia en el comportamiento entre ficheros y carpetas es parte de Subversion, no
de TortoiseSVN.
Si desea eliminar un tem del repositorio, pero mantenerlo localmente como un fichero o carpeta no
versionados, utilice Men contextual extendido Eliminar (mantener local). Debe mantener
pulsada la tecla Mays mientras hace click con el botn derecho sobre el tem en el panel de lista
de exploracin (panel derecho) para ver esto en el men contextual extendido.
Si se borra un fichero utilizando el Explorador en vez de usar el men contextual de TortoiseSVN,
el dilogo de confirmacin le muestra esos ficheros y le deja eliminarlos del control de versiones
antes de confirmar. Sin embargo, si actualiza su copia de trabajo, Subversion se dar cuenta de que
falta un fichero y lo reemplazar con la ltima versin del repositorio. Si necesita borrar un fichero
bajo control de versiones, utilice siempre TortoiseSVN Eliminar para que Subversion no tenga
que averiguar qu es lo que realmente quiere hacer usted.
Si se borra una carpeta utilizando el Explorador en vez de utilizar el men contextual de
TortoiseSVN, su copia de trabajo se romper y no podr confirmar. Si actualiza su copia de trabajo,
Subversion reemplazar la carpeta que falta con la ltima versin del repositorio, y luego podr

eliminarla de la forma correcta, utilizando TortoiseSVN Eliminar.

Recuperando un fichero o una carpeta borrados


Si ha borrado un fichero o una carpeta y ya ha confirmado esa operacin de borrado
en el repositorio, entonces un comando TortoiseSVN Revertir normal no los
podr recuperar. Pero el fichero o la carpeta borrados no estn perdidos para
siempre. Si sabe la revisin en la que se borraron el fichero o la carpeta (si no lo
sabe, utilice el dilogo de registro para averiguarlo), abra el navegador de
repositorios y cambie a esa revisin. Luego seleccione el fichero o la carpeta que ha
borrado, haga click con el botn derecho y seleccione Men Contextual Copiar
a..., y como destino de esa operacin de copia seleccione la ruta de su copia de
trabajo.

Moviendo ficheros y carpetas


Si desea simplemente renombrar en el sitio un fichero o una carpeta, utillice Men contextual
Renombrar... Introduzca el nuevo nombre para el tem, y ya est.
Si quiere mover ficheros dentro de una copia de trabajo, quizs a una subcarpeta distinta, utilice el
manejador de arrastrar-y-soltar con el botn derecho del ratn:
1. seleccione los ficheros o directorios que desea mover
2. arrstrelos con el botn derecho a su nuevo destino dentro de la copia de trabajo
3. suelte el botn derecho del ratn
4. en el men contextual seleccione Men contextual SVN Mover ficheros versionados aqu

Moviendo ficheros y carpetas


Si desea simplemente renombrar en el sitio un fichero o una carpeta, utillice Men contextual
Renombrar... Introduzca el nuevo nombre para el tem, y ya est.
Si quiere mover ficheros dentro de una copia de trabajo, quizs a una subcarpeta distinta, utilice el
manejador de arrastrar-y-soltar con el botn derecho del ratn:
1. seleccione los ficheros o directorios que desea mover
2. arrstrelos con el botn derecho a su nuevo destino dentro de la copia de trabajo
3. suelte el botn derecho del ratn
4. en el men contextual seleccione Men contextual SVN Mover ficheros versionados aqu

No SVN Mueva externos


NO debera utilizar los comandos TortoiseSVN Mover o Renombrar en una carpeta
que ha sido creada utilizando svn:externals. Esta accin puede provocar que el
tem externo se elimine de su repositorio padre, probablemente molestando a muchas
otras personas. Si necesita mover una carpeta externa, debera moverla como lo hace
con el resto de ficheros sin versionar, y luego ajustar las propiedades
svn:externals de las carpetas padres origen y destino.

Cambiando las maysculas/minsculas en un nombre de fichero


Hacer cambios slo en las maysculas/minsculas de un nombre de fichero es complicado en
Subversion sobre Windows, porque durante un corto periodo de tiempo durante el renombrado,

ambos nombres de fichero deben existir. Dado que Windows tiene un sistema de ficheros que no
distingue maysculas y minsculas, esto no funciona utilizando el habitual comando Renombrar.
Afortunadamente hay (al menos) dos soluciones posibles para renombrar un fichero sin perder su
historia de registro. Es importante renombrarlo dentro de Subversion. Renombrarlo nicamente en
el explorador corromper su copia de trabajo!
Solucin A) (recomendada)
1. Confirme los cambios en su copia de trabajo.
2. Renombrar el fichero de MAYusculas a mayUSCULAS directamente en el repositorio
utilizando el Navegador de Repositorios.
3. Actualice su copia de trabajo.
Solucin B)
1. Renombre de MAYusculas a MAYusculas_ con el comando Renombrar del submen de
TortoiseSVN.
2. Confirme los cambios.
3. Renombre de MAYusculas_ a mayUSCULAS.
4. Confirme los cambios.

Lidiando con conflictos en las maysculas/minsculas de un nombre de


fichero
En el caso de que tenga dos ficheros en el repositorio con el mismo nombre pero diferencindose
nicamente en las maysculas (por ejemplo, TEST.TXT y test.txt), ya no podr actualizar u
obtener el directorio padre en un cliente de Windows. Aunque Subversion soporta los nombres de
ficheros que se distinguen en las maysculas, Windows no.
Esto ocurre a veces cuando dos personas confirman, desde copias de trabajo separadas, ficheros
tales que tienen el mismo nombre pero con las maysculas/minsculas diferentes. Esto tambin
puede ocurrir cuando se confirman los ficheros desde un sistema con un sistema de ficheros que
distingue maysculas/minsculas, como Linux.
En ese caso, necesita decidir cul desea mantener y borrar (o renombrar) el otro en el repositorio.

Evitando dos ficheros con el mismo nombre


Hay un script gancho de servidor disponible en:
http://svn.collab.net/repos/svn/trunk/contrib/hook-scripts/ que evitar
confirmaciones cuyo resultado sea dos ficheros con conflicto en las maysculas.

Reparando renombrados de ficheros


A veces su amistoso IDE renombrar ficheros por usted como parte de un ejercicio de
refactorizacin, y por supuesto no se lo dir a Subversion. Si intenta confirmar sus cambios,
Subversion ver el nombre de fichero antiguo como faltante y el nuevo nombre como fichero no
versionado. Podra simplemente confirmar el nuevo nombre de fichero para aadirlo, pero entonces
perdera la traza de la historia, ya que Subversion no sabe la relacin entre los ficheros.
Una forma mejor es notificar a Subversion de que el cambio es realmente un renombrado, y puede
hacer esto dentro de los dilogos Confirmar y Comprobar modificaciones. Simplemente seleccione
tanto el nombre de fichero antiguo (faltante) como el nuevo nombre (no versionado) y utilice Men
contextual Reparar movimiento para emparejar los dos ficheros como un renombrado.

Eliminando ficheros no versionados


Normalmente especifica un la lista de ignorados tal que todos los ficheros generados se ignoran en
Subversion. Pero y si lo que quiere es limpiar todos esos tems ignorados para producir una
compilacin limpia? Normalmente lo hara en su makefile (fichero de instrucciones de
compilacin), pero si est depurando el makefile, o cambiando el sistema de compilacin, es til
tener una forma de barrer la casa.
TortoiseSVN proporciona exactamente esa opcin utilizando Men contextual extendido
Eliminar tems no versionados.... Debe mantener pulsada la tecla Mays mientras hace click con el
botn derecho sobre el tem en el panel de lista de exploracin (panel derecho) para ver esto en el
men contextual extendido. Esto mostrar un dilogo que lista todos los ficheros no versionados en
cualquier lugar de su copia de trabajo. Ah podr seleccionar o deseleccionar tems para ser
eliminados.
Cuando dichos tems se eliminan, se utiliza la papelera de reciclaje, por lo que si comete un error
aqu y borra un fichero que debera haber estado versionado, an puede recuperarlo.

Deshacer cambios
Si desea deshacer todos los cambios que ha hecho en un fichero desde la ltima actualizacin,
necesita seleccionar el fichero, hacer click con el botn derecho para sacar el men contextual, y
luego seleccionar el comando TortoiseSVN Revertir Aparecer un dilogo que le muestra los
ficheros que ha cambiado y que puede revertir. Seleccione los que desee revertir y pulse Aceptar.

Figura 28: Dilogo de Revertir


Si desea deshacer un borrado o un renombrado, necesitar utilizar Revertir en la carpeta padre dado
que el tem borrado ya no existe y no podr hacer click con el botn derecho sobre l.
Si quiere deshacer la adicin de un tem, esto aparece en el men contextual como TortoiseSVN
Deshacer aadir.... Esto tambin es revertir, en realidad, pero su nombre se ha cambiado para
hacerlo ms obvio.
Las columnas en este dilogo pueden ser personalizadas de la misma forma que las columnas en el
dilogo Comprobar modificaciones.

Deshaciendo cambios que han sido confirmados


Revertir slo deshar sus cambios locales. No deshace ningn cambio que ya haya sido
confirmado.

Revertir es lento
Cuando revierte los cambios puede que note que la operacin lleva bastante ms
tiempo del que sera de esperar. Esto es as porque la versin modificada del fichero
se manda a la papelera de reciclaje, para que pueda recuperar sus cambios si ha
revertido por error. Sin embargo, si su papelera de reciclaje est llena, Windows
necesita bastante tiempo para encontrar dnde poner el fichero. La solucin es
simple: o bien vaca la papelera de reciclaje, o bien desactiva la casilla Utilizar la
papelera de reciclaje al revertir en la configuracin de TortoiseSVN.

Limpieza
Si un comando de Subversion no puede completarse de forma correcta, quizs por problemas en el
servidor, su copia de trabajo puede quedarse en un estado inconsistente. En ese caso deber utilizar
TortoiseSVN Limpiar en la carpeta. Es una buena idea hacerlo en la rama superior de la copia de
trabajo.
El comando Limpiar tiene otro efecto secundario muy til. Si ha cambiado la fecha de un fichero
pero no su contenido, Subversion no puede determinar si el fichero ha cambiado realmente excepto
haciendo una comparacin byte-a-byte con la copia prstina. Si tiene muchos ficheros en este
estado, comprobar su estado ser muy lento, lo que har que muchos dilogos ralenticen su
respuesta. Ejecutando el comando Limpiar en su copia de trabajo reparar esas fechas rotas y
restaurar las comprobaciones de estado a la mxima velocidad.

Utilizar fechas de confirmacin


Algunas versiones anteriores de Subversion estaban afectadas con un error que
causaba errores en la fecha cuando obtena con la opcin Utilizar fechas de
confirmacin activada. Utilice el comando Limpieza para acelerar esas copias de
trabajo.

Configuracin del proyecto

Figura 29: Pgina de propiedades del Explorador,


pestaa Subversion
A veces desea obtener informacin ms detallada sobre un fichero o directorio que la que
proporcionan los iconos sobreimpresionados. Puede obtener toda la informacin que Subversion
proporciona en el dilogo de propiedades del explorador. Simplemente seleccione el fichero o
directorio y seleccione Men de Windows Propiedades en el men contextual (atencin: sta es
la entrada normal del men de propiedades que el explorador proporciona, no la que est en el
submen de TortoiseSVN!). En el cuadro de dilogo de propiedades, TortoiseSVN ha aadido una
nueva pgina de propiedades para los ficheros y carpetas bajo control de Subversion, donde puede
ver toda la informacin relevante sobre el fichero/directorio seleccionado.

Propiedades de Subversion

Puede leer y establecer las propiedades de Subversion desde el dilogo de propiedades de Windows,
pero tambin desde TortoiseSVN Propiedades y dentro de las listas de estado de TortoiseSVN,
desde Men contextual Propiedades.
Puede aadir sus propias propiedades, o algunas propiedades con un significado especial en
Subversion. stas empiezan con svn:. svn:externals es una de esas propiedades; vea cmo
manejar externos en tems externos.
svn:keywords
Subversion soporta expansin de palabras clave similar a CVS, lo que puede utilizarse para
introducir el nombre del fichero y la informacin de la revisin dentro del propio fichero. Las
palabras clave actualmente soportadas son:
$Date$
Fecha de la ltima confirmacin conocida. Esto se basa en la informacin obtenida cuando
actualiza su copia de trabajo. No se contacta con el repositorio para buscar cambios ms
recientes.
$Revision$
Revisin de la ltima confirmacin conocida.
$Author$
Autor que hizo la ltima confirmacin conocida.
$HeadURL$
La URL completa de este fichero en el repositorio.
$Id$
Una combinacin comprimida de las cuatro palabras clave anteriores.

Para averiguar cmo utilizar estas palabras clave, lea la seccin svn:keywords del Libro de
Subversion, que porporciona informacin completa sobre estas palabras clave y cmo habilitarlas y
utilizarlas.

Aadiendo y editando propiedades

Figura 30: Aadiendo propiedades


Para aadir una nueva propiedad, primero pulse en Aadir.... Seleccione el nombre de la propiedad
deseado del cuadro desplegable, o escriba un nombre de su eleccin, y luego introduzca un valor en
la caja de texto que hay debajo. Para las propiedades que admiten mltiples valores, como una lista
de ignorados, stos se pueden introducir en mltiples lneas. Pulse en Aceptar para a
Si desea aplicar una propiedad a muchos tems a la vez, seleccione los ficheros/carpetas en el
explorador, y luego seleccione Men contextual propiedades
Si desea aplicar la propiedad a cada fichero y carpeta en la jerarqua debajo de la carpeta actual,
seleccione la casilla Recursivo.
Algunas propiedades, por ejemplo svn:needs-lock, pueden aplicarse nicamente a ficheros,
por lo que ese nombre de propiedad no aparece en la lista desplegable para las carpetas. An as
puede aplicar dicha propiedad recursivamente a todos los ficheros en una jerarqua, pero tendr que
escribir el nombre de la propiedad usted mismo.
Si desea editar una propiedad existente, primero seleccione dicha propiedad de la lista de
propiedades existentes, y luego pulse en Editar....
Si desea eliminar una propiedad existente, seleccione dicha propiedad de la lista de propiedades
existentes, y luego pulse en Eliminar.
La propiedad svn:externals se puede utilizar para traer otros proyectos del mismo repositorio
o de otro completamente distinto. Para ms informacin, lea tems externos.
Exportando e importando propiedades
A menudo se encontrar aplicando el mismo conjunto de propiedades muchas veces, por ejemplo
bugtraq:logregex. Para simplificar el proceso de copiar propiedades de un proyecto a otro,
puede utilizar la caracterstica Exportar/Importar.

Desde el fichero o carpeta en el que las propiedades ya estn establecidas, utilice TortoiseSVN
Propiedades, seleccione las propiedades que desea exportar y haga click en Exportar.... Se le
preguntar por un nombre de fichero donde se grabarn los nombres de las propiedades y sus
valores.
Desde la(s) carpeta(s) donde desea aplicar estas propiedades, utilice TortoiseSVN Propiedades y
haga click en Importar.... Se le preguntar por un nombre de fichero desde el que importar, por lo
que deber navegar al lugar donde almacen el fichero exportado anteriormente y seleccionarlo. Las
propiedades se aadirn a las carpetas de forma no recursiva.
Si desea aadir las carpetas a un rbol recursivamente, siga los pasos anteriores, y luego en el
dilogo de propiedades seleccione cada propiedad por turnos, haga click en Editar..., seleccione la
casilla Aplicar propiedad recursivamentey haga click en Aceptar.
El formato del fichero de importacin es binario y propietario de TortoiseSVN. Su nico propsito
es transferir las propiedades utilizando Importar y Exportar, por lo que no hay necesidad de editar
estos ficheros.
Propiedades binarias
TortoiseSVN puede manejar valores de propiedades binarios utilizando ficheros. Para leer un valor
de propiedad binario, utilice Grabar... para almacenarlo en un fichero. Para establecer un valor
binario, utilice un editor hexadecimal u otra herramienta adecuada para crear un fichero con el
contenido que necesite, y luego utilice Cargar... para leer ese fichero.
Aunque las propiedades binarias no se utilizan a menudo, pueden ser tiles en algunas aplicaciones.
Por ejemplo, si est almacenando ficheros grficos muy grandes, o si la aplicacin que se utiliza
para cargar el fichero es pesada, puede querer guardar una pequea imagen gua como una
propiedad para poder obtener una previsualizacin rpidamente.
Establecer propiedades automticamente
Puede configurar Subversion y TortoiseSVN para que establezca propiedades automticamente en
ficheros y carpetas cuando se aaden al repositorio. Hay dos formas de hacerlo.
Puede editar el fichero de configuracin de Subversion para habilitar esta caracterstica en su
cliente. La pgina General del dilogo de configuracin de TortoiseSVN tiene un botn de edicin
para llevarle all directamente. El fichero de configuracin es un fichero de texto simple que
controla algunas de las funciones de Subversion. Necesita cambiar dos cosas: primero, en la seccin
encabezada por miscellany, descomente la lnea enable-auto-props = yes. En segundo
lugar, necesita editar la seccin a continuacin para definir qu propiedades quiere que se aadan a
qu tipos de ficheros. Este mtodo es una funcin estndar de Subversion y funciona con cualquier
cliente de Subversion. Sin embargo, debe definirse en cada cliente de forma individual - no hay
forma de propagar estas configuraciones desde el repositorio.
Un mtodo alternativo es establecer la propiedad tsvn:autoprops en las carpetas, como se
describe en la siguiente seccin. Este mtodo funciona slo con los clientes TortoiseSVN, pero se
propaga a todas las copias de trabajo al actualizarlas.
Sea cual sea el mtodo que elija, debe tener en cuenta que las auto-props se aplican slo a los
ficheros en el momento en que se aaden al repositorio. Las auto-props nunca cambiarn las
propiedades de ficheros que ya estn versionados.
Si desea estar totalmente seguro de que a los nuevos ficheros se les aplica las propiedades correctas,
debera establecer un script gancho pre-confirmacin para rechazar las confirmaciones cuando estas
propiedades necesarias no estn establecidas.

Propiedades de projecto TortoiseSVN


TortoiseSVN tiene unas pocas propiedades especiales para s mismo, y estas empiezan con tsvn:.
tsvn:logminsize establece la longitud mnima de un mensaje de registro para una
confirmacin. Si introduce un mensaje ms corto de lo especificado aqu, la confirmacin se
deshabilita. Esta caracterstica es muy til para que se acuerde de proporcionar un mensaje
descriptivo apropiado para cada confirmacin. Si esta propiedad no se establece, o el valor
es cero, se permiten mensajes de registro vacos.
tsvn:lockmsgminsize establece la longitud mnima para un mensaje de bloqueo. Si
introduce un mensaje ms corto de lo especificado aqu, el bloqueo se deshabilita. Esta
caracterstica es muy til para que se acuerde de proporcionar un mensaje descriptivo
apropiado para cada blqoueo que obtenga. Si esta propiedad no se establece, o el valor es
cero, se permiten mensajes de bloqueo vacos.
tsvn:logwidthmarker se utiliza con proyectos que necesitan que los mensajes de
registro se formateen con algn ancho mximo (tpicamente, 80 caracteres) antes de un salto
de lnea. Al establecer esta propiedad a un valor distinto de cero ocurren dos cosas en el
dilogo de entrada de mensajes de registro: pone un marcador para indicar el ancho mximo,
y deshabilita el ajuste de lnea en la pantalla, para que pueda ver si el texto que ha
introducido es muy largo. Tenga en cuenta que esta caracterstica slo funcionar
correctamente si ha seleccionado una fuente de ancho fijo para los mensajes de registro.
tsvn:logtemplate se utiliza en proyectos que tienen reglas sobre el formateo de
mensajes. Esta propiedad alberga una cadena de texto de mltiples lneas que se insertar en
el cuadro del mensaje de confirmacin cuando inice una confirmacin. Puede editarlo para
incluir la informacin necesaria. Tenga en cuenta que si estaba utilizando tambin
tsvn:logminsize, debe asegurarse de establecer una longitud mayor que la de la
plantilla o perder el mecanismo de proteccin.
Subversion le permite establecer autoprops (autopropiedades), que sern aplicadas a los
ficheros recin aadidos o importados, basndose en la extensin del fichero. Esto necesita
que todos los clientes hayan establecido las autoprops adecuadas en el fichero de
configuracin de Subversion. tsvn:autoprops puede establecerse en carpetas y stas se
fusionarn con las autoprops locales del usuario cuando se importen o aadan ficheros. El
formato es el mismo que para las autopropiedades de Subversion, por ejemplo *.sh =
svn:eol-style=native;svn:executable establece dos propiedades en los
ficheros con extensin .sh.
Si hay un conflicto entre las autoprops locales y tsvn:autoprops, la configuracin del
proyecto tiene preferencia ya que son especficas para ese proyecto.
En el dilogo de Confirmar tiene la opcin de pegar la lista de ficheros cambiados,
incluyendo el estado de cada fichero (aadido, modificado, etc).
tsvn:logfilelistenglish define si el estado del fichero se inserta en ingls o en el
idioma traducido. Si la propiedad no se establece, el valor por defecto es true.
TortoiseSVN puede utilizar los mdulos de corrector ortogrfico que se utilizan tambin
por OpenOffice y Mozilla. Si tiene stos instalados, esta propiedad determinar qu
corrector ortogrfico utilizar, es decir, en qu lenguaje deberan estar escritos los mensajes
de registro para su proyecto. tsvn:projectlanguage establece el mdulo de idioma
que el motor del corrector ortogrfico debera utilizar cuando introduzca un mensaje de
registro. Puede encontrar los valores para su idioma en esta pgina: MSDN: Language
Identifiers.
Puede introducir este valor en decimal, o en hexadecimal si se precede por 0x. Por ejemplo,
Espaol (Espaa, ordenacin tradicional) puede introducirse como 0x040a or 1034.

La propiedad tsvn:logsummary se utiliza para extraer una porcin del mensaje de


registro que luego se muestra en el dilogo de registro como el sumario del mensaje de
registro.
El valor de la propiedad tsvn:logsummary debe establecerse a una cadena de texto
regex de una lnea que contenga un grupo regex. Lo que satisfaga ese grupo se utilizar
como sumario.
Por ejemplo: \[SUMARIO\]:\s+(.*) capturar todo lo que haya tras [SUMARIO] en
el mensaje de registro y lo utillizar como sumario.
Cuando quiera aadir una nueva propiedad, puede o bien elegir una desde la lista en el
cuadro desplegable, o puede introducir el nombre de propiedad que desee. Si su proyecto
utiliza algunas propiedades personalizadas, y quiere que esas propiedades aparezcan en la
lista del cuadro desplegable (para evitar errores ortogrficos cuando introduzca un nombre
de propiedad), puede crear una llista de sus propias propiedades personalizadas utilizando
tsvn:userfileproperties y tsvn:userdirproperties. Aplique estas
propiedades a una carpeta. Cuando vaya a editar las propiedades de cualquier tem hijo, sus
propiedades personalizadas aparecern en la lista de nombres de propiedades predefinidas.
Algunas propiedades tsvn: necesitan un valor true/false (verdadero/falso). TortoiseSVN
tambin entiende yes (s) como un sinnimo de true y no como un sinnimo de false.

Establecer las propiedades de proyecto en carpetas


Estas propiedades especiales del proyecto deben estar establecidas en carpetas para
que el sistema funcione. Cuando confirma un fichero o una carpeta, se leen las
propiedades de esa carpeta. Si no se encuentran all las propiedades, TortoiseSVN las
buscar hacia arriba en el rbol de carpetas para encontrarlas, hasta que llega a una
carpeta sin versionar, o se encuentra la raz del rbol (por ejemplo, C:\). Si puede
estar seguro de que cada usuario obtiene slo desde por ejemplo trunk/ y no desde
alguna subcarpeta, entonces es suficiente establecer las propiedades en trunk/. Si
no puede estar seguro, debera establecer las propiedades recursivamente en cada
subcarpeta. Una propiedad establecida en una carpeta ms profunda dentro de la
jerarqua del proyecto tiene preferencia sobre las propiedades establecidas en niveles
ms altos (ms cerca de trunk/).
Para las propiedades de proyecto slo puede utilizar la casilla Recursivo para
establecer la propiedad en todas las subcarpetas de la jerarqua, sin establecerla en
todos los ficheros.
Cuando aada nuevas subcarpetas utilizando TortoiseSVN, cualquier propiedad de proyecto
presente en la carpeta padre se aadir tambin automticamente a la nueva carpeta hija.

Atencin
Aunque las propiedades de proyecto de TortoiseSVN son extremadamente tiles, slo funcionan
con TortoiseSVN, y algunas slo funcionarn en las versiones ms recientes de TortoiseSVN. Si la
gente que trabaja en su proyecto utiliza un nmero de clientes de Subversion diferentes, o es posible
que tengan versiones antiguas de TortoiseSVN, puede que quiera utilizar ganchos de repositorio
para forzar polticas de proyectos. Las propiedades de proyecto slo ayudan a implementar una
poltica, no pueden forzarlas.

Haciendo ramas / etiquetas


Una de las caractersticas de los sistemas de control de versiones es la posibilidad de aislar cambios

en una lnea separada de desarrollo. Esto se conoce como una rama. Las ramas se utilizan a menudo
para probar nuevas caractersticas sin molestar la lnea principal del desarrollo con errores de
compilacin y errores. Tan pronto como la nueva caracterstica es lo suficiente estable, la rama de
desarrollo se fusiona de nuevo en la rama principal (trunk, troncal/tronco).
Otra caracterstica de los sistemas de control de versiones es la posibilidad de marcar revisiones
particulares (por ejemplo, una versin lanzada a produccin), para que pueda en cualquier momento
recrear un cierto entorno o compilacin. Este proceso se conoce como etiquetar.
Subversion no tiene comandos especiales para hacer ramas o etiquetas, pero en cambio utiliza lo
que se denomina copias baratas. Las copias baratas son similares a los vnculos duros de Unix,
que significa que en vez de hacer una copia completa en el repositorio, se crea un vnculo interno,
apuntando a una revisin y rbol especficos. Como resultado, las ramas y las etiquetas son muy
rpidas de crear, y casi no conllevan espacio extra en el repositorio.

Crando una rama o etiqueta


Si ha importado su proyecto con la estructura de directorios recomendados, crear una rama o una
etiqueta es muy simple:

Figura 31: El dilogo Rama/Etiqueta


Seleccione la carpeta en su copia de trabajo de la que desea hacer una rama o una etiqueta, y luego
seleccione el comando TortoiseSVN Rama/Etiqueta....
La URL de destino por defecto para la nueva rama ser la URL de origen en la que se basa su copia
de trabajo. Necesitar editar esa URL con la nueva ruta para su rama/etiqueta. As que en vez de
http://svn.collab.net/repos/NombreDelProyecto/trunk

querr ahora usar algo como


http://svn.collab.net/repos/NombreDelProyecto/tags/Version_1.10

Si no puede recordar la convencin de nombres que us la ltima vez, pulse el botn a la derecha
para abrir el navegador de repositorios, para que pueda ver la estructura actual del repositorio.
Ahora debe elegir el origen de la copia. Aqu tiene tres opciones:
Revisin HEAD en el repositorio
La nueva rama se copia directamente en el repositorio desde la revisin HEAD. No se
necesita transferir datos desde su copia de trabajo, y la rama se crea muy rpidamente.
Revisin especfica en el repositorio
La nueva rama se copia directamente en el repositorio, pero puede elegir una versin anterior.
Esto es til si se olvid de crear una etiqueta cuando lanz una versin de su proyecto la
semana pasada. Si no puede acordarse del nmero de revisin, pulse el botn a la derecha
para mostrar el registro de revisiones, y seleccione el nmero de revisin desde all. De nuevo
no se transfiere datos desde su copia de trabajo, y la rama se crea muy rpidamente.
Copia de trabajo
La nueva rama es una copia idntica de su copia de trabajo local. Si ha cambiado algunos
ficheros a una revisin anterior en su copia de trabajo, o si ha hecho cambios locales, esto es
exactamente lo que ir a la copia. Naturalmente, esta clase de etiquetado complejo conlleva
transferir datos desde su copia de trabajo al repositorio si no existe ya all.
Si desea que su copia de trabajo se cambie automticamente a la rama recin creada, utilice la
casilla Cambiar la copia de trabajo a la nueva rama/etiqueta. Pero si lo hace, asegrese primero de
que su copia de trabajo no contenga modificaciones. Si las tiene, esos cambios se mezclarn en la
copia de trabajo de la rama cuando se haga el cambio.
Pulse Aceptar para confirmar la nueva copia al repositorio. No se olvide de proporcionar un
mensaje de registro. Tenga en cuenta que la copia se crea dentro del repositorio.
Tenga en cuenta que, salvo que haya optado por cambiar su copia de trabajo a la rama recin
creada, crear una etiqueta o una rama no afecta a su copia de trabajo. Incluso si cre la rama desde
su copia de trabajo, estos cambios se confirmarn en la rama nueva, no en el tronco, as que su
copia de trabajo todava se marcar como modificada respecto al tronco.

Obtener o cambiar...
...esa (realmente no) es la cuestin. Mientras que obtener descarga todo de la rama elegida a su
directorio de trabajo, TortoiseSVN Cambiar... slo transfiere los datos cambiados a su copia de
trabajo. Bueno para la carga de la red, bueno para su paciencia. :-)
Para poder trabajar con su rama o etiqueta recin generada tiene varias opciones. Puede:
TortoiseSVN Obtener para obtener una copia nueva en una carpeta vaca. Puede obtener
la copia de trabajo en cualquier parte de su disco duro, y puede crear tantas copias de trabajo
de su repositorio como desee.
Cambiar su copia de trabajo actual a la copia recin creada en el repositorio. De nuevo
seleccione la carpeta superior de su proyecto y utilice TortoiseSVN Cambiar... del men
contextual.
En el siguiente dilogo, introduzca la URL de la rama que acaba de crear. Deje la opcin
Revisin HEAD activada y pulse Aceptar. Su copia de trabajo se cambia a la nueva
rama/etiqueta.

Cambiar trabaja igual que Actualizar, en el sentido de que nunca pierde sus cambios locales.
Cualquier cambio que haya hecho a su copia de trabajo que todava no se hayan confirmado
se fusionarn cuando haga el Cambio. Si no desea que esto ocurra, entonces debe o bien
confirmar los cambios antes de cambiar, o revertir su copia de trabajo a una revisin yaconfirmada (tpicamente HEAD).
Si desea trabajar en el tronco (trunk) y en la rama, pero no desea el coste de una obtencin
nueva, puede utilizar el Explorador de Windows para hacer una copia de la copia de trabajo
obtenida, y luego TortoiseSVN Cambiar... esa copia a su nueva rama.

Figura 32: El dilogo Cambiar


Aunque Subversion por s mismo no hace ninguna distincin entre etiquetas y ramas, la forma en la
que normalmente se usan difiere un poco.
Las etiquetas se usan tpicamente para crear una copia esttica de un proyecto en una
etapa concreta. Como tales normalmente no se utilizan para el desarrollo - eso es para lo
que se utilizan las ramas, y por esa razn recomendamos la estructura del repositorio
/trunk
/branches /tags en primer lugar. Trabajando en una revisin etiquetada no es una
buena idea, pero dado que sus ficheros locales no estn protegidos, no hay nada que le
impida hacer esto por error. Sin embargo, si intenta confirmar a una ruta en el repositorio
que contenga /tags/ (en ingls), TortoiseSVN le avisar.
Puede ser que necesite hacer ms cambios a una versin que ya haba etiquetado. La
forma correcta de manejar esta situacin es crear primero una nueva rama desde la
etiqueta. Haga sus cambios en esta rama, y luego cree una nueva etiqueta para esta rama,
por ejemplo Version_1.0.1.
Si modifica una copia de trabajo creada desde una rama y confirma, entonces los cambios
irn a la nueva rama y no en el tronco. Slo se guardan las modificaciones. El resto contina
siendo una copia barata.

Fusionando
Mientras que las ramas se utilizan para mantener lneas de desarrollo separadas, en alguna etapa
tendr que fusionar los cambios hechos en una rama de vuelta en el tronco, o viceversa.
Es importante entender cmo funcionan las ramas y la fusin en Subversion antes de empezar a
utilizarlos, porque puede convertirse en algo bastante complejo. Le recomendamos encarecidamente
que lea el captulo Creando ramas y fusionando en el Libro de Subversion, que le proporcionar
una descripcin completa, y muchos ejemplos de cmo se utiliza.
El siguiente punto a tener en cuenta es que la fusin siempre tiene lugar en una copia de trabajo. Si
quiere fusionar cambios en una rama, deber tener una copia de trabajo obtenida de dicha rama, e

invocar el asistente de fusionado desde esa copia de trabajo utilizando TortoiseSVN Fusionar....
En general es una buena idea realizar fusiones en una copia de trabajo sin modificar. Si ha hecho
otros cambios en su copia de trabajo, confrmelos primero. Si la fusin no funciona como espera,
puede querer revertir los cambios, y el comando Revertir descartar todos los cambios, incluidos
cualquiera que haya hecho antes de la fusin.
Hay tres casos de uso comunes para fusionar que se manejan de formas ligeramente diferentes,
como se describen a continuacin. La primera pgina del asistente de fusin le pide seleccionar el
mtodo que necesita.
Fusionando un rango de revisiones.
Este mtodo cubre el caso en el que ha hecho una o ms revisiones a una rama (o al tronco) y
desea portar estos cambios a una rama diferente.
Lo que le est pidiendo a Subversion que haga es: Calcula los cambios necesarios para ir
[DESDE] la revisin 1 de la rama A [HASTA] la revisin 7 de la rama A, y aplica esos
cambios en mi copia de trabajo (del tronco o de la rama B).
Reintegrando una rama.
Este mtodo cubre el caso cuando ha realizado una rama de funcionalidad como se discute en
el libro de Subversion. Todos los cambios del tronco han sido portados a la rama de la
funcionalidad, semana a semana, y ahora que la funcionalidad est completa desea fusionarla
de nuevo en el tronco. Dado que ha mantenido la rama de la funcionalidad sincronizada con el
tronco, las ltimas versiones de la rama y del tronco sern absolutamente iguales excepto por
sus cambios en la rama.
Este es un caso especial de la fusin de rboles describa ms abajo, y necesita slo la URL
desde la que fusionar (normalmente) su rama de desarrollo. Utiliza las caractersticas de
registro de fusiones de Subversion para calcular el rango de revisiones correcto que se debe
utilizar, y realiza comprobaciones adicionales para asegurarse de que la rama ha sido
completamente actualizada con los cambios del tronco. Esto le asegura que no va a deshacer
accidentalmente el trabajo que otros han confirmado en el tronco desde sus ltimos cambios
sincronizados.
Tras la fusin, todo el desarrollo en las ramas ha sido completamente fusionado de vuelta a la
lnea principal. La rama ahora es redundante y puede eliminarse.
Una vez que haya realizado una fusin de reintegracin no debera continuar usndola para
desarrollo. La razn para esto es que si intenta resincronizar su rama existente desde el tronco
ms adelante, el registro de fusin ver su reintegracin como un cambio del tronco que an
no ha sido fusionado en la rama, e intentar fusionar la fusin rama-a-tronco de nuevo en la
rama! La solucin a esto es simplenete crear una nueva rama desde el tronco para continuar
con la siguiente fase de su desarrollo.
Fusionando dos rboles diferentes.
Este es un caso ms general del mtodo de reintegracin. Lo que le est pidiendo a
Subversion que haga es: Calcula los cambios necesarios para ir [DESDE] la revisin HEAD
del tronco [HASTA] la revisin HEAD de la rama, y aplica esos cambios a mi copia de
trabajo (del tronco). El resultado neto es que el tronco ahora es exactamente igual a la rama.

Si su servidor/repositorio no soporta el registro de fusiones, entonces esta es la nica forma de


fusionar una rama de nuevo al tronco (trunk). Otro caso de uso ocurre cuando utiliza ramas de
vendedor y necesita fusionar los cambios despus de incorporar una nueva versin de ese
cdigo en el tronco.

Fusionando un rango de revisiones

Figura 33: El asistente de fusionado - Seleccionar el rango


de revisiones
En el campo Desde: introduzca la URL completa de la carpeta de la rama o la etiqueta que contiene
los cambios que desea portar a su copia de trabajo. Tambin puede pulsar ... para navegar el
repositorio y encontrar la rama deseada. Si ha fusionado desde esta rama antes, entonces utilice la
lista desplegable que le muestra una historia de las URLs utilizadas anteriormente.
En el campo Rango de revisiones a fusionar introduzca la lista de revisiones que desea fusionar.
Puede ser una nica revisin, una lista de revisiones especficas separadas por comas, un rango de
revisiones separado por un guin, o cualquier combinacin de stas.

Importante
Hay una diferencia importante en la forma que se especifican los rangos de
revisiones en TortoiseSVN comparado con el cliente de lnea de comandos. La
forma ms fcil de visualizar esto es pensar en una valla con postes y paneles.
Con el cliente de lnea de comandos se especifican los cambios a fusionar utilizando
dos revisiones postes que especifican los puntos anterior y posterior.
Con TortoiseSVN se especifican los conjuntos de cambios a fusionar utilizando
paneles de vallas. La razn para esto queda ms clara cuando utiliza el dilogo de
registro para seleccionar las revisiones a fusionar, donde cada revisin aparece como
un conjunto de cambios.
Si est fusionando revisiones en bloques, el mtodo mostrado en el Libro de

Subversion le har fusionar 100-200 esta vez y 200-300 la prxima. Con


TortoiseSVN fusionar 100-200 esta vez y 201-300 la prxima.
Esta diferencia ha generado un montn de reacciones en las listas de trabajo. Nos
damos cuenta de que es una diferencia respecto al cliente de lnea de comandos, pero
creemos que para la mayora de usuarios GUI el mtodo que hemos implementado es
ms fcil de entender.
La manera ms sencilla de seleccionar el rango de revisiones que necesita es pulsar en Mostrar
Registro, dado que esto mostrar los cambios recientes con sus comentarios de registro. Si desea
fusionar los cambios de una nica revisin, seleccione esa revisin. Si desea fusionar los cambios
de varias revisiones, entonces seleccione ese rango (utilizando el modificador habitual
Maysculas). Pulse Aceptar y la lista de nmeros de revisin a fusionar se rellenar
automticamente.
Si desea fusionar los cambios de nuevo fuera de su copia de trabajo, para revertir un cambio que ya
ha sido confirmado, seleccoine las revisiones a revertir y asegrese de que la casilla Fusin inversa
est marcada.
Si ya ha fusionado algunos cambios desde esta rama, esperemos que haya apuntado la ltima
revisin fusionada en el mensaje de registro cuando confirm ese cambio. En ese caso, puede
utilizar Mostrar Registro en la Copia de Trabajo para buscar ese mensaje de registro. Recordando
que estamos pensando en las revisiones como conjuntos de cambios, debera utilizar la revisin
siguiente al punto final de la ltima fusin como punto de inicio para esta fusin. Por ejemplo, si la
ltima vez fusion las revisiones de la 37 a la 39, entonces el punto de inicio de esta fusin sera la
revisin 40.
Si est utilizando las caractersticas de registro de fusiones de Subversion, no necesita recordar qu
revisiones ya han sido fusionadas - Subversion lo apuntar por usted. Si deja el rango de revisiones
en blanco, se incluirn todas las revisiones que no hayan sido an fusionadas.

Si hay otras personas que puedan estar confirmando cambios, entonces tenga cuidado al
utilizar la revisin HEAD. Puede que no se refiera a la revisin que usted cree si alguien
ms ha hecho una confirmacin despus de su ltima actualizacin.
Haga click en Siguiente y vaya a Opciones de fusin

Reintegrando una rama.

Figura 34: El asistente de fusin - Fusionar reintegracin


Para fusionar una rama de la caracterstica en el tronco necesita iniciar el asistente de fusin desde
una copia de trabajo del tronco.
En el campo Desde la URL: introduzca la URL completa de la carpeta que quiere fusionar.
Tambin puede pulsar ... para navegar el repositorio.
Hay algunas condiciones que se aplican a la fusin de reintegracin. En primer lugar, el servidor
debe soportar el registro de fusiones. La copia de trabajo debe ser de profundidad infinita (sin
obtenciones parciales), y no debe tener ninguna modificacin local, tems apuntando a otra ruta o
tems que hayan sido actualizados a otras revisiones distintas de HEAD. Todos los cambios del
tronco hechos durante el desarrollo de la rama deben haberse fusionado en la rama (o marcados
como que ya han sido fusionados). El rago de revisiones para la fusin se calcular
automticamente.

Fusionando dos rboles diferentes

Figura 35: El asistente de fusin - Fusin de rboles


Si est utilizando este mtodo para fusioanr una rama de caracterstica de nuevo en el tronco,
necesitar iniciar el asistente de fusin desde una copia de trabajo del tronco.
En el campo Desde: introduzca la URL completa del tronco (trunk). Esto puede sonar errneo, pero
recuerde que el tronco es el punto de inicio al que desea aadir los cambios de la rama. Tambin
puede pulsar ... para navegar el repositorio.
En el campo A: introduzca la URL completa de la rama de la caracterstica.
En los dos campos Desde la Revisin y Hasta la Revisin, introduzca el ltimo nmero de revisin
en el que se sincronizaron los dos rboles. Si est seguro de que nadie ms est haciendo
confirmaciones puede utilizar HEAD en ambos casos. Si hay alguna posibilidad de que alguien
haya hecho una confirmacin desde esa sincronizacin, utilice el nmero de revisin especfico para
evitar perder cambios ms recientes.
Tambin puede usar Mostrar registro para seleccionar la revisin.

Opciones de fusin
Esta pgina del asistente le permite especificar opciones avanzadas antes de empezar el proceso de
fusin. La mayora de las veces puede simplemente utilizar las opciones por defecto.
Puede especificar la profundidad de la fusin, es decir, cuntos niveles debe bajar la fusin en su
copia de trabajo. Los trminos de profundidad se describen en Profundidad de obtencin. La
profundidad por defecto es Copia de trabajo, que utiliza la configuracin de profundidad existente,
y que casi siempre es lo que quiere hacer.
La mayora del tiempo desear que la fusin tenga en cuenta el historial de un fichero, para que se
fusionen los cambios relativos a un ancestro en comn. A veces puede necesitar fusionar ficheros
que quizs estn relacionados, pero no en su repositorio. Por ejemplo, puede haber importado las
versiones 1 y 2 de una biblioteca de terceros en dos directorios separados. Aunque estn

relacionados de forma lgica, Subversion no tiene conocimiento de ello porque slo ve los ficheros
que ha importado. Si intenta fusionar las diferencias entre estos dos ficheros vera un borrado
completo seguido de un adicin completa. Para hacer que Subversion utilice nicamente las
diferencias basadas-en-ruta en vez de diferencias basadas-en-historial, seleccione la casilla Ignorar
ancestros. Puede leer ms sobre este tema en el libro de Subversion; Teniendo en cuenta o
ignorando los ancestros
Puede especificar la forma en la que se manejan los cambios en los finales de lnea y en los espacios
en blanco. Estas opciones se describen en Opciones de fn de lnea y espacios en blanco. El
comportamiento por defecto es tratar todos los espacios en blanco y las diferencias en los finales de
lneas como cambios reales que deben fusionarse.
Si est utilizando el registro de fusiones y desea marcar una revisin como que ya se ha fusionado,
sin hacer realmente efectiva la fusin aqu, marque la casilla Slo registrar la fusin. Hay dos
posibles razones por las que puede querer hacer esto. Puede ser que la fusin es demasiado
complicada para los algoritmos de fusin, por lo que hace los cambios en el cdigo a mano, y luego
marca el cambio como fusionado para que el algoritmo de registro de fusin se de por enterado. O
quizs quiera evitar que una revisin en concreto se fusione. Marcndola como ya fusionada evitar
que la fusin se produzca con los clientes manejan la informacin de registro de fusin.
Ahora que todo est preparado, todo lo que debe hacer es pulsar en el botn Fusionar. Si quiere
previsualizar los resultados, el botn Probar fusin realiza la operacin de la fusin, pero no
modifica la copia de trabajo en absoluto. Le muestra una lista de ficheros que sern cambiados por
la fusin real, y le notifica las reas donde ocurrirn conflictos.
El dilogo de progreso de fusin muestra cada etapa de la fusin, con los rangos de revisiones
involucrados. Esto puede indicar un nmero de revisin ms del que esperaba. Por ejemplo, si pidi
fusionar la revisin 123, el dilogo de progreso mostrar Fusionando de r122 a r123. Para
entenderlo debe recordar que Fusionar est ntimamente relacionado con Diferenciar. El proceso de
fusin funciona generando una lista de diferencias entre dos puntos del repositorio, y
posteriormente aplicando esas diferencias a su copia de trabajo. El dilogo de progreso est
simplemente mostrando los puntos de inicio y fin de la diferenciacin.

Revisando los resultados de la fusin


La fusin ya ha concludo. Es una buena idea observar la fusin y comprobar si el resultado es el
esperado. Normalmente fusionar es un proceso complicado. A menudo aparecen conflictos cuando
la rama se ha desviado mucho del tronco.
Los clientes y servidores de Subversion anteriores a la versin 1.5 no almacenan la informacin de
fusin, y las revisiones fusionadas deben ser registradas de forma manual. Cuando haya
comprobado los cambios y vaya a confirmar esta revisin, su mensaje de registro de confirmacin
debera incluir siempre los nmeros de revisin que han sido portados en la fusin. Si desea aplicar
otra fusin ms tarde, necesitar saber lo que ya ha fusionado, porque no querr portar un cambio
ms de una vez. Puede encontrar ms informacin sobre esto en Las mejores prcticas para fusionar
en el libro de Subversion.
Si su servidor y todos los clientes estn ejecutando Subverison 1.5 o superior, las facilidades de
registro de fusiones apuntarn las revisiones fusionadas y evitarn que una revisin se fusione ms
de una vez. Esto le facilita mucho la vida ya que puede simplemente fusionar el rango entero de
revisiones cada vez y saber qu slo las nuevas revisiones sern realmente fusionadas.
El manejo de las ramas es importante. Si desea mantener esta rama actualizada respecto al tronco,
debera asegurarse de fusionar a menudo para que la rama y el tronco no se alejen mucho. Por
supuesto, sigue debiendo evitar fusiones repetidas de cambios, como se explic anteriormente.

Sugerencia
Si acaba de fusionar una rama de caracterstica en el tronco, el tronco contiene ahora todo el cdigo
de la nueva caracterstica, y la rama es obsoleta. Si lo necesita, puede borrar la rama del repositorio.

Importante
Subversion no puede fusionar un fichero con una carpeta, y viceversa - slo carpetas con carpetas y
ficheros con ficheros. Si pulsa en un fichero y abre el dilogo de fusionar, entonces deber darle una
ruta a un fichero en ese dilogo. Si selecciona una carpeta y llama al dilogo, debe especificar una
URL de una carpeta para la fusin.

Registro de fusin
Subversion 1.5 introdujo facilidades para el registro de fusiones.. Cuando fusiona cambios de un
rbol en otro, los nmeros de revisin fusionados se almacenan, y esta informacin se puede utilizar
para diferentes propsitos.
Puede evitar el peligro de fusionar la misma revisin dos veces (problema de fusiones
repetidas). Una vez que una revisin se ha marcado como que ha sido fusionada, las fusiones
futuras que incluyan esa revisin en el rango la saltarn.
Cuando fusiona una rama de nuevo al tronco, el dilogo de registro le puede mostrar las
confirmaciones de la rama como parte del registro del tronco, proporcionando una mejor
trazabilidad de los cambios.
Cuando se meustra el dilogo de registro desde el dilogo de fusin, las revisiones
ya fusionadas aparecen en gris.
Cuando muestre informacin de autora para un fichero, puede elegir mostrar el
autor original de la revisin fusionada, en vez de la persona que hizo la fusin.
Puede marcar revisiones como no fusionar si las incluye en la lista de revisiones
fusionadas sin ejecutar relamente la fusin.
La informacin de registro de fusiones se almacena en la propiedad svn:mergeinfo por parte
del cliente cuando realiza la fusin. Cuando la fusin se confirma, el servidor almacena dicha
informacin en una base de datos, y cuando le pide informacin de la fusin, registro o autora, el
servidor puede responer apropiadamente. Para que el sistema funcione correctamente debe
asegurarse de que el servidor y todos los clientes estn actualizados. Los clientes antiguos no
almacenarn la propiedad svn:mergeinfo y los servidores anteriores no proporcionarn la
informacin que piden los nuevos clientes.

Manejando conflictos durante la fusin


Las fusiones no siempre van bien. A menudo ocurre algn conflicto, y si est fusionando mltiples
rangos, generalmente querr resolver el conflicto antes de que comience la fusin del siguiente
rango. TortoiseSVN le ayuda durante este proceso mostrndole el dilogo informacin de
conflicto de fusin.

Figura 36: El dilogo Informacin de conflicto de fusin


Cuando ocurre un conflicto durante la fusin, tiene tres formas de manejarlo.
1. Puede decidir que sus cambios locales son mucho ms importantes, por lo que querr
descartar la versin del repositorio y mantener su versin local. O puede querer descartar sus
cambios locales en favor de la versin del repositorio. De cualquier forma, no se intenta
fusionar los cambios - simplemente elige una u otra.
2. Normalmente querr ver los conflictos y resolverlos. En ese caso, seleccione Editar
conflicto, lo que iniciar su herramienta de fusionado. Cuando est satisfecho con el
resultado, pulse en Resuelto.
3. La ltima opcin es posponer la resolucin y continuar con el fusionado. Puede elegir
hacerlo para el fichero en conflicto actual, o para todos los ficheros durante el resto de la
fusin. Sin embargo, si hay ms cambios en ese fichero, no ser posible completar la fusin.
Si no desea utilizar esta llamada interactiva, hay una casilla en el dilogo de progreso de fusin
Fusin no-interactiva. Si esto se marca para una fusin y la fusin resulltara en un conflicto, el
fichero se marca como en conflicto y la fusin continua. Tendr que resolver los conflictos despus
de que se complete la fusin. Si no se marca, entonces tendr la oportunidad de resolver el conflicto
durante la fusin antes de que se marque como en conflicto. Esto tiene la ventaja de que si un
fichero tiene mltiplas fusiones (mltiples revisiones que aplican un cambio sobre ese fichero),
puede que las siguientes fusiones sean satisfactorias dependiendo de qu lneas se vean afectadas.
Pero por supuesto no puede irse a tomar caf mientras se ejecuta la fusin ;)

Fusionar una rama completada


Si desea fusionar todos los cambios desde una rama de caracterstica al tronco, entonces puede
utilizar el comando TortoiseSVN Fusionar reintegracin... desde el men contextual extendido
(mantenga pulsada la tecla Maysculas mientras hace click con el botn derecho en el fichero).

Figura 37: El dilogo Fusionar reintegracin


Este dilogo es muy sencillo. Todo lo que tiene que hacer el establecer las opciones para la fusin,
como se describe en Opciones de fusin. El resto se hace por TortoiseSVN automticamente
utilizando el registro de fusiones.

Mantenimiento de ramas de caractersticas


Cuando desarrolla una nueva caracterstica en una rama separada es una buena idea mantener una
poltica de re-integracin cuando la caracterstica est completa. Si se est modificando a la vez
trunk (el tronco), puede que encuentre que las diferencias se vuelven significativas segn pasa el
tiempo, y la fusin se convierte en una pesadilla.
Si la caracterstica es relativamente simple y el desarrollo no llevar mucho tiempo, puede adoptar
un camino ms simple, que es mantener la rama totalmente separada hasta que la caracterstica se
completa, y luego fusionar los cambios de la rama de nuevo en el tronco. En el asistente de fusin
esto sera un simple Fusionar un rango de revisiones, donde el rango de revisiones es la rango de
revisiones de la rama.
Si la caracterstica va a llevar ms tiempo y necesita tener en cuenta los cambios en trunk,
entonces necesita mantener las ramas sincronizadas. Esto simplemente significa que peridicamente
fusionar el tronco en la rama, para que la rama contenga todos los cambios de la rama adems de
la nueva caracterstica. El proceso de sincronizacin utiliza Fusionar un rango de revisiones.
Cuando la caracterstica est completa, podr fusionarla de nueva en trunk utilizando o bien
Reintegrar una rama o Fusionar dos rboles distintos.

Bloqueando
Subversion generalmente trabaja mejor sin bloqueos, utilizando los mtodos Copiar-ModificarFusionar que se describieron anteriormente en el La solucin copiar-modificar-fusionar. Sin
embargo, hay algunas pocas situaciones en las que puede querer implementar alguna forma de
poltica de bloqueo.
Est utilizando ficheros no fusionables, por ejemplo, ficheros de imagen. Si dos
personas cambian el mismo fichero, la fusin no es posible, as que alguno de ellos perder
sus cambios.
Su compaa ha utilizado en el pasado un sistema de control de versiones bloqueante, y
la direccin ha decidido que bloquear es lo mejor.
Primero necesita asegurarse de que su servidor de Subversion est actualizado al menos a la versin
1.2. Las versiones anteriores no tienen ningn soporte de bloqueos. Si est usando el acceso
file://, slo necesitar actualizar sus clientes, por supuesto.

Cmo trabaja el bloqueo en Subversion


Por defecto, nada se bloquea y todo el mundo que tiene acceso de confirmacin puede confirmar
cambios a cualquier fichero en cualquier momento. Los dems actualizarn sus copias de trabajo
peridicamente y los cambios en el repositorio se fusionarn con los cambios locales.
Si Obtiene un Bloqueo en un fichero, entonces slo usted puede confirmar ese fichero. Las
confirmaciones de los dems se bloquearn hasta que quite el bloqueo. Un fichero bloqueado no
puede ser modificado de ninguna forma en el repositorio, por lo que no puede ser siquiera borrado o
renombrado, excepto por el dueo del bloqueo.
Sin embargo, los dems usuarios no necesariamente saben que usted ha obtenido un bloqueo. A
menos que ellos comprueben el estado de bloqueo regularmente, la primera vez que sabrn sobre l
es cuando sus confirmaciones fallen, lo que muchas veces no es muy til. Para hacer ms fcil el
manejo de bloqueos, hay una nueva propiedad de Subversion svn:needs-lock. Cuando se
establece esta propiedad (a cualquier valor) en un fichero, siempre que el fichero se obtiene o
actualiza, la copia local se deja como slo-lectura a menos que la copia de trabajo tenga un bloqueo
para ese fichero. Esto acta como una advertencia de que no debera modificar el fichero a menos
que obtenga un bloqueo. Los ficheros que estn versionados y marcados como slo-lectura se
marcan con un icono de sobreimpresin especial en TortoiseSVN para indicar que necesita obtener
un bloqueo antes de editar.
Los bloqueos se graban con el lugar de la copia local y tambin con el propietario. Si tiene varias
copias de trabajo (en casa, en el trabajo) entonces slo puede obtener un bloqueo en una de esas
copias de trabajo.
Si uno de sus compaeros de trabajo obtiene un bloqueo y luego se va de vacaciones sin quitarlo,
qu hace? Subversion proporciona un mtodo para forcar bloqueos. Quitar un bloqueo que tiene
otra persona se define como Romper el bloqueo, y obtener forzosamente un bloqueo que tiene otro
se define como Robar el bloqueo. Naturlamente estas no son cosas que hacer a la ligera si desea
continuar siendo amigo de sus compaeros de trabajo.
Los bloqueos se guardan en el repositorio, y se crea un token de bloqueo en su copia local de
trabajo. Si hay una discrepancia, por ejemplo si alguien ha roto el bloqueo, el token local se
convierte en invlido. El repositorio siempre es la referencia definitiva.

Obteniendo un bloqueo
Seleccione el fichero o ficheros en su copia de trabajo para los que desee obtener un bloqueo, y
seleccione el comando TortoiseSVN Obtener Bloqueo....

Figura 38: El dilogo Bloquear


Aparece un dilogo, que le permite introducir un comentario, para que los dems vean por qu ha
bloqueado el fichero. El comentario es opcional, y de momento slo se utiliza con repositorios
basados en Svnserve. Si (y slo si) necesita robar el bloqueo de alguien, marque la casilla Robar
bloqueo, y luego pulse Aceptar.
Si selecciona una carpeta y luego utiliza TortoiseSVN Obtener Bloqueo... se abrir el dilogo de
bloquear con todos los ficheros en todas las subcarpetas seleccionados para bloquearlos. Si
realmente quiere bloquear una jerarqua completa, sta es la forma de conseguirlo, pero puede
ganarse la antipata de sus compaeros de trabajo si les bloquea todo el proyecto. Utilcelo con
cuidado...

Quitando un Bloqueo
Para asegurarse de que no se olvida de quitar un bloqueo que no necesita ms, los ficheros
bloqueados se muestran en el dilogo de confirmar y se seleccionan por defecto. Si contina con la
confirmacin, los bloqueos que tenga sobre los ficheros seleccionados se quitan, incluso si los
ficheros no se han modificado. Si no desea quitar el bloqueo en algunos ficheros, puede
desmarcarlos (si no estn modificados). Si desea mantener los bloqueos en un fichero que ha
modificado, tiene que habilitar la casilla Mantener bloqueos antes de confirmar sus cambios.
Para quitar un bloqueo manualmente, seleccione el fichero o ficheros de su copia de trabajo para los
que desee quitar el bloqueo, y luego seleccione el comando TortoiseSVN Quitar Bloqueo. No
hay nada ms que introducir por lo que TortoiseSVN contactar con el repositorio y quita los
bloqueos. Tambin puede utilizar este comando en una carpeta para quitar todos los bloqueos
recursivamente.

Comprobando el estado de los bloqueos

Figura 39: El dilogo Comprobar modificaciones


Para ver qu bloqueos tiene usted y los de los dems, puede utilizar el comando TortoiseSVN
Comprobar Modificaciones.... Los tokens de bloqueos que se tienen localmente se muestran
inmediatamente. Para comprobar los bloqueos que tienen los dems (y para ver si alguno de sus
bloqueos se han roto o han sido robados) necesita pulsar Comprobar Repositorio.
Desde el men contextual aqu, tambin puede obtener y quitar bloqueos, adems de romper y robar
bloqueos que tienen otros.

Evite romper y robar bloqueos


Si ha roto o robado el bloqueo de otro sin decrselo, puede causar una prdida
potencial de trabajo. Si est trabajando con tipos de ficheros no fusionables y roba el
bloqueo de otro, una vez que usted quite el bloqueo ellos son libres de confirmar sus
cambios y sobreescribir los suyos. Subversion no pierde datos, pero ha perdido la
proteccin para trabajo en equipo que el bloqueo le proporcionaba.

Haciendo ficheros no-bloqueados como slo-lectura


Como se menciona arriba, la manera ms efectiva de utilizar los bloqueos es establecer la propiedad
svn:needs-lock en los ficheros. Consulte Configuracin del proyecto para obtener
instrucciones sobre cmo establecer propiedades. Los ficheros con esta propiedad establecida
siempre se obtendrn y actualizarn con la marca de slo-lectura a menos que su copia de trabajo
tenga un bloqueo.

Como recordatorio, TortoiseSVN utiliza un icono de sobreimpresin especial para indicarlo.


Si opera una poltica donde todos los ficheros han de ser bloqueados, puede que encuentre ms fcil
utilizar la caracterstica de Subversion auto-props para establecer la propiedad automticamente
cada vez que aada nuevos ficheros. Para ms informacin, lea Establecer propiedades
automticamente.

Los scripts ganchos de bloqueo


Cuando crea un nuevo respositorio con Subversion 1.2 o superior, se crean cuatro plantillas en el
directorio hooks del repositorio. stos se llaman antes y despus de obtener un bloqueo, y antes y
despus de quitar un bloqueo.
Es una buena idea instalar un script gancho post-lock y post-unlock en el servidor que
enve un email indicando el fichero que se ha bloqueado. Poniendo este script en su sitio, todos sus
usuarios sern informados si alguien bloquea/quita el bloqueo de un fichero. Puede encontrar un
script gancho de ejemplo hooks/post-lock.tmpl en su carpeta del repositorio.
Tambin puede utilizar ganchos para no permitir romper o robar bloqueos, o quizs para limitarlo a
un administrador designado para ello. O quizs desea enviar un email al propietario cuando uno de
sus bloqueos se haya roto o robado.
Para ms informacin, lea la Scripts gancho en el lado del servidor.

Creando y aplicando parches


En proyectos de cdigo abierto (como ste), todos tienen acceso de lectura al repositorio, y
cualquiera puede hacer una contribucin al proyecto. As que cmo se controlan esas
contribuciones? Si cualquiera pudiera confirmar cambios, el proyecto estara permanentemente
inestable y probablemente roto de forma permanente. En esta situacin, el cambio se maneja
mediante un fichero de parche enviado al equipo de desarrollo, que tienen acceso de escritura. Ellos
pueden revisar el parche antes, y luego o bien confirmarlo en el repositorio o devolvrselo al autor.
Los ficheros de parche son simplemente ficheros de diff unificados que muestran las diferencias
entre su copia de trabajo y la revisin base.

Creando un fichero parche


Primero necesita hacer y probar sus cambios. Luego en vez de utilizar el comando TortoiseSVN
Confirmar... sobre la carpeta padre, seleccione TortoiseSVN Crear Parche...

Figura 40: El dilogo Crear parche


ahora puede seleccionar los ficheros que desea incluir en el parche, del mismo modo a como lo
hara con una confirmacin completa. Esto producir un nico fichero que contendr un resumen de

todos los cambios que ha hecho a los ficheros seleccionados desde la ltima vez que se actualiz
desde el repositorio.
Las columnas en este dilogo pueden ser personalizadas de la misma forma que las columnas en el
dilogo Comprobar modificaciones. Para ms detalles, lea Estado local y remoto.
Puede producir parches separados que contengan cambios a diferentes conjuntos de ficheros. Por
supuesto, si crea un fichero de parche, hace algunos cambios ms a los mismos ficheros y luego crea
otro parche, el segundo fichero de parche incluir ambos conjuntos de cambios.
Simplemente grabe el fichero utilizando un nombre de fichero de su eleccin. Los ficheros de
parche pueden tener la extensin que desee, pero por convencin se suele utilizar las extensiones
.patch o .diff extension. Ya est preparado para enviar su fichero de parches.
Tambin puede almacenar el parche en el portapapeles en vez de en un fichero. Puede querer hacer
esto para poder pegarlo en un email de forma que lo revisen otros. O si tiene dos copias de trabajo
en una mquina y quiere transferir cambios de una a otra, un parche en el portapapeles es una forma
cmoda de hacerlo.

Aplicando un fichero parche


Los ficheros de parches se aplican en su copia de trabajo. Esto debe hacerse desde el mismo nivel
de carpetas que se utiliz para crear el parche. Si no est seguro de cul es, mire la primera lnea del
fichero de parche. Por ejemplo, si el primer fichero en el que se trabaj era
doc/source/english/chapter1.xml y la primera lnea en el fichero de parche es
Index: english/chapter1.xml entonces necesita aplicar el parche en la carpeta
english. Sin embargo, suponiendo que est en la copia de trabajo correcta, si ha seleccionado un
nivel de carpeta errneo, TortoiseSVN se dar cuenta y le sugerir el nivel correcto.
Para aplicar un fichero de parche en su copia de trabajo, necesita al menos acceso de lectura al
repositorio. La razn para esto es que el programa de fusin debe referenciar los cambios sobre la
revisin contra la que se hicieron por el desarrollador remoto.
Desde el men contextual de esa carpeta, pulse en TortoiseSVN Aplicar Parche... Esto mostrar
un dilogo de abrir fichero que le permitir seleccionar el fichero de parche a aplicar. Por defecto
slo aparecen los ficheros .patch o .diff, pero puede elegir Todos los ficheros. Si haba
guardado previamente un parche en el portapapeles, puede usar Abrir desde el portapapeles... en el
dilogo de abrir fichero.
Alternativamente, si el fichero de parche tiene una extensin .patch o .diff, puede hacer click
con el botn derecho en l directamente y seleccioanr TortoiseSVN Aplicar Parche.... En este
caso se le preguntar la ruta de la copia de trabajo.
Estos dos mtodos le ofrecen formas diferentes de hacer lo mismo. Con el primer mtodo
selecciona la copia de trabajo y busca el fichero de parche. Con el segundo selecciona el fichero de
parche y busca la copia de trabajo.
Una vez que haya seleccionado el fichero de parche y la ruta de la copia de trabajo, se ejecuta
TortoiseMerge para fusionar los cambios del fichero de parche contra su copia de trabajo. Una
pequea ventana le muestra los ficheros que han sido cambiados. Haga doble click por turnos en
cada uno de ellos, compruebe los cambios y grabe los ficheros fusionados.
El parche del desarrollador remoto ya ha sido aplicado a su copia de trabajo, por lo que necesita
confirmar para que todos los dems accedan a los cambios desde el repositorio.

Quin cambi qu lnea?


A veces necesita saber no slo qu lineas han cambiado, sino tambin exactamente quin cambi

lneas especficas en un fichero. Entonces es cuando el comando TortoiseSVN Autora..., a veces


conocido como comando de anotar, tiene su utilidad.
Este comando muestra, por cada lnea en un fichero, su autor y la revisin en la que se cambi la
lnea.

Autora de ficheros

Figura 41: El dilogo Anotar / Autora


Si no est interesado en cambios de revisiones anteriores puede establecer la revisin desde la cual
debe empezar la autora. Ponga este valor a 1 si desea ver la autora de cada revisin.
Por defecto, el fichero de autora se ve utilizando TortoiseBlame, que remarca las diferentes
revisiones para hacerlas ms fciles de leer. Si desea imprimir o editar el fichero de autora,
seleccione Utilizar visor de texto para ver autoras
Puede especificar la forma en la que se manejarn los cambios en los finales de lnea y en los
espacios en blanco. Estas opciones se describen en Opciones de fn de lnea y espacios en blanco.
El comportamiento por defecto es tratar todas las diferencias en los espacios en blanco y en los
finales de lnea como cambios reales, pero si desea ignorar un cambio en la indentacin y encontrar
al autor original, puede elegir la opcin apropiada aqu.
Una vez que pulse Aceptar, TortoiseSVN empieza a recoger la informacin para crear el fichero de
autora. Tenga sto en cuenta: esto puede llevar varios minutos para completarse, dependiendo en
cunto haya cambiado el fichero y por supuesto de su conexin de red con el repositorio. Una vez
que el proceso de autora ha terminado, el resultado se escribe en un fichero temporal y puede ver
los resultados.

Figura 42: TortoiseBlame


TortoiseBlame, que se incluye con TortoiseSVN, hace ms fciles de leer los ficheros de autora.
Cuando pasa el ratn por encima de una lnea en la columna de informacin de autora, todas las
lneas con la misma revisin se sealan con un fondo ms oscuro. Las lneas de otras revisiones que
fueron cambiadas por el mismo autor se sealan con un fondo claro. Los colores pueden no
funcionar de forma muy eficiente si su pantalla est en el modo de 256 colores.
Si hace click en una lnea, todas las lneas con la misma revisin se sealan, y las lneas de otras
revisiones del mismo autor se sealan en un color ms claro. Este sealado se mantiene,
permitindole mover el ratn sin perder los sealados. Pulse en esa revisin de nuevo para
desactivar el sealado.
Los comentarios de la revisin (mensaje de registro) se muestra en un texto de ayuda cuando se
pasa el cursor sobre la columna de informacin de autora. Si quiere copiar el mensaje de registro de
esa revisin, utilice el men contextual que aparece cuando hace click con el botn derecho sobre la
columna de informacin de autora.
Puede buscar dentro del informe de Autora utilizando Edicin Buscar.... Esto le permite buscar
por nmeros de revisin, autores y por el contenido del fichero en si mismo. Los mensajes de
registro no se incluyen en la bsqueda - deber utilizar el dilogo de Mostrar Registro para buscar
en ellos.
Tambin puede ir directamente a un nmero de lnea concreto utilizando Editar Ir a la lnea....
Cuando el ratn se coloca encima de las columnas de informacin de autora, tiene disponible un
men contextual que le ayuda a comparar revisiones y examinar la historia, utilizando el nmero de
revisin bajo el ratn como referencia. Men contextual Ver autora de la revisin anterior
genera un informe de autora para el mismo fichero, pero utilizando la revisin anterior como lmite
superior. Esto le da el informe de autora para el estado del fichero justo antes de que la lnea que
est viendo cambiara. Men contextual Mostrar cambios inicia su visor de diferencias,
mostrndole lo que cambi en la revisin referenciada. Men contextual Mostrar registro le
muestra el dilogo de registro de revisiones empezando en la revisin referenciada.
Si necesita un indicador visual mejor de dnde estn los cambios ms antiguos y ms nuevos,

seleccione Ver Colorear la antigedad de las lneas. Esto utilizar un gradiente de color para
mostrar las lneas ms nuevas en rojo y las ms antiguas en azul. La paleta de color por defecto es
bastante suave, pero puede cambiarla utilizando la configuracin de TortoiseBlame.
Si est utilizando Registro de fusiones, donde las lneas hayan cambiado como resultado de una
fusin desde otra ruta, TortoiseBlame le mostrar la revisin y el autor del ltimo cambio en el
fichero original, en vez de la revisin en la que se realiz la fusin. Estas lneas se muestran con la
revisin y el autor en cursiva. Si no desea que las lneas fusionadas se muestren de esta forma,
desmarque la casilla Incluir informacin de fusin.
Si quiere ver las rutas involucradas en la fusin, seleccione Ver Rutas de fusin.
Las configuraciones para TortoiseBlame se pueden acceder utilizando TortoiseSVN
Configuracin... en la pestaa TortoiseBlame. Para ms informacin, vea Configuracin de
TortoiseBlame.

Autora de las diferencias


Una de las limitaciones del informe de Autora es que slo muestra el fichero tal y como estaba en
una revisin en concreto, y muestra la ltima persona que cambi cada lnea. A veces querr saber
qu cambio se hizo, y tambin quin lo hizo. Lo que necesita aqu es una combinacin de los
informes de diferencias y autora.
El dilogo del historial de revisiones incluye varias opciones que le permiten hacerlo.
Autora de las revisiones
En el panel superior, seleccione dos revisiones, y luego seleccione Men Contextual Ver
autora de las revisiones. Esto obtendr los datos de autora de las dos revisiones, y luego
utilizar el visor de diferencias para comparar los dos ficheros de autora.
Ver la autora de los cambios
Seleccione una revisin en el panel superior, luego seleccione un fichero en el panel inferior y
seleccione Men contextual Autora de los cambios. Esto obtendr los datos de autora de
la revisin seleccionada y la anterior, y utilizar el visor de diferencias para comparar los dos
ficheros de autora.
Comparar y ver autora con la BASE de trabajo
Muestre el registro de un nico fichero, y en el panel superior, seleccione una nica revisin,
y luego seleccione Men contextual Comparar y ver autora con la BASE de trabajo. Esto
obtendr los datos de autora de la revisin seleccionada, y tambin del fichero en la BASE de
trabajo, y utilizar el visor de diferencias para comparar los dos ficheros de autora.

El navegador de repositorios
A veces necesitar trabajar directamente en el repositorio, sin tener una copia de trabajo. sa es la
razn por la que existe el Navegador de Repositorios. Igual que el Explorador y los iconos
sobreimpresionados le permiten ver su copia de trabajo, el navegador de repositorios le permite ver
la estructura y el estado del repositorio.

Figura 43: El navegador de repositorios


Con el navegador de repositorios puede ejecutar comandos como copiar, mover, renombrar...
directamente en el repositorio.
El navegador de repositorios se parecer al explorador de Windows, excepto que est mostrando el
contenido del repositorio en una revisin concreta en vez de los ficheros de su ordenador. En el
panel izquierdo puede ver un rbol de directorios, y en el panel derecho estn los contenidos del
directorio seleccionado. En la parte superior de la ventana del visor de repositorios puede introducir
la URL del repositorio y la revisin que desea visualizar.
Al igual que el explorador de Windows, puede pulsar sobre los encabezados de las columnas en el
panel derecho si desea establecer la ordenacin. Y como en el explorador hay mens contextuales
en ambos paneles.
El men contextual para un fichero le permite:
Abrir el fichero seleccionado, bien con el visor por defecto para ese tipo de fichero, o
bien con el programa que elija.
Guardar una copia no versionada del fichero en su disco duro.
Mostrar el registro de las revisiones para ese fichero, o mostrar un grfico de todas
las revisiones para que pueda ver de dnde vino el fichero.
Ver la autora del fichero, para saber quin cambi qu lnea y cundo.
Eliminar o renombrar el fichero.
Hacer una copia del fichero, bien a una parte diferente del repositorio, o bien a una copia
de trabajo includa dentro del mismo repositorio.
Ver/editar las propiedades del fichero.

El men contextual para una carpeta le parmite:


Mostrar el registro de revisiones para la carpeta, o mostrar un grfico de todas las
revisiones para que pueda ver de dnde vino la carpeta.
Exportar la carpeta a una copia local no versionada de su disco duro.
Obtener la carpeta para producir una copia de trabajo local en su disco duro.
Crear una nueva carpeta en el repositorio.
Aadir ficheros o carpetas directamente al repositorio.
Borrar o eliminar la carpeta.
Hacer una copia de la carpeta, bien a una parte diferente del repositorio, o bien a una
copia de trabajo dentro del mismo repositorio.
Ver/Editar las propiedades de la carpeta.
Marcar la carpeta para comparacin. La carpeta marcada se mostrar en negrita.
Comparar la carpeta con una carpeta marcada previamente, bien como diff unificado, o
bien como una lista de ficheros que pueden diferenciarse visualmente utilizando la
herramienta
de diferencias por defecto. Esto puede ser particularmente til para comparar dos etiquetas,
o el tronco y una rama para ver qu se ha cambiado.
Si selecciona dos carpetas en el panel derecho, puede ver las diferencias bien como diff unificado, o
bien como una lista de ficheros que pueden diferenciarse visualmente utilizando la herramienta de
diferencias por defecto.
Si selecciona mltiples carpetas en el panel derecho, puede obtenerlos todos a la vez en una carpeta
padre comn.
Si selecciona dos etiquetas que se han copiado desde la misma raz (tipicamente, /trunk/), puede
utilizar Men Contextual Mostrar Registro... para ver la lista de revisiones entre los dos puntos
etiquetados.
Puede utilizar F5 para refrescar la vista como siempre. Esto refrescar todo lo que se est viendo
actualmente. Si quiere precargar o refrescar la informacin para los nodos que an no han sido
abiertos, utilice Ctrl-F5. Despus de eso, la expansin de cualquier nodo ocurrir automticamente
sin que haya una pausa por la red mientras se recoge la informacin.
Tambin puede utilizar el navegador de repositorios para operaciones de arrastrar-y-soltar. Si
arrastra una carpeta desde el Explorador al navegador de repositorios, se importar esa carpeta en el
repositorio. Tenga en cuenta que si arrastra mltiples items, se importarn en confirmaciones
separadas.
Si desea mover un tem dentro del repositorio, simplemente arrastre con el botn izquierdo el tem a
su nuevo lugar. Si desea crear una copia en vez de mover el tem, entonces deber Ctrl-arrastrar
con el botn izquierdo. Cuando copia, el cursor tiene un smbolo ms en l, tal y como lo hace en
el Explorador.
Si desea copiar/mover un fichero o una carpeta a otro lugar y darle tambin otro nombre a la vez,
puede arrastrar con el botn derecho o Ctrl-arrastrar con el botn derecho el tem en vez de
arrastrarlo con el botn izquierdo. En ese caso, aparece un dilogo en el que puede introducir un
nuevo nombre para el fichero o la carpeta.
Siempre que haga cambios en el repositorio utiizando uno de estos mtodos, se le presentar un
dilogo para introducir un mensaje de registro. Si ha arrastrado algo por error, esta es su
oportunidad para cancelar la accin.

A veces cuando intenta abrir una ruta obtendr un mensaje de error en vez de los detalles del tem.
Esto puede ocurrir si ha especificado una URL invlida, si no tiene permisos de acceso, o si hay
algn otro problema en el servidor. Si necesita copiar este mensaje para incluirlo en un email,
simplemente haga click con el botn derecho sobre l y utilice Men Contextual Copiar mensaje
de error al portapapeles, o simplemente utilice Ctrl+C.

Grficos de revisin

Figura 44: Un grfico de revisiones


A veces necesita saber desde qu revisin del tronco se tomaron las ramas y las etiquetas, y la
forma ideal de ver este tipo de informacin es en un grfico o una estructura de rbol. Ah es
cuando necesita utilizar TortoiseSVN Grfico de Revisiones...
Este comando analiza la historia de las revisiones e intenta crear un rbol mostrando los puntos en
los que se tomaron las copias, y cuando se borraron las ramas/etiquetas.

Importante
Para generar el grfico, TortoiseSVN debe obtener todos los mensajes de registro
desde la raz del repositorio. No es necesario decir que esto puede llevar varios
minutos incluso con un repositorio con unos pocos miles de revisiones, dependiendo
de la velocidad del servidor, el ancho de banda de la red, etc. Si intenta esto con algo
como el proyecto Apache, que actualmente tiene ms de 500.000 revisiones, puede
estar esperando un buen rato.

Nodos del grfico de revisin


Cada nodo de grfico de revisin representa una revisin en el repositorio donde algo cambi en el
rbol que est viendo. Los diferentes tipos de nodos se pueden distinguir por forma y color. Las
formas son fijas, pero los colores se pueden cambiar utilizando TortoiseSVN Configuracin
tems eliminados
Los tems borrados, por ejemplo una rama que no se necesita ms, se muestran utilizando un
octgono (rectngulo con las esquinas cortadas). El color por defecto es rojo.
tems renombrados
Los tems renombrados tambin se muestran utilizando un octgono, pero el color por defecto
es azul.
tem normal
Todos los dems tems se muestran utilizando un rectngulo normal.
Tenga en cuenta que por defecto el grfico slo muestra los puntos en los que se aadieron,
copiaron o borraron tems. Mostrar cada revisin de un proyecto generar un grfico muy grande
para casos no triviales. Si realmente desea ver todas las revisiones en las que se hicieron cambios,
hay una opcin para conseguirlo en el men Ver y en la barra de herramientas.

Cambiando la vista
Dado que los grficos de revisiones son a menudo complejos, hay un nmero de funcionalidades
que pueden utilizarse para ajustar la vista a lo que desea obtener. Estas opciones estn disponibles
en el men Ver y en la barra de herramientas.
Agrupar ramas
Este modo agrupa los cambios por ramas, de forma que no hay una ordenacin global por
revisiones: las revisiones consecutivas en una rama se mostrarn (a menudo) como lneas
consecutivas. Las sub-ramas, sin embargo, se colocarn de forma que las ramas ms nuevas se
muestren encima de las ramas ms antiguas para mantener el grfico ms delgado. Como
resultado, una fila cualquier puede contener cambios de diferentes revisiones.
Ms antiguo arriba
Normalmente el grfico muestra la revisin ms antigua abajo, y el rbol crece hacia arriba.
Utilice esta opcin para hacer crecer el rbol desde arriba.
Alinear rboles en la parte superior
Cuando un grfico se parte en varios rboles ms peuqeos, los rboles pueden aparecer bien
en su rden de revisin natural, o alineados en la parte inferior de la ventana, dependiendo de
si utiliza la opcin Agrupar por ramas. Utilice esta opcin para hacer crecer todos los rboles
hacia abajo desde arriba.
Mostrar todas las revisiones
Esto hace exactamente lo que espera, y muestra cada revisin donde algo (en el rbol del que

est mostrando el grfico) ha cambiado. Para historiales largos esto puede producir un rbol
realmente enorme.
Mostrar revisiones HEAD
Esto asegura que la ltima revisin de cada rama se muestra siempre en el grfico.
Ocultar rutas eliminadas
Oculta las rutas que ya no estn presentes en la revisin HEAD del repositorio, por ejemplo
ramas eliminadas.
Mostrar la revisin de la copia de trabajo
Marca la revisin en el grfico que corresponde a la revisin de actualizacin del tem para el
que obtuvo el grfico. Si acaba de actualizar, esto ser HEAD, pero si otros han confirmado
cambios desde su ltima actualizacin, su copia de trabajo puede estar unas revisiones por
debajo. Este nodo se marca dndole un borde remarcado.
Mostrar modificaciones en la copia de trabajo
Si su copia de trabajo contiene cambios locales, esta opcin lo dibuja como un nodo separado
elptico, enlazado al nodo al que su copia de trabajo fue actualizado por ltima vez. El color
de resalte por defecto es rojo. Puede necesitar refrescar el grfico utilizando F5 para capturar
cambios recientes.
Filtro
A veces los grficos de revisin contienen ms revisiones de las que desea ver. Esta opcin
abre un dilogo que le permitir restringir el rango de revisiones mostrado, y ocultar rutas
concretas por su nombre.

Usando el grfico
Para hacer ms fcil la navegacin en un grfico grande, utilice la ventana sobreimpresionada. En
ella se muestra el grfico completo en una pequea ventana, con la parte que se muestra
actualmente iluminada. Puede arrastrar el rea iluminada para cambiar la regin que se muestra.
La fecha de la revisin, el autor y los comentarios se muestran en una caja de ayuda cuando se
mueve el ratn encima de una caja de revisin.
Si selecciona dos revisiones (mediante Ctrl-click con el botn izquierdo), puede utilizar el men
contextual para mostrar las diferencias entre esas revisiones. Puede elegir mostrar las diferencias en
los puntos de creacin de las ramas, pero normalmente querr mostrar las diferencias en los puntos
finales de las ramas, esto es, en la revisin HEAD.
Puede ver las diferencias como un fichero de Diff Unificado, que le muestra todas las diferencias en
un fichero nico con contexto mnimo. Si opta por Men Contextual Comparar Revisiones se le
presentar una lista de ficheros cambiados. Haga doble click en un nombre de fichero para obtener
ambas revisiones y compararlas utilizando una herramienta de diferencias visual.
Si hace click con el botn derecho en una revisin, puede utilizar Men Contextual Mostrar
registro para ver la historia.

Tambin puede fusionar cambios de la(s) revision(es) seleccionada(s) en una copia de trabajo
distinta. Un dilogo de seleccin de carpeta le permitir elegir la copia de trabajo donde desea
fusionar, pero despus de eso no hay dilogo de confirmacin, ni oportunidad de probar la fusin
sin ejecutarla realmente. Es una buena idea fusionar en una copia de trabajo sin cambios, y as
poder revertir los cambios si no funcionan! Esta es una funcionalidad til si desea fusionar las
revisiones seleccionadas de una rama a otra.

Refrescando la vista
Si desea comprobar el servidor de nuevo para obtener la informacin ms reciente, puede
simplemente refrescar la vista utilizando F5. Si est utilizando la cach de registro (habilitada por
defecto), esto buscar en el repositorio las confirmaciones ms recientes y traer slo las nuevas. Si
la cach de registro estaba en modo desconectado, esto intentar volver a ponerla en lnea.
Si est utilizando la cach de registros y cree que el contenido del mensaje o el autor han podido
cambiar, debera utilizar el dilogo de registro para refrescar los mensajes que necesita. Dado que el
grfico de revisiones trabaja desde la raz del repositorio, tendramos que invlidar la cach completa
de registro, y recargarla podra llevar muchsimo tiempo.

Podando rboles
Un rbol grande puede ser dificil para navegar y a veces querr ocultar partes de l, o partirlo en un
bosque de rboles ms pequeos. Si mueve el ratn sobre el punto donde un enlace de nodo entra o
sale del nodo, ver que aparecen uno o ms botones que le permitirn hacer esto.

Pulse en el botn menos para colapsar el subrbol adjunto.

Pulse el botn ms para expandir un rbol colapsado. Cuando un rbol se ha colapsado, este botn
permanece visible para indicar un subrbol oculto.

Pulse en el botn cruz para separar el subrbol adjunto y mostrarlo como un rbol separado en el
grfico.

Pulse en el botn crculo para readjuntar un rbol separado Cuando se ha separado un rbol, este
botn permanece visible para indicar que hay un subrbol separado.

Exportando una copia de trabajo de Subversion


A veces querr una copia de su rbol de trabajo sin ninguno de esos directorios .svn, por ejemplo
para crear un fichero comprimido de sus fuentes, o para exportarlo a un servidor web. En vez de
hacer una copia y borrar todos esos directorios .svn manualmente, TortoiseSVN ofrece el
comando TortoiseSVN Exportar.... Las operaciones exportar desde una URL y exportar desde
una copia de trabajo se tratan de forma ligeramente distinta.

Figura 45: El dilogo Exportar-desde-URL


Si ejecuta este comando sobre una carpeta sin versionar, TortoiseSVN asumir que la carpeta de
destino es el objetivo, y abrir un dilogo para que introduzca la URL y la revisin desde la que
desea realizar la exportacin. Este dilogo tiene opciones para exportar slo la carpeta de ms alto
nivel, para omitir las referencias externas, y para obligar un estilo de fin de lnea concreto en
aquellos ficheros que tuvieran establecida la propiedad svn:eol-style.
Por supuesto tambin puede exportar directamente desde el repositorio. Utilice el Navegador de
repositorios para navegar al subrbol relevante en su repositorio, y luego utilice Men contextual
Exportar. Obtendr el dilogo Exportar desde URL descrito ms arriba.
Si ejecuta este comando en su copia de trabajo, se le preguntar por el lugar donde guardar la copia
de trabajo limpia sin las carpetas .svn. Por defecto, slo se exportan los ficheros versionados, pero
puede utilizar la casilla Exportar tambin los ficheros o versionados para incluir cualquier otro
fichero no versionado que exista en su copia de trabajo y no est en el repositorio. Las referencias
externas utilizando svn:externals pueden omitirse si es necesario.
Otra forma de exportar su copia de trabajo es arrastrar con el botn derecho la carpeta con la copia
de trabajo a otro lugar y elegir Men contextual SVN Exportar aqu o Men contextual SVN
Exportar todo aqu. La segunda opcin incluir tambin los ficheros sin versionar.
Cuando exporte desde una copia de trabajo, si en la carpeta de destino ya existe otra con el nombre
de la que est exportando, se le dar la opcin de sobreescribir el contenido existente, o de crear una
nueva carpeta con un nombre generado automticamente, por ejemplo, Destino (1).

Exportando ficheros sueltos


El dilogo de exportar no permite exporar ficheros sueltos, aunque Subversion puede hacerlo.
Para exportar ficheros sueltos con TortoiseSVN, tendr que utilizar el navegador de respositorios
(El navegador de repositorios). Simplemente arrastre el o los ficheros que desea exportar desde el
navegador de repositorios a donde los desee tener en el explorador, o utilice el men contextual del
navegador de repositorios para exportar los ficheros.

Exportando un rbol de cambios


Si quiere exportar una copia de su estructura de rbol del proyecto pero conteniendo slo los
ficheros que han cambiado en una revisin en concreto, o entre dos revisiones, utilice la

caracterstica de comparar revisiones descrita en Comparando carpetas.

Eliminando una copia de trabajo del control de versiones


A veces tiene una copia de trabajo que desea reconvertir en una carpeta normal sin los directorios
.svn. Lo que realmente necesita es un comando exportar-en-el-sitio, que simplemente elimine las
carpetas de control, en vez de generar un nuevo rbol limpio.
La respuesta es sorprendentemente sencilla - exporte el rbol en si mismo! TortoiseSVN detecta
este caso especial y le pregunta si quiere convertir su copia de trabajo en no-versionada. Si responde
s, los directorios de control se eliminan y tendr un simple rbol sin directorios de control.

Relocalizando una copia de trabajo

Figura 46: El dilogo Relocalizar


Si su repositorio ha cambiado por algn motivo de lugar (IP/URL); o quizs est estancado y no
puede confirmar y no quiere obtener de nuevo su copia de trabajo de la nueva localizacin y mover
todos sus datos cambiados a la copia de trabajo nueva: el comando TortoiseSVN Relocalizar es
lo que est buscando. Bsicamente hace muy poco: escanea todos los ficheros entries en las
carpetas .svn y cambia la URL de las entradas al nuevo valor.
Puede sorprenderse al ver que TortoiseSVN contacta el repositorio como parte de esta operacin.
Todo lo que hace es realizar algunas comprobaciones sencillas para asegurarse que la nueva URL
realmente se refiere al mismo repositorio que la copia de trabajo existente.

Aviso
Esta es una operacin que se utiliza realmente poco. El comando relocalizar se utiliza slo si la
URL de la raiz del repositorio ha cambiado. Estas son algunas posibles razones:
La direccin IP del servidor ha cambiado.
El protocolo ha cambiado (por ejemplo, de http:// a https://).
La ruta raz del repositorio ha cambiado en la configuracin del servidor.
De otra forma, necesita relocalizar cuando su copia de trabajo se refiere al mismo lugar en el mismo
repositorio, pero es el propio repositorio el que se ha movido.
Esto no se aplica si:
Quiere moverse a un repositorio de Subversion diferente. En ese caso debera realizar
una obtencin limpia desde la nueva localizacin del repositorio.
Quiere cambiar a una rama o a un directorio diferente dentro del mismo repositorio. Para
hacer eso debera utilizar TortoiseSVN Cambiar.... Para ms informacin, lea Obtener o
cambiar....
Si utiliza relocalizar en alguno de los casos anteriores, corromper su copia de trabajo y obtendr

muchos mensajes de error inexplicables cuando actualice, confirme, etc. Una vez que sto ha
ocurrido, el nico arreglo es hacer una obtencin limpia.

Você também pode gostar