2010-02-25 10 views
15

No sé si este gancho está fuera de fábrica o si el mío está simplemente estropeado y solo necesito reemplazarlo pero cuando intento editar un comentario de registro en una confirmación me sale este mensaje de error:pre-revprop-change hook falló

Solicitud DAV fallida; es posible que el anzuelo de cambio de preprogramación del repositorio haya fallado o no exista
Ha fallado al menos un cambio en la propiedad; repositorio no se ha modificado la configuración
propiedad error ‘log’

estoy usando tortuga v1.6.7 pero he tenido este problema todo el tiempo desde que he instalado tortuga, simplemente nunca se vio en ella pero es muy molesto.

So I found this article.

Sin embargo, como no puedo entender cómo hacer las llamadas de línea de comando svn con Tortoise, simplemente entré en el repositorio y abrí la plantilla de preprogramación de cambios y a continuación se muestra lo que contiene.

REPOS="$1" 
REV="$2" 
USER="$3" 
PROPNAME="$4" 
ACTION="$5" 

if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi 

echo "Changing revision properties other than svn:log is prohibited" >&2 
exit 1 

Así que todavía está tratando de encontrar la manera de cambiar esto para que la tortuga (la subversión que es) me permite editar los comentarios. ¿Por qué desearía editar comentarios? Porque muchas veces me levanté y olvidé agregar más comentarios después de un compromiso después de darme cuenta de que echaba de menos x, y, z que debería haber estado en los comentarios después del hecho. Le sucede a cualquiera. Si bien es un riesgo de seguridad el permitir que los desarrolladores hagan esto, hacemos una copia de seguridad de nuestro repositorio cada 2 horas, de modo que si alguien los revisa y los elimina, bueno, estoy dispuesto a correr ese riesgo ya que tenemos esta copia de seguridad. Ese riesgo no debe eclipsar la capacidad de corregir comentarios a voluntad.

+0

[¿qué es un gancho pre-revprop cambio en SVN y cómo puedo crearlo?] (Http://stackoverflow.com/questions/197224/what-is-a-pre- revprop-change-hook-in-svn-and-how-do-i-create-it) –

Respuesta

24

si su repositorio está en una máquina Windows, basta con crear un archivo llamado pre-revprop-change.bat y agregue la línea

exit 0 

en ella.

+1

Interesante, no soy un gurú de línea de comando. ¿Qué está haciendo eso, ignorando completamente la plantilla? – PositiveGuy

+0

quizás también me ayudes con un .bat que fuerza el ingreso de x chars en los comentarios que hacen mis desarrolladores. – PositiveGuy

+1

Esta es una solución ligeramente turbia: el OP buscaba principalmente cambiar comentarios, no cambiar autores, eliminar comentarios, etc. etc. – Tao

24

Solo un poco de seguimiento a Stefan's excellent answer para aquellos que usan VisualSVN Server.

Puede seguir estos pasos:

1.) Comience su consola de administración del servidor de VisualSVN.

2.) Haga clic derecho en su repositorio de elección y seleccionar "Propiedades":

enter image description here

3.) Seleccione el "pre-revisión de cambio de propiedad gancho" y haga clic en el botón Editar :

enter image description here

4.) Ingrese su guión, el más pequeño posible sería la exit 0 que Stefan sugiere:

enter image description here

5.) Cierre todos los cuadros de diálogo con OK y después que haya terminado.

La próxima vez que cambie el mensaje de registro debería tener éxito.

2

Si está utilizando un servicio de alojamiento svn en línea como assembla, entonces use las instrucciones dadas por Uwe Keim para guiarlo. Solo necesita encontrar la configuración de su svn en algún lugar del sitio web de hosts svn.

Para ensamblar> vaya a su proyecto> pestaña svn> configuraciones> ganchos del lado del servidor en el menú de la izquierda> revise "Ganchos de cambio previo disponibles"> haga clic en el botón instalar> haga clic en la pestaña svn para volver a tu proyecto

+1

¡Funciona como un encanto! :-) –

0

Crea un archivo bat usando solo "exit 0". Elimina todas las otras líneas rem en línea. Guárdelo en la carpeta Path \ Repositories \ hooks como "pre-revprop-change.bat" e intente volver a ejecutarlo.

salida 0