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 que su copia de trabajo está actualizada. Puede o bien ejecutar TortoiseSVNActualizar directamente, o bien ejecutar TortoiseSVNComprobar Modificaciones primero, para ver qué se ha cambiado localmente o en el servidor.

El diálogo de Confirmación

Si su copia de trabajo está actualizada y no hay conflictos, ya está preparado para confirmar sus cambios. Seleccione los archivos y/o carpetas que desee confirmar y seleccione TortoiseSVNConfirmar....

Figura 4.8. El diálogo de Confirmación

El diálogo de Confirmación


El diálogo de confirmación le mostrará todos los archivos cambiados, incluso los archivos añadidos, borrados o no versionados. Si no desea que un archivo cambiado se confirme, símplemente desmarque ese archivo. Si desea incluir un archivo no versionado, márquelo para añadirlo a la confirmación.

Para rápidamente marcar o desmarcar tipos de ficheros como todos los ficheros versionados o todos los ficheros modificados, pulsa el enlace justo encima de la lista de los elementos mostrados

Para información sobre el colores y leyendas de los elementos de acuerdo a su status, por favor mira “Estado local y remoto”.

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!

¿Confirmar archivos o carpetas?

Cuando confirma archivos, el diálogo de confirmación sólo le enseña los archivos que ha seleccionado. Cuando confirma una carpeta el diálogo de confirmación seleccionará los archivos que han cambiado de forma automática. Si se olvidó un archivo nuevo que haya creado, al confirmar la carpeta lo encontrará. Confirmar una carpeta no significa que todos los archivos se marquen como cambiados; sólo le hace la vida más fácil haciendo más trabajo por usted.

Muchos archivos sin versionar en el diálogo de confirmar

Si cree que el diálogo de confirmación de TSVN le muestra demasiados archivos no versionados (por ejemplo, archivos generados por el compilador o copias de seguridad hechas por su editor), hay varias formas de manejar esta situación. Puede:

  • añadir el archivo (o una extensión con máscara) a la lista de archivos a ignorar en la página de configuración. Esto afectará a todas las copias de trabajo que tenga.

  • añadir el archivo a la lista de svn:ignore utilizando TortoiseSVNAñadir 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 Diálogo de Propiedades SVN.

  • add the file to the svn:global-ignores list using TortoiseSVNAdd to ignore list (recursively) This will affect the directory on which you set the svn:global-ignores property and all subfolders as well.

Para más información, lea “Ignorando archivos y directorios”.

Haciendo doble click en cualquier archivo 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 archivos 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 archivos se libera automáticamente cuando la confirmación tiene éxito. Si desea mantener esos bloqueos, asegúrese que la casilla Mantener bloqueos está marcada. El estado por defecto de esta casilla se toma de la opción no_unlock del archivo de configuración de Subversion. Lea “Configuración general” para más información sobre cómo editar el archivo de configuración de Subversion.

Warning when committing to a tag

Usually, commits are done to the trunk or a branch, but not to tags. After all, a tag is considered fixed and should not change.

If a commit is attempted to a tag URL, TortoiseSVN shows a confirmation dialog first to ensure whether this is really what is intended. Because most of the time such a commit is done by accident.

However, this check only works if the repository layout is one of the recommended ones, meaning it uses the names trunk, branches and tags to mark the three main areas. In case the setup is different, the detection of what is a tag/branch/trunk (also known as classification patterns), can be configured in the settings dialog: “Configuración del gráfico de revisión”

Arrastrar y soltar

Puede arrastrar archivos 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 archivos dentro de la misma confirmación atómica.

Puede arrastrar archivos no versionados que residan dentro de una copia de trabajo al diálogo de confirmación, y automáticamente serán SVN añadidos.

Arrastrar archivos desde la lista al pié del diálogo de confirmación al cuadro de edición del registro de mensajes insertará las rutas como texto plano en ese cuadro de edición. Esto es útil si desea escribir mensajes de registro de confirmación que incluyan las rutas que estan siendo afectadas por la confirmación.

Reparando renombrados externos

A veces los archivos se renombran fuera de Subversion, y se muestran en la lista de archivos como un archivo faltante y un archivo 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 Menú contextualReparar movimiento para emparejar los dos archivos como un renombrado.

Reparando copias externas

Si hizo una copia de un archivo pero olvidó usar el comando de Subversion para hacerlo, puede reparar esa copia para que el nuevo archivo no pierda su historial. Simplemente seleccione tanto el nombre antiguo (normal o modificado) como el nuevo (no versionado) y utilice Menú contextualReparar Copia para emparejar los dos archivos como una copia.

Listas de cambios

El diálogo de confirmación da soporte a las listas de cambios de Subversion para ayudar a agrupar archivos relacionados. Averigue más sobre esta característica en “Listas de cambios”.

Confirmar ficheros parcialmente

Quizá quiera confirmar únicamente parte de las modificaciones que ha hecho en un fichero. Esta situación normalmente sucede cuando se trabaja en algo y aparece la necesidad de una corrección urgente, y esa corrección resulta estar en el mismo fichero en el que se está trabajando.

Haga click derecho en el fichero y elija Menú ContextualRestaurar después de confirmar. Esto creará una copia del archivo tal cual está. En ese momento se puede editar el fichero y deshacer todos los cambios que no desee confirmar. Tras guardar los cambios ya puede confirmar el fichero.

Usando TortoiseMerge

If you use TortoiseMerge to edit the file, you can either edit the changes as you're used to, or mark all the changes that you want to include. right click on a modified block and use Context MenuMark this change to include that change. Finally right click and use Context MenuLeave only marked changes which will change the right view to only include the changes you've marked before and undo the changes you have not marked.

Cuando la confirmación se haya hecho, la copia del fichero se restaurará automáticamente, y su fichero contendrá de nuevo las modificaciones que no fueron confirmadas.

Excluyendo ítems de la lista de confirmación

A veces tiene archivos 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 archivos versionados? ¿debería utilizar archivos de plantilla? Pero ocasionalmente es inevitable. Una razón clásica es que su IDE cambie una fecha en el archivo de proyecto cada vez que lo compile. El archivo 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 archivo 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.

Mensajes de registro 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.

Figura 4.9. El corrector ortográfico del diálogo de Confirmación

El corrector ortográfico del diálogo de Confirmación


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.

The log message window also includes a filename and function auto-completion facility. This uses regular expressions to extract class and function names from the (text) files you are committing, as well as the filenames themselves. If a word you are typing matches anything in the list (after you have typed at least 3 characters, or pressed Ctrl+Space), a drop-down appears allowing you to select the full name. The regular expressions supplied with TortoiseSVN are held in the TortoiseSVN installation bin folder. You can also define your own regexes and store them in %APPDATA%\TortoiseSVN\autolist.txt. Of course your private autolist will not be overwritten when you update your installation of TortoiseSVN. If you are unfamiliar with regular expressions, take a look at the introduction at https://en.wikipedia.org/wiki/Regular_expression, and the online documentation and tutorial at http://www.regular-expressions.info/.

Como crear la expresión regular correctamente puede ser un poco laborioso, para ayudarle a crear una expresión adecuada existe un diálogo de testeo que le permite introducir una expresión y posteriormente introducir nombres de archivo contra los que la expresión es comprobada. Para iniciar el diálogo de testeo, introduzca el comando TortoiseProc.exe /command:autotexttest en el símbolo de sistema.

The log message window also includes a commit message snippet facility. These snippets are shown in the autocomplete dropdown once you type a snippet shortcut, and selecting the snippet in the autocomplete dropdown then inserts the full text of the snippet. The snippets supplied with TortoiseSVN are held in the TortoiseSVN installation bin folder. You can also define your own snippets and store them in %APPDATA%\TortoiseSVN\snippet.txt. # is the comment character. Newlines can be inserted by escaping them like this: \n and \r. To insert a backslash, escape it like this: \\.

Puede reutilizar mensajes de registro que haya introducido anteriormente. Tan sólo debe pulsar en Mensajes recientes 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 Menú contextualPegar lista de nombres de archivos en el control de edición.

Otra forma de insertar rutas en el mensaje de registro es simplemente arrastrar los archivos desde la lista de archivos al control de edición.

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 módulo del corrector ortográfico. Para más información, lea “Configuración del proyecto”.

Integración con herramientas de control de errores

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”.

Progreso de confirmación

Tras pulsar Aceptar aparece un diálogo mostrando el progreso de la confirmación.

Figura 4.10. El diálogo Progreso mostrando el progreso de una confirmación

El diálogo Progreso mostrando el progreso de una confirmación


El diálogo de progreso utiliza una codificación de colores para resaltar las diferentes acciones de confirmación:

Azul

Confirmando una modificación.

Púrpura

Confirmando un ítem añadido.

Rojo oscuro

Confirmando un borrado o un reemplazo.

Negro

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”.