two tortoise subversion create branches svn tortoisesvn visualsvn-server

tortoise - ¿Cambiar el mensaje de compromiso SVN retroactivamente?



tortoise merge (6)

Me gustaría volver a escribir una gran cantidad de mensajes de compromiso de SVN en una estructura diferente, por ejemplo, prefijar una categoría. De:

"foo" now accepts "bar" format for connection string.

yo quiero

core - database - "foo" now accepts "bar" format for connection string.

¿Hay una manera fácil de hacer esto que no incluya el volcado de todo el repositorio usando svndumpfilter ?

Estoy trabajando con TortoiseSVN en el extremo del cliente y VisualSVN en el extremo del servidor. (VisualSVN es un contenedor de svn clásico, con el que también puedo hablar a través de la línea de comandos).


Acabo de llegar a este post con el problema exacto, usando el SVN de Trenton para el cliente y VisualSVN en un servidor de Windows.

Si tiene un mensaje de error " Error en una solicitud DAV" , eche un vistazo a la respuesta de Andrew Aylett y vaya a editar "pre-revprop-change.tmpl" en su subdirectorio de enganches de repositorio.

Una vez hecho esto, al presionar "Editar mensaje de registro" en el menú contextual ¡finalmente debería funcionar!


Ciertamente puede cambiar los mensajes de registro retroactivamente, está cubierto en las preguntas frecuentes . No estoy seguro de cómo funciona la interfaz de línea de comando para VisualSVN, pero para svn vainilla el comando sería

svn propset -r N --revprop svn:log "new log message" URL

Si desea hacer esto para todas las revisiones sin volcar el repositorio y volver a cargar, puede escribir este comando para trabajar en una lista de todas las revisiones. Llevaría algo de tiempo hacerlo de esta forma, dependiendo del tamaño de su repositorio, pero en principio no hay ninguna razón por la que no pueda hacerlo, y no implica un vuelco y recarga.

Además, el SVN de vanilla tiene un comando svnlook que es una especie de herramienta administrativa que funciona directamente con los archivos del repositorio. Esa herramienta no comprende las URL (debe tener acceso al repositorio del nivel del sistema de archivos), pero es mucho más rápida. La sintaxis es un poco diferente, pero puede modificar las propiedades de la misma manera con esa herramienta.


Sí, los mensajes de compromiso se pueden cambiar. Se implementan como propiedades en las revisiones, de forma similar a las propiedades de archivo regulares.

En la ventana de registro de TortoiseSVN, puede hacer clic con el botón derecho en una confirmación y seleccionar "Editar mensaje de registro".


Sí, puedes, pero primero debes habilitarlo en el repositorio.

En el repositorio, en el directorio hooks, hay un archivo llamado pre-revprop-change.tmpl. Tiene un par de páginas de comentarios sobre lo que hace, y viene configurado para permitir solo cambios en las propiedades del registro. Para habilitarlo, cambie el nombre del archivo a pre-revprop-change y hágalo ejecutable (estoy asumiendo una subversión alojada en POSIX, si usa Windows para alojar, puede encontrar útil este mensaje ).

Una vez que el repositorio lo permita, puede usar Tortoise para cambiar el mensaje de registro para una confirmación desde el menú contextual en una confirmación, o puede usar la línea de comando.



svn propedit -r N --revprop svn:log URL

URL anterior es opcional si ya se encuentra en un directorio de trabajo. Aparecerá un editor para que se pueda cambiar el mensaje.