2009-11-10 17 views
5

He creado un archivo exe que se imprimirá para consolar los argumentos primero y segundo que recibe.SVN post-commit hook no ejecuta el archivo

En el SVN post-commit hook escribí:

PATH_TO_FILE\print.exe "%1" "%2" 

cuando hago un registro de entrada, se queda atascado.

% 1 es el camino
% 2 es el número de revisión

EDITAR

La respuesta a mi pregunta es que el archivo ejecutable debe estar en el directorio "bin" de la SVN Server, no en la carpeta de ganchos del repositorio.

Gracias a todos, Oded.

+1

@Oded: agregó muchos detalles adicionales en los comentarios a las respuestas. Puede hacer la pregunta más clara y mejor editándola para agregar detalles. – JXG

Respuesta

0

¿De qué OS estamos hablando? Si es Windows, no creo que deba tener las comillas (") alrededor de los parámetros.

¿Qué es" PATH_TO_FILE "? ¿Y la variable de entorno? ¿Cuál es su valor? ¿Ha comprobado que no incluye una versión final? ¿Ha reiniciado después de cambiar la variable de entorno? ¿Es una variable de entorno de nivel de usuario o de todo el sistema. Recuerde que si está ejecutando el servidor SVN como un servicio, está bajo un usuario diferente para que el env var no esté definido para ese usuario .Por qué no acaba de poner la ruta completa directamente por ahora solo para probar que no tiene nada que ver con una variable de entorno incorrecta.

Usted dice "se atasca" ¿recibe un error? ¿Qué ocurre exactamente? Algunos más detalles de cómo falla podría ayudar.

Si esto es Windows que esté utilizando, puede redirigir cualquier error en un archivo al hacer esto:

PATH_TO_FILE\print.exe %1 %2 > c:\output.txt 

Es este un servidor SVN liso o está usando visualsvn servidor?

+0

Estoy usando el servidor VisualSVN. corriendo en el servidor de Windows. la RUTA del archivo exe es: D: \ print.exe. La ventana de confirmación no hace nada. No muestra un error ni nada. ni un mensaje completo ni uno de error. – Oded

+0

Suena casi como si la confirmación nunca se llevara a cabo, esa podría ser la causa de su problema. El enganche nunca se ejecuta si la confirmación nunca llega al repositorio –

+0

Sí, lo que Peter dice que es posible. Si quita el gancho, ¿funciona el compromiso? –

1

Print toma un nombre de archivo para poner en la impresora. Está suministrando un directorio que asumo de su descripción. Intenta escribir algo en un archivo.

echo "%1" "%2" > c:\temp\log.txt 
+0

Eventualmente querré ejecutar un script desde un archivo exe. Así que tengo que ejecutar el archivo. – Oded

+1

Sé que sí, pero trate de comenzar con el escenario más fácil posible. –

+0

Intenté lo que dijiste. Crea un archivo txt. Intenté algo como: echo "% 1" "% 2"> c: \ log.txt print.exe "% 1" "% 2" (enviando los 2 argumentos). y todavía se atasca. el compromiso no termina. la ventana de confirmación permanece abierta. – Oded

0

Debe ser el entorno de Windows desde que veo print.exe. Simplemente repito los argumentos como a continuación.

echo %1 %2 >&2 

Parece que esto se imprime en el símbolo del sistema sin problemas.