Pregunta

Tengo un archivo por lotes estoy corriendo de un Windows XP w / Service Pack 3 estación de trabajo que se aplica los cambios de SQL a una base de datos utilizando SQL sqlcmd.exe en 2005.

Tengo una entrada de línea de comandos para TortoiseSVN para actualizar automáticamente la copia local de mi repositorio de esta manera:

tortoiseproc /command:update /path:"C:/SVN/My Code/Dev/2009.07.23" /closeonend:3

De acuerdo con la documentación , / closeonend : 3. dejará el cuadro de diálogo TortoiseSVN abierta si los errores, conflictos o se fusiona producen durante la actualización

Si ocurre así, y el usuario cierra el diálogo sin resolver los problemas, que potencialmente podrían omitir los cambios que desee aplicar a la base de datos de prueba de una rama determinada.

Cuando el cuadro de diálogo TortoiseSVN se cierra en el caso de un error, el conflicto, o fusionar después de una actualización, será el ERRORLEVEL se establece en algunos distinto de cero valor, lo que permite me pasar por alto el resto del archivo por lotes? O va a volver felizmente 0 para indicar que lo hizo su trabajo con éxito, incluso si el código no está del todo bien?

¿Fue útil?

Solución 2

Acabé actualizar manualmente mi repositorio local SVN antes de realizar otras acciones en el archivo por lotes.

Otros consejos

Antiguo pregunta, pero me encontré con el mismo hoy y no hay una solución ...

TortoiseProc devuelve -1 en caso de error y 0 en caso de éxito, por lo que el siguiente resolvió el problema para mí:

TortoiseProc /path:"%targetdir%" /command:update /closeonend:3
IF %ERRORLEVEL% NEQ 0 goto SvnError

:SvnSuccess
echo It worked!
goto Done

:SvnError
echo It didn't work!

:Done
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top