¿Cómo uso un enlace de inicio de confirmación en TortoiseSVN para configurar una entrada de registro personalizada?

StackOverflow https://stackoverflow.com/questions/59007

  •  09-06-2019
  •  | 
  •  

Pregunta

Me gustaría automatizar TortoiseSVN como parte de un proceso de confirmación.Específicamente, me gustaría crear dinámicamente una entrada de registro para el cuadro de diálogo de confirmación.

Sé que puedo iniciar el cuadro de diálogo de confirmación desde la línea de comandos o haciendo clic derecho en una carpeta y seleccionando svncommit.

Me gustaría utilizar el gancho de inicio de confirmación para configurar una entrada de registro.Pensé que esto funcionaba pasando un nombre de archivo de entrada en la variable MESSAGEFILE pero cuando agrego un script de enlace no puede ver esta variable (el enlace se inició correctamente después de hacer clic derecho y elegir svncommit).

Cuando intento usar la línea de comandos, uso el parámetro /logmsgfile pero parece no tener ningún efecto.

Estoy usando tortugasvn 1.5.3.

¿Fue útil?

Solución

Parece que fue mi propio malentendido de la API lo que causó un problema.

Solución:
1) Agregué un script de inicio de enlace de confirmación a TortoiseSVN usando la interfaz gráfica de usuario de ganchos en el área de configuración del menú contextual.

2) El guión recibe 3 datos:RUTA ARCHIVO DE MENSAJE CWD
Para más detalles ver: Manual
Estos se pasan como argumentos de línea de comando al script; por alguna razón pensé que estaban configurados como variables ambientales temporales.

Luego, mi secuencia de comandos simplemente abre el archivo especificado en el segundo argumento y agrega el texto personalizado.

Cuando aparece el cuadro de diálogo de confirmación, el texto personalizado está allí.

3) Lo mejor de todo es que tortoisesvn se inicia desde un script directamente en el cuadro de diálogo de confirmación:
p.ej.[ tortoiseproc /comando:commit /ruta:./cierrefinal:1 ]
Los ganchos todavía se llaman.

Otros consejos

Si solo necesita una plantilla estática, configure la propiedad tsvn:logtemplate.

Para la generación dinámica, el parámetro /logmsgfile funciona, pero parece necesitar la ruta completa.Un archivo por lotes similar al siguiente podría funcionar para usted.

GenerateLogMsg.exe > tmp.msg
"C:\Program Files\TortoiseSVN\bin\TortoiseProc.exe" /command:commit /path:. /logmsgfile:"C:\Documents and Settings\User\My Documents\Visual Studio Projects\Project\tmp.msg"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top