TortoiseSVN desde la línea de comandos y “ERRORLEVEL SI”?
-
19-09-2019 - |
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?
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