Tout part de ce message d'erreur renvoyé par Jenkins (pour bien le comprendre, il faut imaginer que le job Jenkins a créé le tag juste avant, ou presque).

Cleaning up /Jenkins/workspace/ReleaserStep2free/.

Switching to http://subversion/repository/projet/projet-java/tags/1.3/1.3.13 at revision '2014-02-11T15:01:03.996 +0100'

ERROR: Failed to update http://subversion/repository/projet/projet-java/tags/1.3/1.3.13

org.tmatesoft.svn.core.SVNException: svn: E160005: Target path '/projet-java/tags/1.3/1.3.13' does not exist

svn: E175002: REPORT of '/repository/projet/!svn/vcc/default': 500 Internal Server Error (http://subversion)

 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64)

 at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51)

 at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.runReport(DAVRepository.java:1293)

 at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.update(DAVRepository.java:833)

 at org.tmatesoft.svn.core.internal.wc16.SVNUpdateClient16.doSwitchImpl(SVNUpdateClient16.java:433)

 at org.tmatesoft.svn.core.internal.wc16.SVNUpdateClient16.doSwitch(SVNUpdateClient16.java:726)

Caused by: svn: E160005: Target path '/projet-java/tags/1.3/1.3.13' does not exist

 at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)

 at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:154)

 at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:97)

 at org.tmatesoft.svn.core.internal.io.dav.handlers.DAVErrorHandler.endElement(DAVErrorHandler.java:72)

 at org.tmatesoft.svn.core.internal.io.dav.handlers.BasicDAVHandler.endElement(BasicDAVHandler.java:103)

 at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)

 ... 24 more

Caused by: svn: E175002: REPORT of '/repository/projet/!svn/vcc/default': 500 Internal Server Error (http://subversion)

 at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208)

 ... 32 more

ERROR: Subversion update failed

(et encore, j'ai viré des tonnes de lignes).

Donc, je vais voir sur le serveur, et je tombe sur des lignes comme ça à la pelle

[Tue Feb 11 15:12:01 2014] [error] [client 172.27.63.62] A failure occurred while driving the update report editor [500, #160005]

[Tue Feb 11 15:12:01 2014] [error] [client 172.27.63.62] Target path '/projet-java/tags/1.3/1.3.13' does not exist [500, #160005]

Et là, Google ne m'aide pas trop.

Donc je fouille, je fouille, et je tombe sur cette présentation faite lors d'une quelconque conférence Subversion

Subversion error messages demystified

Qui contient en particulier ce slide, que je n'hésite pas à copier-coller ici

www.elegosoft.com_files_Downloads_Subversion_Day_2011_svn-day-berlin-2011_sperli_2014-02-11_17-07-57

Je cite la partie intéressante

Generic server-side error message during updates (could be anything)

Autrement dit, ça sert à rien, mais on l'affiche quand même.

Du coup, je continue à chercher après mon erreur 160005. Au moins, maintenant, je sais que c'est un code d'erreur important.

Bon, ne reculant devant rien, je jette vite fait un coup d'oeil aux codes d'erreurs de Subversion (dans svnerrorcodes.h) qui m'envoie tout droit aux codes d'erreurs Apache (à cause de #include <apr_errno.h>)

Et là, un peu d'arithmétique : les codes d'erreur Subversion sont construits à partir de APR_OS_START_USERERR  (qui vaut d'après Apache et d'après mes calculs... 120000 ?)

Comme SVN_ERR_CATEGORY_SIZE vaut 5000, je dois être dans la ... (160000-120000)/5000=8 ème catégorie d'erreur qui est donc SVN_ERR_FS_CATEGORY_START. Et mon erreur y est la 5ème, c'est-à-dire

00483   SVN_ERRDEF(SVN_ERR_FS_PATH_SYNTAX,

00484              SVN_ERR_FS_CATEGORY_START + 5,

00485              "Invalid filesystem path syntax")

Pardon ?

Mmh ... Là, il est vraiment temps de demander aux développeurs de Subversion quelques détails pratiques.