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 → directamente, o bien ejecutar → primero, para ver qué se ha cambiado localmente o en el servidor.
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 → .
El diálogo de confirmación le mostrará todos los ficheros cambiados, incluso los ficheros añadidos, borrados o no versionados. Si no desea que un fichero cambiado se confirme, símplemente desmarque ese fichero. Si desea incluir un fichero no versionado, márquelo para añadirlo a la confirmación.
Los ítems que han sido cambiados a una ruta de repositorio diferente también se indican utilizando un marcador (s). Puede haber cambiado algo mientras trabaja en una rama y habérsele olvidado volver a cambiarlo al tronco. ¡Este es su signo de advertencia!
Cuando confirma ficheros, el diálogo de confirmación sólo le enseña los ficheros que ha seleccionado. Cuando confirma una carpeta el diálogo de confirmación seleccionará los ficheros que han cambiado de forma automática. 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; sólo le hace la vida más fácil haciendo más trabajo por usted.
Si ha modificado ficheros que han sido incluidos desde un repositorio diferente utilizando svn:externals, esos cambios no pueden ser incluídos en la misma confirmación atómica. Aparecerá un símbolo 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.
Si cree que el diálogo de confirmación 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 situación. Puede:
añadir el fichero (o una extensión con máscara) a la lista de ficheros a ignorar en la página de configuración. Esto afectará a todas las copias de trabajo que tenga.
añadir el fichero a la lista de svn:ignore utilizando → . Esto únicamente afectará al directorio en el que establezca la propiedad svn:ignore. Puede cambiar la propiedad svn:ignore de un directorio utilizando el Diálogo de Propiedades SVN.
Para más información, lea “Ignorando ficheros y directorios”.
Haciendo doble click en cualquier fichero modificado en el diálogo de confirmación, se lanzará la herramienta externa de diferenciar para mostrarle sus cambios. El menú contextual le proporciona más opciones, como se ve en la captura de pantalla. También puede arrastrar ficheros desde aquí a otra aplicación, 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 Mayúsculas-Seleccionar para ejecutar la acción de forma recursiva.
Las columnas que se muestran en el panel inferior son personalizables. Si hace click con el botón derecho en cualquier cabecera de columna verá un menú contextual que le permite seleccionar qué columnas se muestran. También puede cambiar el ancho de la columna utilizando el manejador de arrastre que aparece cuando mueve el cursor sobre el límite 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 automáticamente cuando la confirmación tiene éxito. Si desea mantener esos bloqueos, asegúrese de que la casilla Mantener bloqueos está marcada. El estado por defecto de esta casilla se toma de la opción no_unlock del fichero de configuración de Subversion. Lea “Configuración general” para más información sobre cómo editar el fichero de configuración de Subversion.
Puede arrastrar ficheros hasta el diálogo de confirmación 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 jerarquía. Si quiere evitar confirmar desde la carpeta más alta (lo que implica una lenta operación de búsqueda de cambios) puede abrir el diálogo de confirmar para una carpeta y arrastrar desde las otras ventanas para incluir ficheros dentro de la misma confirmación atómica.
Puede arrastrar ficheros no versionados que residan dentro de una copia de trabajo al diálogo de confirmación, y automáticamente serán SVN añadidos.
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 conexión. Simplemente seleccione tanto el nombre antiguo (faltante) como el nombre nuevo (sin versionar) y utilice → para emparejar los dos ficheros como un renombrado.
El diálogo de confirmación da soporte a las listas de cambios de Subversion para ayudar a agrupar ficheros relacionados. Averigue más sobre esta característica en “Listas de cambios”.
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 compilación - ¿por qué están esos ficheros versionados? ¿debería utilizar ficheros de plantilla? Pero ocasionalmente es inevitable. Una razón clásica 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 compilación, pero no necesita confirmarse sólo porque la fecha haya cambiado.
Para ayudarle en casos tan extraños como estos, hemos reservado una lista de cambios llamada ignore-on-commit. Cualquier fichero añadido a esta lista de cambios se desmarcará automáticamente en el diálogo de confirmación. Aún puede confirmar los cambios, pero tendrá que selecionarlo manualmente en el diálogo de confirmación.
Asegúrese de introducir un mensaje de registro que describa los cambios que está confirmando. Esto le ayudará a saber qué ocurrió y cuando según 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 convención 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.
TortoiseSVN incluye un corrector ortográfico para ayudarle a escribir sus mensajes de registro correctamente. Este corrector señalará cualquier palabra mal escriba. Utilice el menú contextual para acceder a las correcciones sugeridas. Por supuesto, el corrector no conoce todos los términos técnicos que utiliza, así que a veces palabras bien escritas aparecerán como errores. Pero no se preocupe. Puede simplemente añadirlas a su diccionario personal utilizando el menú contextual.
La ventana de mensajes de registro también 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 también los propios nombres de ficheros. Si una palabra que está tecleando concuerda con algo en la lista (después 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 instalación de TortoiseSVN. También puede definir sus propias expresiones regulares y almacenarlas en %APPDATA%\TortoiseSVN\autolist.txt. Por supuesto su lista privada no se sobreescribirá cuando actualice su instalación de TortoiseSVN. Si no está familiarizado con las expresiones regulares, eche un vistazo a la documentación en http://en.wikipedia.org/wiki/Regular_expression, y a la documentación en línea y al tutorial en http://www.regular-expressions.info/.
Puede reutilizar mensajes de registro que haya introducido anteriormente. Tan sólo debe pulsar en para ver una lista de los últimos mensajes que ha introducido para esta copia de trabajo. El número de mensajes almacenados se puede personalizar en el diálogo de configuración de TortoiseSVN.
Puede limpiar todos los mensajes de confirmación almacenados desde la página Datos Almacenados de la configuración de TortoiseSVN, o puede eliminar mensajes individuales dentro del diálogo Mensajes recientes utilizando la tecla Supr.
Si desea incluir las rutas marcadas en su mensaje de registro, puede utilizar el comando → en el control de edición.
Otra forma de insertar rutas en el mensaje de registro es simplemente arrastrar los ficheros desde la lista de ficheros al control de edición.
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 módulo del corrector ortográfico. Para más información, lea “Configuración del proyecto”.
Si ha activado el sistema de control de errores, puede poner una o más incidencias en el cuatro de texto Bug-ID / Nº-Incid.:. Si quiere introducir múltiples incidencias, sepárelas por comas. Alternativamente, si está utilizando el soporte de control de errores basado en expresiones regulares, simplemente añada las referencias a sus incidencias como parte del mensaje de registro. Si desea saber más, lea “Integración con sistemas de control de errores / seguimiento de incidencias”.
Tras pulsar aparece un diálogo mostrando el progreso de la confirmación.
El diálogo de progreso utiliza una codificación de colores para resaltar las diferentes acciones de confirmación:
Confirmando una modificación.
Confirmando un ítem añadido.
Confirmando un borrado o un reemplazo.
Todos los demás ítems.
Este es el esquema de colores por defecto, pero puede personalizar dichos colores utilizando el diálogo de configuración. Para más información, lea “Configuración de colores de TortoiseSVN”.