Configuración del proyecto

Propiedades de Subversion

Figura 4.34. Página de propiedades de Subversion

Página de propiedades de Subversion


Puede leer y establecer las propiedades de Subversion desde el diálogo de propiedades de Windows, pero también desde TortoiseSVNPropiedades y dentro de las listas de estado de TortoiseSVN, desde Menú contextualPropiedades.

Puede añadir sus propias propiedades, o algunas propiedades con un significado especial en Subversion. Éstas empiezan con svn:. svn:externals es una de esas propiedades; vea cómo manejar externos en “Ítems externos”.

svn:keywords

Subversion soporta expansión de palabras clave similar a CVS, lo que puede utilizarse para introducir el nombre del archivo y la información de la revisión dentro del propio archivo. Las palabras clave actualmente soportadas son:

$Date$

Fecha de la última confirmación conocida. Esto se basa en la información obtenida cuando actualiza su copia de trabajo. No se contacta con el repositorio para buscar cambios más recientes.

$Revision$

Revisión de la última confirmación conocida.

$Author$

Autor que hizo la última confirmación conocida.

$HeadURL$

La URL completa de este archivo en el repositorio.

$Id$

Una combinación comprimida de las cuatro palabras clave anteriores.

To find out how to use these keywords, look at the svn:keywords section in the Subversion book, which gives a full description of these keywords and how to enable and use them.

For more information about properties in Subversion see the Special Properties.

Añadiendo y editando propiedades

Figura 4.35. Añadiendo propiedades

Añadiendo propiedades


Para agregar una nueva propiedad, primero presione sobre Nuevo.... Seleccione el nombre de la propiedad requerida del menu, y luego complete la información requerida en el diálogo de propiedades especifico. Estos diálogos de propiedades especificos estan descriptos más en detalle en “Editores de Propiedades”.

Para agregar una propiedad que no tiene su propio diálogo, seleccione Avanzada del menu Nuevo.... Luego o bien seleccione una propiedad existente en la lista desplegable o ingrese un nombre nuevo.

Si desea aplicar una propiedad a muchos ítems a la vez, seleccione los archivos/carpetas en el explorador, y luego seleccione Menú contextualpropiedades.

Si desea aplicar la propiedad a cada archivo y carpeta en la jerarquía debajo de la carpeta actual, seleccione la casilla Recursivo.

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 más información, lea “Ítems externos”.

Editar las propiedades de la revisión HEAD

Dado que las propiedades están versionadas, no puede editar las propiedades de revisiones previas. Si mira propiedades del diálogo de registro, o desde una revisión non-HEAD del explorador de repositorio, verá una lista de propiedades y valores, pero ningún control de edición.

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 característica Exportar/Importar.

Desde el archivo o carpeta en el que las propiedades ya están establecidas, utilice TortoiseSVNPropiedades, seleccione las propiedades que desea exportar y haga click en Exportar.... Se le preguntará por un nombre de archivo donde se grabarán los nombres de las propiedades y sus valores.

Desde la(s) carpeta(s) donde desea aplicar estas propiedades, utilice TortoiseSVNPropiedades y haga click en Importar.... Se le preguntará por un nombre de archivo desde el que importar, por lo que deberá navegar al lugar donde almacenó el archivo exportado anteriormente y seleccionarlo. Las propiedades se añadirán a las carpetas de forma no recursiva.

Si desea añadir las carpetas a un árbol recursivamente, siga los pasos anteriores, y luego en el diálogo de propiedades seleccione cada propiedad por turnos, haga click en Editar..., seleccione la casilla Aplicar propiedad recursivamentey haga click en Aceptar.

El formato del archivo de importación es binario y propietario de TortoiseSVN. Su único propósito es transferir las propiedades utilizando Importar y Exportar, por lo que no hay necesidad de editar estos archivos.

Propiedades binarias

TortoiseSVN puede manejar valores de propiedades binarios utilizando archivos. Para leer un valor de propiedad binario, utilice Grabar... para almacenarlo en un archivo. Para establecer un valor binario, utilice un editor hexadecimal u otra herramienta adecuada para crear un archivo con el contenido que necesite, y luego utilice Cargar... para leer ese archivo.

Aunque las propiedades binarias no se utilizan a menudo, pueden ser útiles en algunas aplicaciones. Por ejemplo, si está almacenando archivos gráficos muy grandes, o si la aplicación que se utiliza para cargar el archivo es pesada, puede querer guardar una pequeña imagen guía como una propiedad para poder obtener una previsualización rápidamente.

Establecer propiedades automáticamente

Puede configurar Subversion y TortoiseSVN para que establezca propiedades automáticamente en archivos y carpetas cuando se añaden al repositorio. Hay dos formas de hacerlo.

You can edit the Subversion configuration file to enable this feature on your client. The General page of TortoiseSVN's settings dialog has an edit button to take you there directly. The config file is a simple text file which controls some of Subversion's workings. You need to change two things: firstly in the section headed miscellany uncomment the line enable-auto-props = yes. Secondly you need to edit the section below to define which properties you want added to which file types. This method is a standard Subversion feature and works with any Subversion client. However it has to be defined on each client individually - there is no way to propagate these settings from the repository.

Un método alternativo es establecer la propiedad tsvn:autoprops en las carpetas, como se describe en la siguiente sección. Este método funciona sólo con los clientes TortoiseSVN, pero se propaga a todas las copias de trabajo al actualizarlas.

Sea cual sea el método que elija, debe tener en cuenta que las auto-props se aplican sólo a los archivos en el momento en que se añaden al repositorio. Las auto-props nunca cambiarán las propiedades de archivos que ya estén versionados.

Si desea estar totalmente seguro que a los nuevos archivos les son aplicadas las propiedades correctas, debería establecer un script gancho pre-confirmación para rechazar las confirmaciones cuando estas propiedades necesarias no estén establecidas.

Confirmar propiedades

Las propiedades de Subversion están versionadas. Después que cambie o añada una propiedad tiene que confirmar sus cambios.

Conflictos en las propiedades

Si hay un conflicto al confirmar los cambios, porque otro usuario ha cambiado la misma propiedad, Subversion genera un archivo .prej. Borre este archivo después que haya resuelto del conflicto.

Propiedades de proyecto TortoiseSVN

TortoiseSVN tiene unas pocas propiedades especiales para sí mismo, y estas empiezan con tsvn:.

  • tsvn:logminsize establece la longitud mínima de un mensaje de registro para una confirmación. Si introduce un mensaje más corto de lo especificado aquí, la confirmación se deshabilita. Esta característica es muy útil para que se acuerde de proporcionar un mensaje descriptivo apropiado para cada confirmación. Si esta propiedad no se establece, o el valor es cero, se permiten mensajes de registro vacíos.

    tsvn:lockmsgminsize establece la longitud mínima para un mensaje de bloqueo. Si introduce un mensaje más corto de lo especificado aquí, el bloqueo se deshabilita. Esta característica 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 vacíos.

  • tsvn:logwidthmarker se utiliza con proyectos que necesitan que los mensajes de registro se formateen con algún ancho máximo (típicamente, 80 caracteres) antes de un salto de línea. Al establecer esta propiedad a un valor distinto de cero ocurren dos cosas en el diálogo de entrada de mensajes de registro: pone un marcador para indicar el ancho máximo, y deshabilita el ajuste de línea en la pantalla, para que pueda ver si el texto que ha introducido es muy largo. Tenga en cuenta que esta característica sólo 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 múltiples líneas que se insertará en el cuadro del mensaje de confirmación cuando inice una confirmación. Puede editarlo para incluir la información necesaria. Tenga en cuenta que si estaba utilizando también tsvn:logminsize, debe asegurarse de establecer una longitud mayor que la de la plantilla o perderá el mecanismo de protección.

    También hay plantillas de acción específicas que puede utilizar en lugar de tsvn:logtemplate. Se utilizarán la plantillas de acción específica si se en los casos configurados, pero se utilizará tsvn:logtemplate si no hay plantilla de acción específica establecida.

    Los templates de acción posibles son:

    • tsvn:logtemplatecommit se utiliza para todas las confirmaciones de una copia de trabajo.

    • tsvn:logtemplatebranch se utiliza cuando se crea una rama/etiqueta, o al copiar archivos o carpetas directamente en el navegador de repositorios.

    • tsvn:logtemplateimport se utiliza para importaciones.

    • tsvn:logtemplatedelete se utiliza cuando se eliminan elementos directamente en el navegador de repositorios.

    • tsvn:logtemplatemove se utiliza cuando se renombran o mueven elementos en el navegador de repositorios.

    • tsvn:logtemplatemkdir se utiliza cuando se crean directorios en el navegador de repositorios.

    • tsvn:logtemplatepropset se utiliza al modificar propiedades en el navegador de repositorios.

    • tsvn:logtemplatelock se utiliza al obtener un bloqueo.

  • Subversion allows you to set autoprops which will be applied to newly added or imported files, based on the file extension. This depends on every client having set appropriate autoprops in their Subversion configuration file. tsvn:autoprops can be set on folders and these will be merged with the user's local autoprops when importing or adding files. The format is the same as for Subversion autoprops, e.g. *.sh = svn:eol-style=native;svn:executable sets two properties on files with the .sh extension.

    Si hay un conflicto entre las autoprops locales y tsvn:autoprops, la configuración del proyecto tiene preferencia ya que son específicas para ese proyecto.

  • En el diálogo de Confirmar tiene la opción de pegar la lista de archivos cambiados, incluyendo el estado de cada archivo (añadido, modificado, etc). tsvn:logfilelistenglish define si el estado del archivo se inserta en inglés o en el idioma traducido. Si la propiedad no se establece, el valor por defecto es true.

  • TortoiseSVN puede utilizar los módulos de corrector ortográfico que se utilizan también por OpenOffice y Mozilla. Si tiene éstos instalados, esta propiedad determinará qué corrector ortográfico utilizar, es decir, en qué lenguaje deberían estar escritos los mensajes de registro para su proyecto. tsvn:projectlanguage establece el módulo de idioma que el motor del corrector ortográfico debería utilizar cuando introduzca un mensaje de registro. Puede encontrar los valores para su idioma en esta página: MSDN: Language Identifiers.

    Puede introducir este valor en decimal, o en hexadecimal si se precede por 0x. Por ejemplo, Español (España, ordenación tradicional) puede introducirse como 0x040a or 1034.

  • La propiedad tsvn:logsummary se utiliza para extraer una porción del mensaje de registro que luego se muestra en el diálogo 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 línea 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.

  • La propiedad tsvn:logrevregex define una expresión regular que corresponde directamente a referencias hechas con respecto a revisiones en un mensaje de registro. Esta es utiizada en el diálogo de registro para convertir a tales referencias en ligas, las cuales al momento de ser seleccionadas haciendo clic sobre ellas, podrán llevarle directamente a dicha revisión (si la revisión se muestra en el diálogo de bitácora o si se encuentra disponible en el diálogo de registro) o bién, abrirá un nuevo diálogo de registro que le mostrará dicha revisión.

    La expresión regular debe de corresponder a la referencia íntegra, no tan solo a el número de revisión. El número de revisión se extrae de forma automática de la cadena de referencia correspondiente.

    Si esta propiedad no se ha establecido, se utilizará una expresion regular por defecto para ligar referencias a revisiones.

  • There are several properties available to configure client-side hook scripts. Each property is for one specific hook script type.

    The available properties/hook-scripts are

    • tsvn:startcommithook
    • tsvn:precommithook
    • tsvn:postcommithook
    • tsvn:startupdatehook
    • tsvn:preupdatehook
    • tsvn:postupdatehook

    The parameters are the same as if you would configure the hook scripts in the settings dialog. See “Scripts gancho del lado del cliente” for the details.

    Since not every user has his or her working copy checked out at the same location with the same name, you can configure a script/tool to execute that resides in your working copy by specifying the URL in the repository instead, using %REPOROOT% as the part of the URL to the repository root. For example, if your hook script is in your working copy under contrib/hook-scripts/client-side/checkyear.js, you would specify the path to the script as %REPOROOT%/trunk/contrib/hook-scripts/client-side/checkyear.js. This way even if you move your repository to another server you do not have to adjust the hook script properties.

    Instead of %REPOROOT% you can also specify %REPOROOT+%. The + is used to insert any number of folder paths necessary to find the script. This is useful if you want to specify your script so that if you create a branch the script is still found even though the url of the working copy is now different. Using the example above, you would specify the path to the script as %REPOROOT+%/contrib/hook-scripts/client-side/checkyear.js.

    The following screenshot shows how the script to check for current copyright years in source file headers is configured for TortoiseSVN.

    Figura 4.36. Property dialog for hook scripts

    Property dialog for hook scripts


  • Cuando quiera añadir 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 ortográficos 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 aparecerán en la lista de nombres de propiedades predefinidas.

    You can also specify whether a custom dialog is used to add/edit your property. TortoiseSVN offers four different dialog, depending on the type of your property.

    bool

    If your property can only have two states, e.g., true and false, then you can configure your property as a bool type.

    Figura 4.37. Property dialog boolean user types

    Property dialog boolean user types


    Specify your property like this:

    propertyname=bool;labeltext(YESVALUE;NOVALUE;Checkboxtext)

    the labeltext is the text shown in the dialog above the checkbox where you can explain the purpose and use of the property. The other parameters should be self explanatory.

    state

    If your property represents one of many possible states, e.g., yes, no, maybe, then you can configure your property as a state

    Figura 4.38. Property dialog state user types

    Property dialog state user types
    Property dialog state user types
    Property dialog state user types


    property like this:

    propertyname=state;labeltext(DEFVAL;VAL1;TEXT1;VAL2;TEXT2;VAL3;TEXT3;...)

    The parameters are the same as for the bool property, with DEFVAL being the default value to be used if the property isn't set yet or has a value that's not configured.

    For up to three different values, the dialog shows up to three radio buttons. If there are more values configured, it uses a combo box from where the user can select the required state.

    singleline

    For properties that consist of one line of text, use the singleline property type:

    Figura 4.39. Property dialog single-line user types

    Property dialog single-line user types


    propertyname=singleline;labeltext(regex)

    the regex specifies a regular expression which is used to validate (match) the text the user entered. If the text does not match the regex, then the user is shown an error and the property isn't set.

    multiline

    For properties that consist of multiple lines of text, use the multiline property type:

    Figura 4.40. Property dialog multi-line user types

    Property dialog multi-line user types


    propertyname=multiline;labeltext(regex)

    the regex specifies a regular expression which is used to validate (match) the text the user entered. Don't forget to include the newline (\n) character in the regex!

    The screenshots above were made with the following tsvn:userdirproperties:

    my:boolprop=bool;This is a bool type property. Either check or uncheck it.(true;false;my bool prop)
    my:stateprop1=state;This is a state property. Select one of the two states.(true;true;true value;false;false value)
    my:stateprop2=state;This is a state property. Select one of the three states.(maybe;true;answer is correct;false;answer is wrong;maybe;not answered)
    my:stateprop3=state;Specify the day to set this property.(1;1;Monday;2;Tuesday;3;Wednesday;4;Thursday;5;Friday;6;Saturday;7;Sunday)
    my:singlelineprop=singleline;enter a small comment(.*)
    my:multilineprop=multiline;copy and paste a full chapter here(.*)
    

TortoiseSVN puede integrarse con algunas herramientas de control de errores. Esto utiliza propiedades de proyecto que comienzan con bugtraq:. Para más información, lea “Integración con sistemas de control de errores / seguimiento de incidencias”.

También puede integrarse con algunos visores de repositorios basados en web, utilizando propiedades de proyecto que comienzan con webviewer:. Para más información, lea “Integración con visores de repositorios basados en web”.

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 archivo 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 raíz del árbol (por ejemplo, C:\). Si puede estar seguro de que cada usuario obtiene sólo desde por ejemplo trunk/ y no desde alguna subcarpeta, entonces es suficiente establecer las propiedades en trunk/. Si no puede estar seguro, debería establecer las propiedades recursivamente en cada subcarpeta. Una propiedad establecida en una carpeta más profunda dentro de la jerarquía del proyecto tiene preferencia sobre las propiedades establecidas en niveles más altos (más cerca de trunk/).

Excusivamente para las propiedades de proyecto , por ejemplo: tsvn:, bugtraq: and webviewer:, puede utilizar la casilla Recursivo para establecer la propiedad en todas las subcarpetas de la jerarquía, sin establecerla en todos los archivos.

Cuando añade nuevas subcarpetas a una copia de trabajo utilizando TortoiseSVN, cualquier propiedad de proyecto presente en la carpeta padre se añadirá también automáticamente a la nueva carpeta hija.

Limitaciones al Usar el Navegador de Repositorios

Obtener propiedades de forma remota es una operación lenta por lo que algunas características descritas antes no funcionarán en el navegador de repositorios de la misma forma como en la copia de trabajo.

  • Cuando añade una propiedad usando el navegador de repositorio, sólo las propiedades svn: estándar son elegibles en la lista predefinida. Cualquier otra propiedad debe ser añadida manualmente.

  • Las propiedades no pueden ser guardadas o borradas recursivamente usando en navegador de repositorio.

  • Las propiedades de proyecto no se propagarán automáticamente cuando un directorio hijo es añadido usando el navegador de repositorio.

  • tsvn:autoprops no establecerá propiedades en archivos que hayan sido añadidos usando el navegador de repositorio.

Atención

Aunque las propiedades de proyecto de TortoiseSVN son extremadamente útiles, sólo funcionan con TortoiseSVN, y algunas sólo funcionarán en las versiones más recientes de TortoiseSVN. Si la gente que trabaja en su proyecto utiliza un número de clientes de Subversion diferentes, o es posible que tengan versiones antiguas de TortoiseSVN, puede que quiera utilizar ganchos de repositorio para forzar políticas de proyectos. Las propiedades de proyecto sólo ayudan a implementar una política, no pueden forzarlas.

Editores de Propiedades

Algunas propiedades tienen que utilizar valores específicos, o tener el formato de una manera específica para poder ser utilizados en la automatización. Para ayudar a que el formato sea correcto, TortoiseSVN presenta cuadros de diálogo para editar algunas propiedades particulares que muestran los posibles valores o separa la propiedad en sus componentes individuales.

Contenido externo

Figura 4.41. svn:Página de propiedades de externos

svn:Página de propiedades de externos


La propiedad svn:externals se puede utilizar para traer otros proyectos del mismo repositorio o un repositorio completamente diferente como se describe en “Ítems externos” .

You need to define the name of the sub-folder that the external folder is checked out as, and the Subversion URL of the external item. You can check out an external at its HEAD revision, so when the external item changes in the repository, your working copy will receive those changes on update. However, if you want the external to reference a particular stable point then you can specify the specific revision to use. IN this case you may also want to specify the same revision as a peg revision. If the external item is renamed at some point in the future then Subversion will not be able to update this item in your working copy. By specifying a peg revision you tell Subversion to look for an item that had that name at the peg revision rather than at HEAD.

The button Find HEAD-Revision fetches the HEAD revision of every external URL and shows that HEAD revision in the rightmost column. After the HEAD revision is known, a simple right click on an external gives you the command to peg the selected externals to their explicit HEAD revision. In case the HEAD revision is not known yet, the right click command will fetch the HEAD revision first.

Palabras clace de SVN

Figura 4.42. svn: Página de propiedades de palabras clave

svn: Página de propiedades de palabras clave


Seleccione las palabras clave que desea que sean ampliadas en el archivo.

Estilo EOL

Figura 4.43. svn:Página de propiedades de estilo EOL

svn:Página de propiedades de estilo EOL


Seleccione el estilo de final de línea que desea utilizar y TortoiseSVN utilizará el valor correcto de la propiedad.

Integración con el gestor de incidencias

Figura 4.44. tsvn: Página de propiedades de bugtraq

tsvn: Página de propiedades de bugtraq


Tamaños de mensajes de registro

Figura 4.45. Tamaño de la página de propiedades del registro de mensajes

Tamaño de la página de propiedades del registro de mensajes


These 3 properties control the formatting of log messages. The first 2 disable the OK in the commit or lock dialogs until the message meets the minimum length. The border position shows a marker at the given column width as a guide for projects which have width limits on their log messages. Setting a value to zero will delete the property.

Idioma del proyecto

Figura 4.46. Página de propiedades de idioma.

Página de propiedades de idioma.


Choose the language to use for spell-checking log messages in the commit dialog. The file lists checkbox comes into effect when you right click in the log message pane and select Paste file list. By default the Subversion status will be shown in your local language. When this box is checked the status is always given in English, for projects which require English-only log messages.

tipo-MIME

Figura 4.47. svn:página de propiedades tipo-mime

svn:página de propiedades tipo-mime


svn:needs-lock

Figura 4.48. svn:página de propiedades necesita-bloquea

svn:página de propiedades necesita-bloquea


Esta propiedad simplemente controla si un archivo es de sólo lectura en el caso de que no haya un bloqueo mantenido por la copia de trabajo.

svn:ejecutable

Figura 4.49. svn:página de propiedades de ejecutables

svn:página de propiedades de ejecutables


Esta propiedad controla si un archivo se le dará el estado de ejecutable cuando se realice el check out en un sistema Unix / Linux. No tiene ningún efecto en una maquina Windows.

Merge log message templates

Whenever revisions are merged into a working copy, TortoiseSVN generates a log message from all the merged revisions. Those are then available from the Recent Messages button in the commit dialog.

Usted puede configurar el mensaje generado con las siguientes propiedades:

Figura 4.50. Property dialog merge log message templates

Property dialog merge log message templates


tsvn:mergelogtemplatetitle, tsvn:mergelogtemplatereversetitle

This property specifies the first part of the generated log message. The following keywords can be used:

{revisions}

A comma separated list of the merged revisions, e.g., 3, 5, 6, 7

{revisionsr}

Like {revisions}, but with each revision preceded with an r, e.g., r3, r5, r6, r7

{revrange}

A comma separated list of the merged revisions, grouped into ranges if possible, e.g., 3, 5-7

{mergeurl}

The source URL of the merge, i.e., where the revisions are merged from.

The default value for this string is Merged revision(s) {revrange} from {mergeurl}: with a newline at the end.

tsvn:mergelogtemplatemsg

This property specifies how the text for each merged revision should look like. The following keywords can be used:

{msg}

The log message of the merged revision, as it was entered.

{msgoneline}

Like {msg}, but all newlines are replaced with a space, so that the whole log message appears on one single line.

{author}

The author of the merged revision.

{rev}

The merged revision itself.

{bugids}

The bug IDs of the merged revision, if there are any.

Importante

This only works if the merged revisions are already in the log cache. If you have disabled the log cache or not shown the log first before the merge, the generated message won't contain any information about the merged revisions.