2011-09-07 14 views
5

Estoy usando la respuesta svn log --xml para ver los cambios para una revisión en particular. Pero en el caso de una revisión o ruta no válida, solo quiero obtener una respuesta XML vacía pero válida. ¿Es posible hacer eso?svn log --xml invalid xml

Así que en lugar de esto:

<?xml version="1.0"?> 
<log> 
svn: Unable to find repository location for 'http://subversion.ny.jpmorgan.com /svn/repos/IM_RPS_CORE/rps_deploy_tools_content_test/branches/rol-201106-content-test' in revision 1556 

que podría conseguir:

<?xml version="1.0"?> 
<log> 
</log> 

Gracias!

Respuesta

1

No se puede hacer.

Sin embargo, si comprueba el código de estado de salida de su comando svn log, puede resolver el problema usted mismo. Por ejemplo, en un script de shell Bash:

if ! svn log --xml $url > $xmlOutput 2> /dev/null 
then 
    cat > $xmlOutput <<EOF 
<?xml version="1.0"?> 
<log> 
</log> 
EOF 
fi 
1

Compruebe el código de error del comando y no intente analizar su resultado o generar un XML vacío en su lugar. Algo como esto:

#!/bin/bash 

FILE=svn_log.xml 
svn log --xml > "${FILE}" 2>/dev/null 
RET=$? 

if [ $RET -ne 0 ]; then 
(cat <<EOF 
<?xml version="1.0"?> 
<log> 
</log> 
EOF 
) > "${FILE}" 

fi 

cat "${FILE}"